c语言200道练习题及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22.在C语言中,合法的字符常量是 A)'\084' B)'\x43‘ C)'ab' D)"\0"
【 B 】。
23.若有定义和语句: int **pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp); 则输出结果是 【 D 】。 A)10,20 B)10,10 C)20,10 D)20,20
45.若x,y均定义为int型,z定义为double型,以下不合法 的scanf函数调用语句是【 d】 A) scanf("%d%lx,%le",&x,&y,&z); B) scanf("%2d*%d,%lf",&x,&y,&z); C) scanf("%x%*d,%o",&x,&y); D)scanf("%x%o%6.2f",&x,&y,&z);
50.若已定义char ch[10]; 则以下表达式中 只有【 b 】不是ch[1]的地址 A)ch+1 B)ch++ C)&ch[0]+1 D)&ch[1]
51.下列四个选项作中作为C语言中的字符常量, 合法的是【 a 】。 A) ‘\t’ B) “c” C) 3b D) abc
52. 构成C语言程序的基本单位是【 B】 A)过程 B)函数 C)语句 D)命令
37.判断char类型的变量c1是否为数字字符的正确表达式 为【 b 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)
38.若有语句int a=1,b=2,c=3; 则以下值为0的表达式是【 d 】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) ) D)(!(a+b)==c&&a))
36.使下列程序段输出“123,456,78”, 由键盘输入数据,正确的输入是【 c 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678
B)7
C) 14
answer
D)13
6.设说明为 int a[3]={1,2},*p=a; 则*p与*(p+2)的值分别 是【 A 】。 A)1和0 B) 0和1 C) 1和2 D) 2和0
7.设说明为 int a=10; 执行语句 a*=1+2+3; 后a的值是【 d 】。 A) 15 B) 24 C) 33 D) 60
1.一个C程序的执行是从【 A 】。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最 后一个函数结束 C) 本程序的main函数开始,到到本程序文件的最后一 个函数结束 D)到本程序文件的第一个函数开始,到本程序的main函 数结束
2.一个C语言程序是由【 B 】。 A) 一个主程序和若干子程序组成 B) C) 函数组成 若干过程组成
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。 A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
29.执行语句for(i=10;i>0;i--);后,变量i的值为【 c 】
A)10 B)9 C)0 D)1
30.如果定义一个整型变量 int a;,使该变量字节不变, 而正数值的表示范围扩大一倍的方式用【 c 】。 A)signed B)long C)unsigned D)float
31.表达式10 != 9的值是【 c 】。
41.以下符合C语言语法的赋值表达式是【 A) d=9+e=d+9 B) d=9+e,f=d+9 C) d=9+e,e++,d+9 D) d=9+e++=d+7
B
】
answer
42.若已定义:float aa=1234.5678; 则执行 printf(“%6.2f%d/n”,aa,(int)(aa)); 则输出是【 d 】 A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
11.putchar函数可以向终端输出一个 【 D 】。 A)整型变量值 B)实型变量值 C)字符串 D)字符或字符变量
12.执行下面程序,屏幕输出的值是【 C 】 int x; printf(“%d\n”,(x=3*5,x+5)); A)10 B)15 C)20 D)5
13 .判断字符类型变量 c 是否为大写字母的正确表达式 是【 C 】。 A)’A’<=c<=’Z’ B)(c>=’A’) & (c<=’Z’) C)(c>=’A’) && (c<=’Z’) D)(‘A’<=c) AND (‘Z’>=c)
10.以下程序时,从键盘输入25,13,10<回车>,则输出结 果是【 A 】。 main(){ int a1,a2,a3; scanf(“%d,%d,%d”,&a1,&a2,&a3); printf(“a1+a2+a3=%d\n”,a1+a2+a3); } A.a1+a2+a3=48 B.a1+a2+a3=25 C.a1+a2+a3=10 D.不确定
answer
53.以下所列的C语言常量中,错误的是【 b 】
A)0xFF
B) 078
C) 2L
D) '\72'
54.以下选项中属于C语言的数据类型是【 c 】 A)复数型 B)逻辑型 C)双精度型 D)集合型
55. 在C语言中,字符型(char)数据在内存中 是以【 d】形式存储的。 A)原码 B)补码 C)反码 D)ASCII码
34.C语言中,以下 不是正确的常量。【 b 】 A)543210L B)05078 C)-0x41 D)12345
35.以下四组中都能正确作为C语言程序标识符 的是【 b 】组。 A)printf B)sort_1 row string_to_float if PI C) pow D) book->name string book.price 1_abc A#B
8.为表示关系x≥y≥z,应使用C语言表达式【 A) (x>=y>=z) B)(x>=y)AND(y>=z) C) (x>=y)&&(y>=z) D)(x>=y)&(y>=z)
c 】。
9.说明语句:int a[][3]={1,2,3,4,5,6,7,8,9}; 则a数组的行数为 【d 】 。 A)不确定 B)1 C)2 D)3
A)<=
B)=
C)%
D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2 C)3 D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输 出结果是【 D 】。 A)8 B)7 C)6 D)4
28.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
39.C语言中的实数可以用多种形式表示,以下四种表示 中,只有【c 】是错误的。 A) 1)23e+6 B)2)13e-4 C)0.3e1.2 D) .1234
40.下面四个选项中, 均是不合法的转义字符的选项是【 b 】 A)'\"' B)'\1011‘ C) '\011' D)'\abc' '\\' '\' '\f' '\101' '\xf‘ '\a‘ '\}' 'xlf'
14.C语言规定:简单变量做实参时,它和对应形参之间 的数据传递方式是【 B 】。 A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式
15.下面程序段的运行结果是 【 A 】。 char *s=”abcde”; s+=1; printf(“%s\n”,s); A)bcde B)abcde C)ab D)b
A) true
B)非零值
C) 1
D) 0
32.若int x=10; 则表达式x+(char)1/2.0值的类型是【 b 】 A) int B) double C) float D) unsigned
33.以下不属于C语言关键字的是【 b 】。 A)case B)byte C)do D)float
56.以下变量x.、y、z均为double类型且已正确赋值,不 正确的C语言表达式是【 a 】 A)x/y%z B) x*y*z C) x/y*5.0 D) x+y+(int)z
47.C语言中while语句中的判断表达式【 a 】 A)可以是任意有效表达式 B)必须是逻辑表达式 C)必须是关系表达式 D)必须是逻辑或关系表达式
48.表达式3&&6&&9的值是【 d 】 A)3 B)0 D)9 D)1
49.C语言中,若对函数类型无说明,则函数的默认类型 是【 a 】
A)整型 B)float C)double D)指针类型
20.定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是 【 C】。 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
21.有如下程序 main( ) { int a=10,b=4,c=3; if(a<b) a=b; if(a<c) a=c; printf(“%d,%d,%d\n”,a,b,c); } 运行后的输出结果是 【 D 】。 A)3,4,10 B)4,4,3 C)3,4,3 D)10,4,3
43.如果有 int a, b; scanf(“%d,%d”, &a, &b);语句, 则输入数据时,只可以用【 d 】作为输入的分隔符 A)TAB键 B)空格 C)回车 D),
44.若x,i,j和k都是int型变量,则计算下面表达式后, x的值为【 c 】 x=(i=4,j=16,k=32)
A)4 ห้องสมุดไป่ตู้)16 C)32 D)52
,则以下正确的
18.若有以下定义,则数组b占用内存的字节数是【 D 】 char b[]=”C language” A)14 B)15 C)8 D)11
1
9 . 设 说 明 为 c h a r C str[6]={‘a’,’b’,’\0’,’c’,’ d’,’\0’};执 行printf(“%s”,str);后输出的结果是【 】。 A)abcd B)abc C)ab D)ad
D)
若干子程序组成
3.C语言规定,在一个源程序中,main函数的 位置【 c 】。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以在任何位置
D)必须在最后
4.在C语言中,数字0X26是一个【 d 】进制数 A)二 B)八
C)十 D)十六
5.设宏定义为#define ABC(x) x*x , 引用ABC(1+2*3)后的获值是【 D】。 A)49
16.若有定义:int a[2][3],则以下对a数组元素的正确引用 是【 B 】。 A)*(a+1) B)*(a[1]+2) C)&a[0][0] D)a[1]+3
ANSWER
17.若有定义:int s[4][6],t[6][4],(*p)[6]; 赋值语句是【 C 】。 A)p=t; B)p=s[2]; C)p=s; D)p=t[3];
46.根据下面的程序及数据的输入和输出形式,程序中输 入语句的正确形式应该为【 a 】 main() {char ch1,ch2,ch3; 输入语句 printf("%c%c%c",ch1,ch2,ch3);} 输入形式:A B C 输出形式:A B A) scanf("%c%c%c",&ch1,&ch2,&ch3); B) scanf("%c,%c,%c",&ch1,&ch2,&ch3); C) scanf("%c %c %c ",&ch1,&ch2,&ch3); D) scanf("%c%c",&ch1,&ch2,&ch3);