1. 一个完整的可运行的C源程序中( B )。
A.可以有一个或多个主函数 B.必须有且仅有一个主函数
C.可以没有主函数 D.必须有主函数和其他函数.
2. 构成C语言源程序的基本单位是( )。D
A.子程序 B.过程 C.文本 D.函数
3. 某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序( )。D
A.总是从max( )函数开始执行 B.写在前面的函数先开始执行
C.写在后面的函数先开始执行 D.总是从main( )函数开始执行
4. C语言源程序文件的后缀是( C ),经过Compile后,生成文件的后缀是( A ),经过Build后,生成文件的后缀是( B )。
A..obj B..exe C..c D..doc
5. C语言中运算对象必须是整型的运算符是( A )。
A.% B./ C.= D.〈=
6. 若已定义x和y为int类型,则执行了语句x=1;y=x+3/2;后y的值是( B )。
A.1 B.2 C.2.0 D.2.5
7. 若有以下程序段:
int a=1,b=2,c;
c=1.0/b*a;
则执行后,c中的值是( A )。
A.0 B.0.5 C.1 D.2
8. 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是( D )。
A.a>=10 or a<=0 B.a>=0|a<=10
C.a>=10 && a<=0 D.a>=10‖a<=0
9. 设x=3,y=4,z=5,则表达式((x+y)>z)&&(y==z)&&x||y+z&&y+z的值为( B )。
A.0 B.1 C.2 D.3
10. 如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为( A )。
A.1 B.2 C.3 D.4
11. C语言中,逻辑“真”等价于( C )。
A.整数1 B.整数0 C.非0数 D.TRUE
12. C语言中while与do-while语句的主要区别是( A )。
A.do-while的循环体至少无条件执行一次
B.do-while允许从外部跳到循环体内
C.while的循环体至少无条件执行一次
D.while的循环控制条件比do-while的严格
13. 语句while (!a);中条件等价于( D )。
A.a!=0 B.~a C.a==1 D.a==0
14. 为了避免嵌套的if-else语句的二义性,C语言规定else总是( C )。
A.与缩排位置相同的if组成配对关系
B.与在其之前未配对的if组成配对关系
C.与在其之前未配对的最近的if组成配对关系
D.与同一行上的if组成配对关系
15. 对于for (表达式1; ;表达式3)可理解为( B )。
A.for (表达式1; 0 ;表达式3)
B.for (表达式1; 1 ;表达式3)
C.for (表达式1;表达式1;表达式3)
D.for (表达式1;表达式3;表达式3)
16. for(i=1;i<9;i+=1);该循环共执行了 B 次。
A. 7 B. 8 C. 9 D. 10
17. int a=2;while(a=0) a--;该循环共执行了 A 次。
A. 0 B. 1 C. 2 D. 3
18. 执行完循环 for(i=1;i<100;i++);后,i 的值为 B 。
A. 99 B. 100 C. 101 D. 102
19. 函数swap(int x, int y)可实现对xbasic语言if语句和y值的交换。在执行如下定义及调用语句后,a和b的值分别为( B )。
int a=10, b=20;
swap (a,b );
A.10和10 B.10和20 C.20和10 D.20和20
20. 下面错误的叙述是( D )。
A.在某源程序不同函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在函数内的复合语句中定义的变量在本函数范围内有效
21. 若定义a[ ][3]={0,1,2,3,4,5,6,7}; ,则a数组中行的大小是( B )。
A.2 B.3 C.4 D.无确定值
22. 若执行以下程序段,其运行结果是( D )。
char c[ ]={'a', 'b', '\0', 'c', '\0'};
printf ( "%s\n", c );
A.ab c B.'a''b' C.abc D.ab
23. 在定义int a[5][4];之后;对a的引用正确的是( C )。
A.a[2][4] B.a[5][0] C.a[0][0] D.a[0,0]
24. 当接受用户输入的含空格的字符串时,应使用函数( B )。
A.scanf( ) B.gets( ) C.getchar( ) D.getc( )
25. 被调函数通过 D 语句,将值返回给主调函数。
A. if B. for C. while D. return
26. 设先有定义:
int a=10;
则表达式a+=a *=a的值为( D 自右向左进行运算 )。
A.10 B.100 C.1000 D.200
27. 设先有定义:
int a=10;
则表达式(++a)+(a --)的值为( C )。
A.20 B.21 C.22 D.19
28. 有如下程序:
#include <stdio.h>
main( )
{
int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
运行该程序的输出结果是( D )。
A.3 4 B.4 2 C.4 3 D.3 3
29. 假定x、y、z、m均为int型变量,有如下程序段:
x=2; y=3; z=1;
m=(y<x)?y: x;
m=(z<y)?m:y;
则该程序运行后,m的值是( C )。
A.4 B.3 C.2 D.1
30. 以下选项中合法的字符常量是( B )。
A."B" B.'\010' C.68 D.D
A中界限符不对,用双引号括起来的是字符串。C和D不是由单引号括起来的字符常量,只有B,是一个转义字符。因此,正确答案为B。
31. 如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为( A )。
A.1 B.2 C.3 D.4
32. 设int m=1,n=2; 则m++==n的结果是( B )。
A.0 B.1 C.2 D.3
33. 设ch是 char型变量,其值为 'A',则下面表达式的值是 ( B ) 。
ch=(ch>='A'&& ch<='Z')? (ch+32):ch
A. A B. a C. Z D. Z
34. 字符串的结束标志是 ( C ) 。
A. 0 B. '0' C. '\0' D. "0"
35. int b=0,x=1;执行语句 if(x++) b=x+1; 后,x,b 的值依次为 A 。
A. 2,3 B. 2,0 C. 3,0 D. 3,2
36. 设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是 B 。
A. 3 B. 0 C. 9 D. -12
37. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为 B 。
A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算
C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算
38. 逻辑运算符中,运算优先级按从高到低依次为 D 。
A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,||
39. 在以下一组运算符中,优先级最低的运算符是 D 。
A. * B. != C. + D. =
40. 以下用户标识符中,合法的是 B 。
A. int B. nit C. 123 D. a+b
41. printf("%c,%d",'a', 'a');的输出结果是 A 。
A. a,97 B. a 97 C. 97,a D. 97 a
42. a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的 B 。
A. scanf("%d,%c",&a,&c); B. scanf("%d%c",a,c);
C. scanf("%d%c",&a,&c); D. scanf("d=%d,c=%c",&a,&c);
43. int a[4]={5,3,8,9};其中 a[3]的值为( D )。
A. 5 B. 3 C. 8 D. 9
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论