C试卷复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言复习题
一、单项选择题
1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A.”.c”
B.“.obj”
C.“.exe”
D.“.bas”
2、以下选项中不正确的整型常量是( C )。
A. 12L
B. -10
C. 1,900
D. 123U
3、表达式( C )的值是0。
A.3%5
B.3/5.0
C.3/5
D.3<5
4、表达式 !(x>0||y>0) 等价于( D )。
A.!x>0||!y>0
B.!(x>0)||!(y>0)
C.!x>0&&!y>0
D.!(x>0)&&!(y>0)
5、若变量已正确定义并赋值,表达式( D )不符合C语言语法。
A.4&&3
B.+a
C.a=b=5
D.int(3.14)
6、下列格式符中,可以用于以16进制形式输出整数的是( D )
A. %d
B. %o
C. %ld
D. %x
7、若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,( B )_是正确的输入。
A.2030,40
B.20 30 40
C.20, 30 40
D.20, 30,40
8、设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有( B )个元素。
A.12
B.13
C.14
D.15
9、设变量定义为“int b[2]={1,3}, *p=&b[0]+1;”,则*p的值是( B )。
A.2
B.3
C.4
D.&b[0]+1
10、设int x=1, y=1; 表达式(!x||y--)的值是( C )
A.-1
B.0
C.1
D.2
11、下面能正确进行字符串赋值操作的语句是(A.
A. char s[]={“ABCDE“};
B. char s[5]={'a','b','c','d’,'e',’\0’};
C. char *s;s=“ABCDEF“;
D. char *s;scanf(“%s“,s);
12、若变量已正确定义并赋值,表达式 -k++ 等价于( A )。
A.-(k++)
B.(-k)++
C.-(k+1)
D.-(++k)
13、在C 语言程序中,在函数内部定义的变量称为( D )。
A.全局变量
B.全程变量
C.外部变量
D.内部变量
14、下面运算符优先级最低的是(B)
A. <=
B. =
C. %
D. &&
15、执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( A)
A. 22,13
B. 12,10
C. 22,10
D. 12,13
16、若x是整型变量,表达式 (x=10.0/4.0) 的值是( D ) 。
A.2.5
B. 2.0
C. 3
D.2
17、以下能正确定义二维数组的是( D )
A. int b[][3];
B. int b[][3]=2{2*3};
C. int b[][3]={};
D. int b[3][2]={{1},{2},{3,4}};
18、下列运算符中,优先级从高到低依次为( D )。
A.&&,!,||
B.||,&&,!
C.&&,||,!
D. !,&&,||
19、以下选项中,非法的字符常量是(C)
A. ‘\t’
B. ‘\17’ C)“n” D. ‘\xaa’
20、下列条件语句中,功能与其他语句不同的是(D)
A. if(a) printf("%d\n",x); else printf("%d\n",y);
B. if(a==0) printf("%d\n",y); else printf("%d\n",x);
C. if(a!=0) printf("%d\n",x); else printf("%d\n",y);
D. if(a==0) printf("%d\n",x); else printf("%d\n",y);
21、以下程序的输出结果是(C)
main()
{ int i, b[10];
for(i=9;i>=0;i--) b[i]=10-i;
printf(“%d%d%d”,b[2],b[5],b[8]);
}
A. 258
B. 741
C. 852
D. 369
22、以下程序的输出结果是(B)
main()
{ char st[20]= “hello\0\t\\”;
printf(%d %d \n”,strlen(st),sizeof(st));
}
A. 9 9
B. 5 20
C. 13 20
D. 20 20
23、以下程序的输出结果是(D)
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf(“%d\n”,A.;
}
A. 101
B. 6
C. 5
D. 4
24、以下程序段的输出结果是 (A.
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A. 9
B. 12
C. 13
D. 14
25、若变量c为char类型,则能正确判断出c为小写字母的表达式是( D )。
A. 'a'<=c<= 'z'
B. (c>= 'a')||(c<= 'z')
C. ('a'<=C.and ('z'>=C.
D. (c>= 'a')&&(c<= 'z')
26、_( D )是合法的用户自定义标识符。
A. b-b
B.float
C.123a
D. _isw
27、若变量已正确定义并赋值,表达式( B )_不符合C语言语法。
A.a*b/c;
B.3.14%2
C.2, b
D.a/b/c
28、___C__是不正确的字符常量。
A.'n'
B.'1'
C."a"
D.'101'
29、在 C 程序中,用( B )表示逻辑值“真”。
A.1
B.非 0 的数
C.非 1 的数
D. 大于 0 的数
30、( C )把x、y定义成float类型变量,并赋同一初值3.14。
A.float x, y=3.14;
B.float x, y=2*3.14;
C.float x=3.14, y=x=3.14;
D.float x=y=3.14;
31、若变量已正确定义,语句“if(a>B. k=0; else k=1;”和( C )等价。
A.k=(a>
B.?1:0; B.k=a>b;
C.k=a<=b;
D.a<=b ? 0 : 1;
32、设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b的值都是10。 scanf("a=%d, b=%d",&a, &B.;