C语言综合测试题
本资源摘要信息涵盖了C语言的多个方面,包括变量、运算符、控制结构、函数、数组、字符串、指针等。下面是对每个问题的详细解释:
1. C语句必须以分号结束,但是任何一个C程序中可以有多个主函数。复合语句在语法上可以被视作一条语句。C程序中对数据的任何操作都可以由运算符实现。
2. 用户标识符不能以数字开头,也不能是C语言的保留字。因此,MAIN是可以定义的用户标识符,_HJ也是可以的,但是2ong不能定义为用户标识符。
3. 一维数组的定义可以是 int a[5]={0,1,2,3,4},也可以是 char a[ ]= ”012345”。
4. while循环的执行结果是输出三次星号,因为x的初始值为9,每次循环x减1,直到x小于7时循环结束。
5. strcpy函数将str2的内容复制到str1中,strlen函数返回str1的长度,因此输出结果是3。
6. 数组名作为函数调用的实参时,传递给形参的是数组的首地址。
7. 在C程序中,如果未在函数定义时说明函数类型,则函数默认的类型为int。
8. char *s;s="ABCDEF"是正确的字符串赋值操作,而char s[5]; s="ABCD"是错误的。
9. 指针p指向数组s的首元素,p+=2使指针p指向数组s的第三个元素,因此*(p+=2)的值为7。
10. 函数fun的返回值是x*y-m,main函数中的m值是13,因此输出结果是1。
11. 用户定义标识符中,tot和alu_1是合法的标识符,但if和max是C语言的保留字,因此是不合法的标识符。
12. 该程序的输出结果是0,因为c>b>a的结果是0。
13. C语言中,main函数不一定必须位于文件的开头。C语言可以在一行中写多条语句。C语言有输入、输出语句。
14. scanf语句中,能正确为变量a读入数据的是scanf("%d", &a)。
15. c3的值是0.5,因为c3=1.0/c2*c1。
16. 能正确表示逻辑关系:“a≥=10 或 a≤0”的 C 语言表达式是a>=10 || a<=0。
17. 输入格式是“%d,%d,%d %d”,因此正确的输入是1,2,3,4。
18. while循环的条件语句是k=1,而不是k==1,因此while循环将无限次执行。
19. 程序的输出结果是5,因为d=a>b?(a>c?a:c):b的结果是5。
20. 对数组a的初始化中,a[5]是错误的,因为数组的下标从0开始。