【C语言程序设计知识点】
1. 变量声明与初始化:在C语言中,使用变量前需要先声明,然后才能使用。声明变量是告诉编译器变量的类型和名称,而初始化则是给变量赋初值。
2. 函数返回值:函数的返回值通过`return`语句获取。如果函数没有`return`语句或者`return`语句没有返回值,那么函数默认返回`void`。
3. 逻辑运算符:`||`是逻辑或运算符,`&&`是逻辑与运算符。表达式`3||4`的结果是1(因为任何非零值在布尔上下文中都被视为真,3是非零值),`!3&&4`的结果是0(因为3经过逻辑非运算后为假,假&&4为假)。
4. 文件操作:`feof(fp)`函数用于检测文件是否到达末尾。如果文件已经结束,它的值为非零(通常为1),否则为0。
5. 自增运算符:`++`是自增运算符,它会增加变量的值。表达式`x=4; y=(++x)+(++x);`执行后,`y`的值是10,`x`的值是6。
6. 字符串存储:`char A[]={"I am a student"};`声明了一个字符数组,它包含了字符串"I am a student"和一个额外的终止符'\0',因此占用的长度是13。
7. 程序结构:程序的三种基本结构是顺序结构、分支结构(条件控制,如`if...else`)和循环结构(如`for`,`while`,`do...while`)。
8. 指针操作:`(*p)[2]`表示p是一个指向整型数组的指针,`*(p+2)`访问数组的第三个元素,`(*(*(p+2)+1))`访问第三个元素的下一个元素,即数组的第四个元素。
9. 递归函数:给出的`pri`函数是一个递归函数,它会打印大于0的数,每次递减2。当输入5时,会打印3和1。
10. C语言程序执行:C程序总是从`main()`函数开始执行,选项C正确。
11. 条件语句:在给定的程序中,`if(x=y+z)`中的`x=y+z`不会执行,因为`y`和`z`未初始化,因此输出`####`。
12. 循环与输出:`for`循环中的条件`x>8`在第一次迭代后变为`false`,但由于`y`在每次迭代中都会递增,`x--`会使`x`递减,所以输出`10 10`。
13. 函数特性:C语言函数可以有多个定义,但只能有一个入口点,即`main()`函数。函数可以递归调用,也可以无返回值(返回类型为`void`)。选项A正确。
14. `while`循环次数:`while`循环的条件是`i<10`,在每次迭代中,`i`都会递增,直到`i`等于5时跳出循环,因此循环次数为6。
15. `return`语句:被调用函数可以没有`return`语句,但如果有返回值,就必须有一个`return`语句来返回。选项C错误。
16. 数组声明:选项A和B是正确的数组声明,C使用了宏定义,也是正确的,但D的声明是不正确的,因为它缺少了方括号内的尺寸。
17. 函数返回值类型:`sub`函数返回的是形参`t`的类型,即`int *`,也就是指向整型变量的指针。
18. 指针数组:`int *pa[5]`是一个包含5个元素的指针数组,每个元素都是一个指向整型变量的指针。
这些知识点涵盖了C语言的基础概念,包括变量声明、函数使用、逻辑运算、文件操作、数组和指针以及控制流程等重要概念。理解和掌握这些知识点是学习C语言的基础。