1、 以下叙述正确的是_____。
A. 在C程序中.main函数必须位于程序的最前面
B. C程序的每行中只能写一条语句
C. C语言本身没有输入输出语句
D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
2、 C语言基本类型包括________。
A.整型、实型、逻辑型
B.整型、实型、字符型、逻辑型
C.整型、字符型、逻辑型
D.整型、实型、字符型
3、 C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个字符_____。
A.必须为字母 B.必须为下划线
C.必须为字母或下划线 D.可以是字母、数字、下划线中任意一种字符
4、 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是________。
A.1 B.2 C.2.0 D.2.5
5、 下面不正确的字符常量是________。
A."c" B.‘\‘‘ C.‘W‘ D.‘ ‘
6、 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
printf函数的作用是向终端s=a;
for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句是________。
A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c;
7、 以下正确的描述是_____。
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时,只能使用goto语句
8、 下面有关for循环的正确描述是_____。
A. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
B.for循环是先执行循环体语句,后判断表达式2
C.在for循环中,不能用break语句跳出循环体
D. for循环只能用于循环次数已经确定的情况
9、 以下能正确定义二维数组的是________。
A. int a[][3] B. int a[2][3]={{1},{2},{3,4}};
C. int a[][3]={}; D. int a[][3]= {2*3};
10、 定义如下变题和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是________。
for(i=0;i<3;i++) printf("%d",x[i][2-i]);
A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
11、 以下关于宏替换的叙述不正确的是________。
A.宏替换只是字符替换 B.宏名无类型
C.宏替换不占用运行时间 D.宏替换不占用编译时间
12、 若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是________。
A.*p B.a[10] C.*a D.a[p-a]
13、 设x,y均为float型变量,则以下不合法的赋值语句是________。
A、++x; B、y=(x%2)/10; C、x*=y+8; D、x=y=0;
14、 按C语言规定,以下不正确的说法是________。
A.实参可以是常量、变量或表达式
B.形参可以是常量、变量或表达式
C.实参可以是任意类型
D.形参应与其对应的实参类型一致
15、 已知int x=5,y=10,z=1; 执行以下语句后x、y、z的值是_______。
if(x>y)
z=x; x=y; y=z;
A. x=5, y=10, z=1 B. x=10, y=1, z=5
C. x=10, y=1, z=1 D. x=10, y=1, z=10
16、 若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y;z的值是_________。
A. 4 B. 3 C. 2 D. 1
17、 若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A.(c>= ‘a‘)&&(c<= ‘z‘)
B.(c>= ‘a‘)||(c<= ‘z‘)
C.(‘a‘<=c)and (‘z‘>=c)
D.‘a‘<=c<= ‘z‘
18、 有以下程序段
int n=0,p;
do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);
此处do—while循环的结束条件是_________。
A. P的值不等于12345并且n的值小于3
B. P的值等于12345并且n的值大于等于3
C. P的值不等于12345或者n的值小于3
D. P的值等于12345或者n的值大于等于3
19、 t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ …… }
则以下叙述中正确的是_________。
A. 循环控制表达式的值为0
B. 循环控制表达式的值为1
C. 循环控制表达式不合法
D. 以上说法都不对
20、 以下叙述正确的是_________。
A. do-while语句构成的循环不能用其它语句构成的循环来代替。
B. do-while语句构成的循环只能用break语句退出。
C. 用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。
21、 在C语言中,引用数组元素时,其数组下标的数据类型允许是____。
A.整型常量 B.整型表达式
C.整型常量或整型表达式 D.任何类型的表达式
22、 若有以下说明和语句,则输出结果是_________。
char sp[]="\t\v\\\0will\n";
printf("%d",strlen(sp)); (单选题)
A. 1 B. 3 C. 9 D.字符串中有非法字符
23、 假设指针p已经指向某个整型变量x,则*p相当于_________。
A. &x B. &p C. x D. *x
24、 switch语句能够改写为_________语句。
A. for B. do C. if D. while
25、 C语言中函数返回值的类型是由_________决定的。
A. return语句中表达式的类型 B.该函数定义时的类型
C.调用函数时的调用语句 D.系统根据结果
26、 程序中主函数的名字为_________。
A. main B. MAIN C. Main D. 任意标识符
27、 预处理命令在程序中都是以_________符号开头的。
A. * B. # C. & D. @
28、 假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为_________。
A. x=pa[3]; B. x=*(a+3); C. x=a[3]; D. x=*pa+3;
29、 凡在函数中未指明存储类别的变量,其隐含的存储类别为________。
A.auto 型 B.static 型 C.extern 型 D.register 型
30、 以下正确的说法是 _____。如果在一个函数中的复合语句中定义了一个变量,则该变量
A.只在该复合语句中有效 B.在该函数中有效
C.在本程序范围内均有效 D.为非法变量
31、 在语言中,下面运算符要求运算数必须是整型的是:
A)% B)* C)> D)!
32、 下面不正确的字符串常量是________。
A) ‘abc‘ B)"12\‘12" C)"0" D)" "
33、 正确的标识符是________。
A)?a B) a=2 C) a.3 D) a_3
34、 以下程序段的输出结果是________。
int a=1234;
printf("%2d\n",a);
A) 12 B) 34 C) 1 234 D) 提示出错、无结果
35、 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是___________。
if(x>y) z=x; x=y;y=z;
A)x=10,y=20,z=30
B)x=20,y=30,z=30
C)x=20,y=30,z=10
D)x=20,y=30,z=20
36、 表达式-1<=3<=-5值是______。
A) 0 B) 1 C) 3 D) 表达式语法有错
37、 已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=1.42;
则以下不符合C语言语法的表达式是________。
A) x%(-3) B) w+=-2 C) k=(a=2,b=3,a+b) D) a+=a-=(b=5)*(a=3)
38、 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是_____。
A)7 B)8 C)6 D)2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论