《C语言程序设计》综合复习资料.docx
- 文档编号:5465578
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:31
- 大小:41.53KB
《C语言程序设计》综合复习资料.docx
《《C语言程序设计》综合复习资料.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》综合复习资料.docx(31页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》综合复习资料
《C语言程序设计》综合复习资料
要求掌握的章节:
第1章、第3章~第8章、
第10章(前4节)、第11章(前6节)
重点章节:
第3章~第8章、第10章(前4节)
难点章节:
第8章、第10章(前4节)
考试题型:
①选择题(填空题)(20%)
②读程序题(40%)
③编程序题(40%)
第1章C语言概述
一、选择题
1.能将高级语言编写的源程序转换为目标程序的软件是
A)汇编程序B)编辑程序C)解释程序D)编译程序
2.在一个C程序中
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置
3.C语言中用于结构化程序设计的三种基本结构是
A)顺序结构、选择结构、循环结构B)if、switch、break
C)for、while、do-whileD)if、for、continue
4.C语言程序的基本单位是
A)函数B)过程C)子例程D)子程序
二、填空题
1.C语言程序总是从main函数开始执行。
2.C语言是种面向_____的程序设计语言,其程序的基本单位是函数。
.
3.C语言中的函数由、两部分组成。
4.结构化程序设计中所规定的三种基本控制结构是顺序结构、选择结构和循环结构。
第3章数据类型、运算符与表达式
一、选择题
1.下列关于C语言用户标识符的叙述中正确的是
A)用户标识符中可以出现下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
2.C语言中基本数据类型有
A)整型、实型、逻辑型B)整型、字符型、逻辑型
C)整型、实型、字符型D)整型、实型、字符型、逻辑型
3.在计算机中,一个字节所包含二进制位的个数是
A)2B)4C)8D)16
4.用8位无符号二进制数能表示的最大十进制数为
A)127B)128C)255D)256
5.在计算机系统中,存储一个汉字的国标码所需要的字节数为
A)1B)2C)3D)4
6.在C语言中,char型数据在内存中的存储形式是
A)原码B)补码C)反码D)ASCII码
7.十六进制数100转换为十进制数为
A)256B)512C)1024D)64
8.十六进制数7A转化成八进制数是
A)123B)122C)173D)172
9.十进制数32转化成十六进制数是
A)20B)ffC)10D)21
10.与十进制数511等值的十六进制数为
A)1FFB)2FFC)1FED)2FE
11.以下选项中可作为C语言合法整数的是
A)10110BB)0386C)0XffaD)x2a2
12.以下选项中合法的实型常数是
A)5E2.0B)E-3C).2E0D)1.3E
13.依据C语言的语法规则,下列()是用户定义的合法标识符。
A)intB)INTC)jin#2D)8f
14.依据C语言的语法规则,下列合法标识符是
A)ElseB)elseC)user$2D)5_examp
15.以下不正确的字符常量是
A)'8'B)'\xff'C)'\887'D)''
16.以下不正确的字符常量是
A)'\0'B)'\xgg'C)'0'D)'a'
17.以下选项中不合法的八进制数是
A)01B)077C)028D)00
18.下列运算符优先级最高的是
A)∙B)+C)&&D)!
=
19.若有说明:
chars1='\067',s2='1';则变量s1,s2在内存中各占的字节数是。
A)11B)41C)31D)12
20.以下不能定义为用户标识符的是
A)scanfB)VoidC)_3com_D)inte
21.在C语言中,可以作为用户标识符的一组标识符是
A)voiddefineWORDB)as_b3_224Else
C)Switch-wercaseD)4bDOSIG
22.若有:
intx=1,n=5;则执行语句x%=(n%2)后,x的值为
A)3B)2C)1D)0
23.设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值是
A)10B)9C)8D)7
24.已知:
chara=’a’;intb=0;floatc=-1.2;doubled=0;执行语句:
c=a+b+c+d;后,变量c的类型是
A)charB)intC)doubleD)float
25.表示x≤0或x≥1的正确的表达式是
A)x>=1||x<=0B)x>1||x<=0
C)x>=1orx<=0D)x>=1||x<0
26.对于intx=12,y=8;printf(“%d%d%d”,!
x,x||y,x&&y);输出的结果是
A)011B)010C)000D)111
27.设有intx=11;则表达式(x++*1/3)的值是
A)3B)4C)11D)12
28.以下非法的赋值语句是
A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;
29.已定义c为字符型变量,则下列语句中正确的是
A)c='97';B)c="97";C)c="a";D)c=97;
30.执行intj,i=1;j=-i++;后j的值是
A)-1B)-2C)1D)2
31.以下选项中非法的表达式是
A)(a+2)++B)i=j==0C)(char)(65+3)D)x+1=x+1
32.已知小写字母的ASCII码为97,对于inta=99,b='b';printf(“%c,%d”,a,b);的结果是
A)99,bB)c,98C)99,98D)c,b
33.以下选项中非法的表达式是
A)0<=x<100B)i=j==0C)(char)(65+3)D)x+1=x+1
34.下列错误的表达式是
A)-x++B)(-x)++C)x+++yD)++x+y
35.对于intx=12,y=8;printf(“%d%d%d”,!
x,x||y,x&&y);输出的结果是
A)011B)010C)000D)111
36.设a,b,c均为int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是
A)'a'&&'b'B)0||1C)a||b+c&&b-cD)!
((a
c||1)
37.若有定义:
inta=8,b=5,C;,执行语句C=a/b+0.4;后,C的值是
A)1.4B)1C)2.0D)2
38.以下选项中,与k=n++完全等价的表达式是
A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1
39.设a=3,b=4,c=5,则逻辑表达式:
a||b+c&&b==c的值是
A)1B)0C)非0D)语法错
40.若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是
A)20B)45C)100D)表达式不合法
41.若有语句inti=﹣19,j=i%4;printf("%d\n",j);则输出结果是
A)3B)-3C)4.75D)0
42.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;
C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;
43.已知小写字母的ASCII码为97,对于inta=99,b='b';printf(“%c,%d”,a,b);的结果是
A)99,bB)c,98C)99,98D)c,b
44.若有语句inti=﹣19,j=i%4;printf("%d\n",j);则输出结果是。
A)3B)-3C)4.75D)0
45.语句:
printf("%d",(a=2)&&(b=-2));的输出结果为
a)无输出b)结果不确定c)1d)2
46.有定义语句:
intx,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
A)1112<回车>B)11,12<回车>
C)11,12<回车>D)11,<回车>12<回车>
47.设a=3,b=4,c=5,则逻辑表达式:
a||b+c&&b==c的值是
A)1B)0C)非0D)语法错
48.已知charch='A';且表达式ch=(ch>='A'&&ch<='Z')?
(ch+32):
:
ch 的值是()
A)AB)aC)ZD)出错
49.如下程序段:
intx=2005,y=2006;
printf("%d\n",(x,y));
则以下叙述中正确的是
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2005
D)输出值为2006
50.设有如下程序段:
intx=2,y=3;
printf("%d\n",(x,y));
则以下叙述中正确的是
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2
D)输出值为3
二、填空题
1.C语言中逻辑”真”用表示,逻辑”假”用表示。
2.在C语言中,整数可用进制、进制和进制3种数制表示。
3.十进制数52转化成八进制数是。
4.十六进制数7A转化成八进制数是。
5.十进制数47转化成八进制数是。
6.在C语言中,’\101’是种特殊的字符常量,它称为,其表示的字符为。
7.在C语言程序中,整型数可用十进制、进制和进制3种数制表示。
070是个合法的整型数。
8.字符串“ab\034\\\x79”的长度为。
9.十六进制数7A转化成八进制数是。
10.语句:
printf("%d",(a=-10)&&(b=0));的输出结果为。
11.若w=1,x=2,y=3,z=4,则条件表达式w w: y y: z的结果为。 12.设a,b,c均为int型变量,且a=3,b=4,c=5,则表达式: ‘a’||b+c&&b-c的值是。 13.在C语言中,”a”表示常量,’a’表示常量。 14.表达式: 'a'–0x20–'A'的值是 16.若有说明语句,inti=-3,j;则执行语句j=(++i)+(i++);后j的值是。 17.已知intj,i=2;执行语句j=-i++;后,j的值是。 18.设inti=1;charc='1';则条件表达式c==1的值是。 19.语句: printf("%d",(a=2)&&(b=-2));的输出结果为。 20有: charc='A';printf("%d\n",c+1);则输出的结果为。 21有: intx=-3;则执行语句: x+=x-=x*x;后x的值为 22语句printf(“%%%%\n”);的输出为。 23若有说明: chars1='\xff',s2='f';则变量s1,s2在内存中所占的字节数均为。 24在C语言中,char型数据在内存中是以形式存储,其存储的字节数是。 25设x,y,,z均为int型变量,写出描述“x或y中至少有一个小于z”的表达式是 第4章最简单的C程序设计——顺序程序设计 一、读程序,写出程序执行结果 1.voidmain() {inta=5,b=8; printf(“a=%db=%d\n”,a,b); a=a+b;b=a-b;a=a-b; printf(“a=%db=%d\n”,a,b);} 2.main() {intx,y=1; printf(“%c\n”,x=99); printf(“%d\n”,(x++,++y,x+y)); } 3.main() {intp=30; printf("%d\n",(p/3>0? p/10: p%3)); } 4.main() {intx,y=0; printf(“%c\n”,x=99); printf(“%d\n”,(x++,++y,x+y)); } 第5章选择结构程序设计 一、读程序,写出程序执行结果 1.voidmain() {intx=-9,y; if(x>0)y=10; elseif(x==0)y=0; elseif(x<-5)y=-3; elsey=-2; printf(“%d\n”,y); } 2.voidmain() {inta,b,c,x; a=b=c=1; x=3; if(! a)x--; elseif(b) if(c)x=3; elsex=4; printf(“%d\n”,x);} 3.voidmain() {inta=12,b=5,c=-3; if(a>b) if(b<0)c=0; elsec++; printf(“%d\n”,c);} 4.main() {intx=100,a=20,b=10; intv1=5; if(a if(b! =15) if(! v1) x=1; else x=10; x=-1; printf(“%d”,x); } 5.main() {inta=4,b=3,c=5,t=0; if(a if(a printf("%d%d%d\n",a,b,c); } 6.main() {inti=2; switch(i) {case1: printf(“%d”,i++); break; case2: printf(“%d”,i++); case3: printf(“%d”,i++); break; case4: printf(“%d”,i++);} } 7.voidmain() {ints=’3’; switch(s-'2') {case0; case1: putchar(s+4); case2: putchar(s+4);break; case3: putchar(s+3); default: putchar(s+2); } } 8.voidmain() {intx=2; switch(1+x) {case0; case1: printf(“apple”);break; case2: printf(“hello”);break; case3: printf(“world”); default: printf(“thankyou”); } } 第6章循环控制 一、选择题 1.对于循环for(k=16;k>0;k-=3)putchar(‘*’);输出是 A)*****B)******C)*******D)无限循环 2.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) 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; 3.设有inti,x;则循环语句: for(i=0,x=0;i<=9&&x! =876;i++)scanf(“%d”,&x); A)最多执行10次B)最多执行9次 C)是无限循环D)循环体一次也不执行 二、读程序,写出程序执行结果 1.main() {intn=4; while(n--)printf("%2d",--n);} 2.main() {inti; for(i=0;i<3;i++) switch(i) {case1: printf("%d",i); case2: printf("%d",i); default: printf("%d",i); } } 3.main() {inti,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) {case0: m++;n++;break; case10: n++;break; default: k++;n++; } printf("%d%d%d\n",m,n,k); } 4.main() {inti,j; for(i=5;i>1;i--) {for(j=0;j<11-2*i;j++)putchar(‘‘); for(j=0;j<2*i-1;j++)putchar('9'); } } 5.main() {inta; for(a=1;a<6;a++) {if(a%2) printf(“%”); else continue; printf(“@”); } } 6.voidmain() {intx=2,y=3; intj; for(j=1;y>0;y--)j=j*x; printf(“j=%d\n”,j); } 7.voidmain() {intn=-5; while(++n) printf("%2d",++n); } 8.main() {intx=15; while(x>10&&x<50) {x++; if(x/3){x++;break;} elsecontinue;} printf(“%d\n”,x); } 9.voidmain() {intx,y; for(x=1,y=1;y<=50;y++) {if(x>=10)break; if(x%2==1){x+=5;continue;} x-=3; } printf("%d%d\n",x,y);} 10.main() {intk=4,n=0; for(;n {n++; if(n%3! =0)continue; k--;} printf("%d,%d\n",k,n); } 11.voidmain() {inti=1; while(i<10) if(++i%5! =3)continue; elseprintf("%d",i); } 12.main() {intk=0,m=0; inti,j; for(i=0;i<2;i++) {for(j=0;j<3;j++) k++; k-=j;} m=i+j; printf(“k=%d,m=%d”,k,m); } 13.voidmain() {intt,n=15; t=0; do{ t+=n; n-=2; }while(n>0); printf(“%d\n”,t); } 14.voidmain() {intn1,n2; n2=5678; while(n2! =0) {n1=n2%10; n2=n2/10; printf("%d",n1); } } 第7章数组 一、选择题 1.在执行inta[][3]={{1,2},{3,4}};语句后a[1][2]的值是 A、3 B、4 C、0 D、2 2.已知: inta[][3]={1,2,3,4,5,6,7,8,9,0};则数组a的第一维的大小是 A)2B)3C)4D)无法确定; 3.以下能正确定义数组并正确赋初值的语句是 A)intN=5,b[N][N];B)inta[1][2]={{1},{3}}; C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}}; 4.以下不能正确定义二维数组的选项是 A)inta[2][2]={{1},{2}};B)inta[][2]={1,2,3,4}; C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}}; 5.有语句: chars1[10],s2[10]={"books"};则能将字符串books赋给数组s1的正确语句是 A)s1={"books"};B)strcpy(s1,s2); C)s1=s2;D)strcpy(s2,s1); 6.C语言标准函数strcpy(s3,strcat(s1,s2))的功能是 A)将字符串s1复制到s2中,再连接到s3之后 B)将字符串s2连接到s1之后,再将s1复制到s3中 C)将字符串s2复制到s1中,再将s1连接到s3之后 D)将字符串s2连接到s1之后,再将s3复制到s1中 二、读程序,写出程序执行结果 1.main() {intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; inti,s=0; for(i=0;i<4;i++)s+=aa[i][3]; printf(“%d\n”,s);} 2.main() {inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; inti,j,s=0; for(i=0;i<4;i++) {for(j=0;j<4;j++) {if(a[i][j]<0)continue; if(a[i][j]==0)break; s+=a[i][j]; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 综合 复习资料