一、判断题
共10题,每题1分,共10分。正确的请选择A,错误的请选择B。
1、 在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。A A、正确 B、错误 解答:A
2、 在程序中 else 子句可以单独使用。 B A、正确 B、错误 解答:B
3、 C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( A、正确 B、错误 解答:A
4、 _ya是不合法的C语言标识符。B A、正确 B、错误 解答:B
5、 在数组初始化时,如果初值个数多于数组长度,将出现错误。 A A、正确 B、错误 解答:A
6、 C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。 B A、正确 B、错误 解答:B
7、 若有定义 int *p, 则表达式 p++ 的值就是 p 所指向的变量的地址值加1。 B A、正确 B、错误 解答:B
8、 '\\n'不是一个字符常量。B A、正确 B、错误 解答:B
9、 表达式 (z=0, (x=2)||(z=1),z) 的值是1。B A、正确 B、错误 解答:B
10、 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。 A、正确 B、错误
) A 解答:A
二、单选题
请从给定的选项中选择一个唯一正确的选项。每小题2分,共10题,20分。
1、 C下面有关变量的命名,不合法的是:( ) A. _int B. __intint C. __int&int D. ___intintint C
解答:C
2、 有变量定义int a;float c;下面输入语句有语法错误的是( )。 A. scanf(\"%d,%f\B. scanf(\"x=%d, c=%f\C. scanf(\"%d%f\D. scanf(\"%f %d\D
解答:D
3、 下面关于函数参数使用的说法,不正确的是:( ) A. 函数调用时实参按顺序传递到形参; B. 函数调用时实参把值传递给形参;
C. 函数的实参和形参个数可以不一致,但使用时应尽量一致; D. 函数的实参和形参可以同名; C
解答:C
4、 已知 int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( A. 0 B. 1 C. 2 D. 无限次 B
解答:B
5、 下面定义的max函数返回值的数据类型是( ) max(float a,float b) {
return(a>b?a :b) ; } A. int B. float
)。 C. double D. 不确定 A
解答:A (此题似乎有争议)
此题应该没有争议,因为max()的函数头决定了max()的返回值必定是int, return 后面的表达式必须转化成int。----BlackWhite注
6、 已知int a = 10 , x = 0 ; x = ~a;则x的值为( )。 A. -1 B. 0 C. -11 D. 负无穷大 C
解答:C
7、 表达式(float)10/2的值的数据类型是( )。 A. int B. long C. float D. double C
解答:D 这题才有争议,这个题明显出得不好。
因为按C99标准,该表达式的类型为float,而按C89标准,则表达式的 类型为double。证明方法如下:
在TC中输出sizeof((float)10/2)可以得8,
而在VC中输出sizeof((float)10/2)则得4。。----BlackWhite注
8、 表达式 !(x>0||y>0) 等价于_____。 A. !x>0||!y>0 B. !(x>0)||!(y>0) C. !x>0&&!y>0 D. !(x>0)&&!(y>0) D
解答:D
9、 不正确的赋值或赋初值的方式是______。 A. char str[ ]=\"string\"; B. char str[10]; str=\"string\"; C. char *p=\"string\"; D. char *p; p=\"string\"; C
解答:B
10、 声明语句为“int a[3][4];”,下列表达式中与数组元素a[2][1]等价的是______。 A. *(a[2]+1) B. a[9] C. *(a[1]+2)
D. *(*(a+2))+1 color[k][j]等价于*(color[k]+j)也可以写成*(*(color+k)+j) A
解答:A
三、填空题。
在解答的文本框中填写正确的答案。共10小题,每小题2分,共20分。