C语言精编100题1.docx
- 文档编号:26652837
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:38
- 大小:26.69KB
C语言精编100题1.docx
《C语言精编100题1.docx》由会员分享,可在线阅读,更多相关《C语言精编100题1.docx(38页珍藏版)》请在冰豆网上搜索。
C语言精编100题1
高
职
升
本
计算机C语言精编100题
精通学院
C语言精编100题
一、单选题
1.
(1)由C语言编写的代码程序(B)
A.可直接执行B.是一个源程序
C.经过编译即可执行D.经过编译解释才能执行
(2)C语言源程序的扩展名为(B)
A..objB..cC.exeD..cpp
2.
(1)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)
A.大写字母B.中划线C.数字字符D.下划线
(2)下列选项中,不能用作标识符的是(D)
A._1234_B._1_2C.int_2_D.2_int_
(3)以下选项中合法的用户标识符是(B)
A.longB._2TestC.3DmaxD.A.dat
(4)以下不能定义为用户标识符的是(D)
A.MainB._0C._intD.sizeof
(5)下列定义变量的语句错误的是(D)
A.int_int;B.doubleint_;C.charFor;D.floatUS$;
3.在C语言中,整型数据分为(B)
A.二进制、八进制、十进制B.二进制、十进制、十六进制
C.八进制、十进制、十六进制D.二进制、八进制、十进制、十六进制
4.
(1)在C语言中,合法的实型常数是(C)
A.5E2.0B.E-3C..2E0D.1.3E
(2)在C语言中,合法的实型常数是(C)
A.1.2E0.5B.3.14159EC.5E-3D.E15
(3)以下选项中,不能作为合法常量的是(B)
A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0
(4)以下不合法的数值常量是(C)
A.011B.le1C.8.0E0.5D.0xabcd
(5)以下选项中,能用作数据常量的是(D)
A.o115B.0118C.1.5e1.5D.115
5.
(1)在C语言中,非法的字符常量是(C)
A.‘\t’B.‘\17’C."\n"D.‘\xaa’
(2)以下不合法的字符常量是(A)
A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’
(3)以下选项不属于字符常量的是(B)
A.'C'B."C"C.'\xCC'D.'\072'
6.在C语言中,以下关于运算符叙述错误的是(C)
A.在C语言中,逗号运算符的优先级最低
B.在C语言中,赋值运算符自右向左运算
C.在C语言中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算
D.在C语言中,++、--运算符可以改变变量的值
7.下列运算符中优先级最高的运算符是(C)(B)
A.<=B.=C.%D.&&
A.==B./C.=D.>=
8.
(1)以下程序的输出结果是(C)
main()
{inta=3,b=4;printf("%d\n",a<=b);}
A.3B.4C.1D.0
(2)在C语言中,表达式10!
=9的值为(C)
A.0B.FalseC.1D.True
9.在C语言中,以下非法的表达式是(D)
A.0<=x<=100B.i=j==0C.(char)(65+3)D.x+1=x+1
10.在C语言中,以下非法的赋值语句是(B)
A.j++;B.++(i+1)自加自减只能用于变量,不能用于常量或表达式;C.x=j>0;D.k=i==j;
11.表达式3.6-5/2+1.2+5%2的值是(D)
A.4.3B.4.8C.3.3D.3.8
12.
(1)设有语句:
inta=3;则执行了语句a+=a-=a*a;变量a的值是(D)
A.3B.0C.9D.-12
(2)设有语句:
intx=10;则执行了语句x+=x-=x-x;变量x的值是(B)
A.10B.20C.40D.30
(3)设有语句:
inta=0;则执行语句a+=(a=8);变量a的值是(C)
A.0B.8C.16D.24
13.以下程序的输出结果是(B)(D)(B)
⑴main()
{inti=10,j=1;
printf("%d,%d\n",i--,++j);}
A.9,2B.10,2C.9,1D.10,1
⑵main()
{inta=12,b=12;
printf("%d%d\n",--a,++b);}
A.1010B.1212C.1110D.1113
⑶main()
{intx=023;
printf("%d\n",--x);}
A.17B.18C.23D.24
14.以下程序的输出结果是(A)
main()
{intx=100,y=200;
printf("%d\n",(x,y));
}
A.200B.100
C.100200D)200100
15.以下程序的输出结果是(D)
main()
{intx=10,y=3,z;
printf("%d\n",z=(x%y,x/y));
}
A.1B.0C.4D.3
16.intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A)
A.k++B.k+=1C.++kD.k+1
17.以下程序的输出结果是(C)
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
18.设x、y、t均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,y的值为(C)
A.1B.2C.3D.4
19.设intx=-1;执行表达式++x||++x||++x||++x,x的值是(B)
A.0B.1C.2D.4
20.以下程序的输出结果是
(1)main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}(D)
A.k=11,k=12,k=11B.k=11,k=13,k=13
C.k=11,k=013,k=0xbD.k=11,k=13,k=b
(2)main(){intk=17;printf("%d,%o,%x\n",k,k,k);}(D)
A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11
21.运行时从键盘上输入9876543210
main()
{inta;floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("a=%d,b=%f,c=%f\n",a,b,c);
}
A.a=98,b=765,c=4321B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0
22.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量
a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
以下所示的输入形式中正
确的是(注:
□代表空格字符)()
A.10□X□20□Y<回车>B.10□X20□Y<回车>
C.10□X<回车>D.10X<回车>
20□Y<回车>20Y<回车>
23.以下程序的输出结果是()
#defineMA(x)x*(x-1)
main()
{inta=1,b=2;
printf("%d\n",MA(1+a+b));
}
A.6B.8C.10D.12
24.以下程序的输出结果是()
#defineM(x,y,z)x*y+z
main()
{inta=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+a));
}
A.19B.17C.15D.12
25.以下程序段的输出结果是()
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.15B.100C.10D.150
26.设a=1,b=2,c=3,d=4,则表达式a
a:
c a: d的结果是() A.4B.3C.2D.1 27.以下程序段的输出结果是() main() {intx=1,y=2,z=3; if(x>y) if(y elseprintf("%d",++y); printf("%d\n",x++); } A.331B.41C.2D.1 28.以下程序段的输出结果是() main() {intx=5; if(x++>5)printf("%d\n",x); elseprintf("%d\n",x--); } A.4B.5C.6D.7 29.以下程序段的输出结果是() main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++; } printf("a=%d,b=%d\n",a,b); } A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1 30.有以下程序 main() {intn=4; while(n--) printf("%d",--n); } 程序执行后的输出结果是() A.20B.31C.321D.210 31.有以下程序 main() {inti; for(i=0;i<3;i++) switch(i) {case0: printf("%d",i); case1: printf("%d",i); default: printf("%d",i); } } 程序执行后的输出结果是() A.000112B.012C.012020D.120 32.以下叙述中正确的是() A.构成C程序的基本单位是函数 B.可以在一个函数中定义另一个函数 C.main()函数必须放在其它函数之前 D.所有被调用函数一定要在调用之前进行定义 33.以下说法中正确的是() A.C语言程序总是从第一个函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 34.以下程序段的输出结果是() intfun(intx,inty) {return(x+y);} main() {inta=1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); } A.6B.7C.8D.9 35.以下程序的输出结果是() intfun(intx) {intp; if(x==0||x==1)p=3; elsep=x-fun(x-2); returnp;} main() {printf("%d\n",fun(7));} A.7B.3C.2D.0 36.以下数组定义中错误的是() A.intx[][3]={0}; B.intx[2][3]={{1,2},{3,4},{5,6}}; C.intx[][3]={{1,2,3},{4,5,6}}; D.intx[2][3]={1,2,3,4,5,6}; 37.以下能正确定义二维数组的是() A.inta[][3];B.inta[][3]={2*3}; C.inta[][3]={};D.inta[2][3]={{1},{2},{3,4}}; 38.以下程序的输出结果是() main() {inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));} A.3B.4C.1D.2 39.以下程序的输出结果是() main() {inta[]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*p+9); } A.0B.1C.10D.9 40.以下程序的输出结果是() main() {inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf("%d\n",*p+*q); } A.16B.10C.8D.6 41.设有chararray[]="China"; 则数组array所占的空间字节数为() A.4B.5C.6D.7 42.在C语言中,对于以下定义正确的叙述为() charx[]="abcdefg"; chary[]={'a','b','c','d','e','f','g'}; A.数组x和数组y等价B.数组x和数组y的长度相同 C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度 43.以下不能正确进行字符串赋初值的语句是() A.charstr[5]="good! ";B.charstr[]="good! "; B.char*str="good! ";D.charstr[5]={‘g’,‘o’,‘o’,‘d’}; 44. (1)以下程序的输出结果是() main() {charstr[]="ABCD",*p=str; printf("%d\n",*(p+4)); } A.68B.'D'C.0D.'0' (2)以下程序的输出结果是() main() {charstr[]="aeiou",*p=str; printf("%c\n",*p+4)); } A.oB.uC.eD.f (3)以下程序的输出结果是() main() {char*s="ABCDE"; s+=2; printf("%d\n",s[0]);} A.CB.DC.67D.68 45. (1)以下程序的输出结果是() main() {char*p="abcde\0fghijk\0"; printf("%d\n",strlen(p)); } A.5B.15C.6D.16 (2)以下程序的输出结果是() main() {chars[]="1234567890\0"; printf("%d\n",strlen(s)); } A.8B.9C.10D.11 46. (1)以下程序的输出结果是() voidpoint(char*p) {p+=3;} main() {charb[4]={'a','b','c','d'},*p=b; point(p); printf("%c\n",*p);} A.aB.bC.cD.d 47.以下程序的输出结果是() main() {inta=1,b=3,c=5; int*p1=&a,*p2=&b,*p=&c; *p=(*p1)*(*p2); printf("%d\n",c);} A.1B.2C.3D.4 48.inta[10],*p=a; 不能代表a[1]地址的是() A.p+1B.a+1C.++aD.++p 49.inta[4][5],(*p)[5]; p=a; 下列对数组a数组元素正确的引用形式是() A.p+1B.*(p+3)C.p[0][2]D.*(p+1)+3 50.设有以下说明语句,则下面的叙述不正确的是() structex {chara; intb; floatc;}example; A.struct是结构体关键字B.example是结构体类型名 C.a、b、c是结构体成员名D.structex是结构体类型 二、填空题 51.一个C源程序至少应该有一个函数。 52.在C语言中,实型变量分为和。 53.以下程序运行后的输出结果是。 main() {intx=2006,y=2007; printf("%d\n",(x,y));} 54. (1)以下程序运行后的输出结果是。 main() {inta=10; printf("%d,%o,%x\n",a,a,a); } (2)以下程序运行后的输出结果是。 main() {inta,b,c; a=25;b=025;c=Ox25; printf("%d%d%d\n",a,b,c); } (3)以下程序运行后的输出结果是。 main() {inta=1,b=2; a=a+b;b=a-b;a=a-b; printf("%d,%d\n",a,b); } (4)设整型变量a和b中的值分别为7和9,要求按一下格式输出a和b的值: a=7 b=9 请完成输出语句: printf("",a,b); 55. (1)以下程序运行后的输出结果是。 main() {charch='B'; printf("%c%d\n",ch,ch); } (2)以下程序运行后的输出结果是。 main() {charch='B'; ch+=32; printf("%c\n",ch); } (3)以下程序运行后的输出结果是。 main() {intc; charch=97; c=ch+1; printf("%c%c\n",c,ch);} 56.`以下程序运行后的输出结果是。 main() {floatx=123.4567; printf("%f\n",(int)(x*100+0.5)/100.0); } 57. (1)有程序如下,要求给i赋10,给j赋20,则应该从键盘输入。 main() {inti,j; scanf("i=%d,j=%d",&i,&j); printf("i=%d,j=%d",i,j); } (2)输入123456,则输出结果是。 main() {inta,b; scanf("%2d%2d",&a,&b); printf("%d,%d\n",a,b);} 58. (1)以下程序运行后的输出结果是。 main() {inta=10; a=(3*5,a+4); printf("a=%d\n",a);} (2)以下程序运行后的输出结果是。 main() {inta=0,b=0,c=0; c=(a+=a-=5),(a=b,b+3); printf("%d,%d,%d\n",a,b,c);} 59. (1)以下程序运行后的输出结果是。 main() {inta=5,b=4,c=3,x; x=a>b>c; printf("%d\n",x);} (2)以下程序运行后的输出结果是。 main() {inta=3,b=2; b=a<0&&a++>3; printf("%d,%d\n",a,b); } 60. (1)以下程序运行后的输出结果是。 #defineMAX(x,y)(x)>(y)? (x): (y) main() {inta=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf("%d\n",t); } (2)以下程序运行后的输出结果是。 #define S(x)4*x*x+1 main() {int i=6,j=8; printf("%d\n",S(i+j)); } 61.以下程序运行后的输出结果是。 main() {intx,a=1,b=2,c=3,d=4; x=(a a: b; x=(x x: c; x=(x x: d; printf("%d\n",x); } 62.以下程序运行后的输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 精编 100