C语言习题集.docx
- 文档编号:1163230
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:102
- 大小:151.27KB
C语言习题集.docx
《C语言习题集.docx》由会员分享,可在线阅读,更多相关《C语言习题集.docx(102页珍藏版)》请在冰点文库上搜索。
C语言习题集
C语言程序设计
期末考试习题集
计算机基础教研室
目录
第二章 数据类型、运算符与表达式2
第三章 顺序结构程序设计8
第四章 选择结构程序设计11
第五章 循环结构17
第六章 数 组24
第七章 函数37
全国高校计算机等级考试(广西考区)二级C语言试题卷49
全国高校计算机等级考试(广西考区)二级C语言试题卷57
第一章 概 述
1.C语言程序的基本单位是:
()
A)程序行B)语句C)函数D)字符
2.以下说法中正确的是:
()
A)C语言程序总是从第一个函数开始执行;
B)在C语言程序中,要调用的函数必须在main()函数中定义;
C)C语言程序总是从main()函数开始执行;
D)C语言程序中的main()函数必须放在程序的开始部分;
3.以下叙述正确的是:
()
A)在C程序中,main函数必须位于程序的最前面;
B)C程序的每行中只能写一条语句;
C)C语言本身没有输入输出语句;
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误;
4.以下叙述不正确的是:
()
A)一个C源程序可由一个或多个函数组成;
B)一个C源程序必须包含一个main函数;
C)C程序的基本组成单位是函数;
D)在C程序中,注释说明只能位于一条语句的后面;
5.C语言规定:
在一个源程序中,main函数的位置:
()
A)必须在最开始;B)必须在系统调用的库函数的后面;
C)可以任意;D)必须在最后;
6.一个C语言程序是由:
()
A)一个主程序和若干子程序组成B)函数组成
C)若干过程组成D)若干子程序组成
7.在C语言中,输入操作是由库函数【scanf()】完成的,输出操作是由库函数【printf()】完成的。
8.一个C源程序中至少应包括一个【main()】。
9.以下叙述中正确的是【】。
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其它函数之前
D)所有被调用的函数一定要在调用之前进行定义
第二章 数据类型、运算符与表达式
1.C语言中最简单的数据类型包括:
()
A)整型、实型、逻辑型 B)整型、实型、字符型
C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型
2.以下选项中属于C语言的数据类型是():
A)复数型B)逻辑型C)双精度型D)集合型
3.在C语言中,不正确的int类型的常数是:
()
A)32768B)0C)037D)0xAF
4.在C语言中,合法的字符常量是:
()
A)'\084'B)'\x43'C)'ab'D)"\0"
5.请选出作为C语言用户标识符的一组标识符:
()
A)void,define,WORDB)a3_b3,_123,IF
C)For,-abc,CaseD)2a,DO,sizeof
6.在C语言提供的合法的关键字是()
A)swicthB)cherC)caseD)defaulte
7.C语言中的标识符只能是由字母、数字和下划线三种字符组成,且第一个字符()
A)必须是字母B)必须为下划线
C)必须为字母或下划线D)可以是字母、数字或下划线中任一种字符
8.以下正确的叙述是()
A)在C程序中,每行只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
9.以下程序的输出结果是【】。
main()
{unsignedshorta=65536;
intb;
printf("%d\n",b=a);}
10.数字符号0的ASCII码十进制表示为48,数字符号9的ASCII码十进制表示为【】。
11.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是
A)1B)2C)2.0D)2.5
12.字符(char)型数据在微机内存中的存储形式是
A)反码B)补码C)EBCDIC码D)ASCII码
13.设有说明语句:
chara='\72';则变量aA
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明不合法
14.已知字母A的ASCII码为十进制的65,下面程序的输出是
A)67,D B)B,C
C)C,D D)不确定的值
main()
{charch1,ch2;
ch1='A'+'5'-'3';ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);}
15.下列不正确的转义字符是
A)'\\'B)'\"'C)'074'D)'\0'
16.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是
A)a\bre\'hi\'y\\\bouB)a\bre\'hi\'y\bou
C)re'hi'youD)abre'hi'y\bou
(说明:
'\b'是退格符)
17.下列变量定义中合法的是
A)short_a=1-.le-1;B)doubleb=1+5e2.5;
C)longdo=0xfdaL;D)float2_and=1-e-3;
18.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为
A)char B)char=int C)char D)char=int=longint<=float 19.设有以下变量定义,并已赋确定的值 charw;intx;floaty;doublez; 则表达式: w*x+z-y所求得的数据类型为【double】。 20.若有以下定义: chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为 A)floatB)intC)charD)double 21.下面程序的输出是 A)0 B)1 C)3 D)不确定的值 main() {intx=10,y=3; printf("%d\n",y=x/y);} 22.设有如下定义: intx=10,y=3,z;则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是 A)1 B)0C)4 D)3 23.C语言中,运算对象必须是整型数的运算符是 A)% B)\ C)%和\ D)** 24.以下程序的输出结果是 main() { intx=10,y=10; printf("%d%d\n",x--,--y); } A)1010 B)99 C)910 D)109 25.设有intx=11;则表达式(x++*1/3)的值是A)3B)4C)11D)12 26.若有以下程序段: intc1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 A)0B)0.5C)1D)2 27.在C语言中,要求运算数必须是整型的运算符是 A)% B)/C)< D)! 28.C语言中运算对象必须是整型的运算符是 A)%=B)/C)=D)<= 29.请选出合法的C语言赋值语句 A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b); 30.若变量已正确定义并赋值,下面符合C语言语法的表达式是 A)a: =b+1B)a=b=c+2 C)int18.5%3D)a=a+7=c+b 31.若变量a,i已正确定义,且i已正确赋值,合法的语句是 A)a==1B)++i;C)a=a++=5;D)a=int(i); 32.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A)c=b=a;B)(a=c)‖(b=c); C)(a=c)&&(b=c);C)a=c=b; 33.下列语句中符合C语言语法的赋值语句是 A)a=7+b+c=a+7; B)a=7+b++=a+7; C)a=7+b,b++,a+7 D)a=7+b,c=a+7; 34.设inta=12,则执行完语句a+=a-=a*a后,a的值是 A)552B)264C)144D)-264 35.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下 列能正确表示代数式1/abc的表达式是 A)1/a*b*cB)1/(a*b*c) C)1/a/b/(float)cD)1.0/a/b/c 36.设有如下的变量定义: inti=8,k,a,b; unsignedlongw=5; doublex=1.42,y=5.2; 则以下符合C语言语法的表达式是 A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2D)y=float(i) 37.设a、b、c为整型数,且a=2,b=3,c=4,则执行完以下语句: a*=16+(b++)-(++c);后,a的值是【28】。 38.若有定义: inta=10,b=9,c=8;执行下列语句后,变量b中的值是【】。 c=(a-=(b-5));c=(a%11)+(b=3); 39.若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y)); 上面程序片段的输出结果是 A)200 B)100 C)100200 D)输出格式符不够,输出不确定的值 41.执行下面程序中输出语句后,a的值是 A)65 B)20 C)15 D)10 main() {inta; printf("%d\n",(a=3*5,a*4,a+5));} 42.设x、y、z和k都是int型变量,则执行表达式: x=(y=4,z=16,k=32)后,x的值为 A)4B)16C)32D)52 43.以下叙述不正确的是 A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量 C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 44.以下选项中,非法的字符常量是 A)‘\t’B)‘\17’C)“n”D)‘\xaa’ 45.若有定义: inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为 A)1.4B)1C)2.0D)2 46.若变量a是int类型,并执行了语句: a=‘A'+1.6;,则正确的叙述是 A)a的值是字符C B)a的值是浮点型 C)不允许字符型和浮点型相加 D)a的值是字符‘A’的ASCII值加上1。 47.以下选项中不属于C语言的类型的是 A)signedshortimtB)unsignedlongint C)unsignedintD)longshort 48.在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是 A)a=20000+20000;B)a=4000*10; C)a=30000+10000;D)a=4000L*10L; 49.以下程序的输出结果是【】。 main() {inta=0 a+=(a=8); printf("%d\n",a); } 50.以下选项中合法的实型常数是 A)5E2.0B)E-3C).2E0D)1.3E 51.以下选项中合法的用户标识符是 A)longB)_2TestC)3DmaxD)A.dat 52.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是 A)字符AB)字符aC)字符eD)非法的常量 53.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 A)6.500000B)6C)5.500000D)6.000000 54.若有以下程序: main() {intk=2,i=2,m; m=(k+=i*=k);printf(“%d,%d\n”,m,i); } 执行后的输出结果是 A)8,6B)8,3C)6,4D)7,4 55.与数学式子 对应的C语言表达式是 A)3*x^n(2*x-1)B)3*x**n(2*x-1) C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x-1) 56.以下选项中,与k=n++完全等价的表达式是 A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1 第三章 顺序结构程序设计 1.putchar函数可以向终端输出一个 A)整型变量表达式B)实型变量值 C)字符串D)字符或字符型变量值 2.printf函数中用到格式符%5s,其中数字5表示输出的字符占用5列。 如果字符串长度大于5,则输出按方式【】;如果字符串长度小于5,则输出按方式【】。 A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 3.以下说法正确的是 A)输入项可以为一个实型常量,如scanf("%f",3.5); B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f); D)当输入数据时,必须指明变量的地址,如scanf("%f",&f); 4.若有以下定义和语句: intu=010,v=0x10,w=10; printf("%d,%d,%d\n",u,v,w); 则输出结果是: A)8,16,10B)10,10,10 C)8,8,10D)8,10,10 5.以下程序的输出结果是 A)17,021,0x11B)17,17,17 B)17,0x11,021D)17,21,11 main() {intk=17; printf("%d,%o,%x\n",k,k,k);} 6.下面程序的输出是 main() {unsignedinta=32768; printf("a=%d\n",a);} A)a=-32768B)a=32767C)a=-32767D)a=-1 7.下列程序执行后的输出结果是 A)-32767B)FFFEC)-1D)-32768 main() {charx=0xFFFF;printf("%d\n",x--);} 8.有如下程序 main() {inty=3,x=3,z=1; printf("%d%d\n",(++x,y++),z+2);} 运行该程序的输出结果是 A)34B)42C)43D)33 9.下列程序的运行结果是 A)a=%2,b=%5B)a=2,b=5 C)a=d,b=dD)a=%d,b=%d #include main() {inta=2,c=5; printf("a=%d,b=%d\n",a,c);} 10.下列程序的输出结果是 A)3B)3.2C)0D)3.07 main() {doubled=3.2;intx,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y);} 11.下列程序执行后的输出结果是 A)GB)HC)ID)J main() {intx='f';printf("%c\n",'A'+(x-'a'+1));} 12.语句: printf("%d",(a=2)&&(b=-2));的输出结果是 A)无输出B)结果不确定C)-1D)1 13.下列程序执行后的输出结果是(小数点后只写一位) A)666.06.0B)666.76.7 C)666.06.7D)666.76.0 main() {doubled;floatf;longl;inti; i=f=1=d=20/3; printf("%d%ld%.1f%.1f\n",i,l,f,d);} 14.若有以下定义和语句 charc1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); 则输出结果是: A)2,MB)3,E C)2,ED)输出项与对应的格式控制不一致,输出结果不确定 15.若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应 该是【】。 inta,b; scanf("a=%b,b=%d",&a,&b); 16.若有定义: intx,y;chara,b,c;并有以下输入数据(此处 1u2 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 A)scanf("x=%dy+%d",&x,&y);a=getchar(); b=getchar();c=getchar(); B)scanf("%d%d",&x,&y);a=getchar(); b=getchar();c=getchar(); C)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c); D)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c); 17.请读程序: main() {intA; floatB,C; scanf("%2d%3f%4f",&A,&B,&C); printf("\nA=%d,B=%f,C=%f\n",A,B,C);} 若运行时从键盘上输入9876543210 A)A=98,B=765,C=4321 B)A=98,B=765.000000,C=4321.000000 C)A=98,B=765.0,C=4321.0 D)A=98.000000,B=765.000000,C=4321.000000 18.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式是【】。 … intb,c;floata; scanf("a=%f,b=%d,c=%d",&a,&b,&c); … 19.以下程序段的输出结果是 inta=1234; printf("%2d\n",a); A)12B)34C)1234D)提示出错、无结果 20.以下程序的输出结果是【】。 main() {inta=177; printf("%o\n",a); } 21.已知i、j、k为int型变量,若从键盘输入: 1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 A)scanf(“%2d%2d%2d”,&i,&j,&k); B)scanf(“%d%d%d”,&i,&j,&k); C)scanf(“%d,%d,%d”,&i,&j,&k); D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 22.设有定义: longx=-123456L;,则以下能够正确输出变量x值的语句是 A)printf(“x=%d\n”,x);B)printf(“x=%1d\n”,x); C)printf(“x=%8dL\n”,x);D)printf(“x=%LD\n”,x); 23.已有定义: intx=3,y=4,z=5;,则表达式! (x+y)+z-1&&y+z/2的值是 A)6B)0C)2D)1 第四章 选择结构程序设计 1.能正确表示逻辑关系: "a≥10或a≤0"的C语言表达式是 A)a>=10ora<=0B)a>=0|a<=10 C)a>=10&&a<=0D)a>=10‖a<=0 2.为表示关系x≥y≥z,应使用C语言表达式 A)(x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z) 3.表示条件: 10 4.条件"x>20或x<-100"的C语言表达式是【】。 5.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为 A)0B)1C)2D)7 6.下面程序的输出是 A)003 B)012C)103 D)112 main() {inta=-1,b=4,k; k=(a++<=0)&&(! (b--<=0)); printf("%d%d%d\n",k,a,b);} 7.设intA=3,B=4,C=5;,则下列表达式中,值为0的表达式是 A)A&&B B)A<=B C)A││B+C&&B D)! ((A C││1) 8.有以下程序 main() {inta,b,c=246; a=c/100%9;b=(-1)&&(-1); printf("%d;%d\n",a,b)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题集
![提示](https://static.bingdoc.com/images/bang_tan.gif)