1、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函数必须出现在固定位置3C语言中用于结构化程序设计的
2、三种基本结构是 A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue4C语言程序的基本单位是A) 函数 B) 过程 C) 子例程 D) 子程序二、填空题1C语言程序总是从函数开始执行。2C语言是种面向_的程序设计语言,其程序的基本单位是。.3C语言中的函数由、两部分组成。4结构化程序设计中所规定的三种基本控制结构是、和。第3章 数据类型、运算符与表达式一、选择题1下列关于C语言用户标识符的叙述中正确的是 A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线
3、 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2C语言中基本数据类型有A)整型、实型、逻辑型 B)整型、字符型、逻辑型C)整型、实型、字符型 D)整型、实型、字符型、逻辑型3在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8 D)164用8位无符号二进制数能表示的最大十进制数为 A)127 B)128 C)255 D)2565在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1 B) 2 C) 3 D) 46在C语言中,char型数据在内存中的存储形式是 A)原码B)补码 C)反码D)A
4、SCII码7十六进制数100转换为十进制数为A)256 B)512 C)1024 D)648十六进制数7A转化成八进制数是 A)123 B)122 C)173 D)1729十进制数32转化成十六进制数是 A)20 B)ff C)10 D)2110与十进制数511等值的十六进制数为A) 1FF B) 2FF C) 1FE D) 2FE11以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a212以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E13依据C语言的语法规则,下列()是用户定义的合法标识符。 A)int B)
5、INT C)jin#2 D)8f14依据C语言的语法规则,下列合法标识符是 A)Else B)else C)user$2 D)5_examp15以下不正确的字符常量是 A)8 B)xff C)887 D) 16以下不正确的字符常量是 A) 0 B) xgg C) 0 D) a17.以下选项中不合法的八进制数是A) 01 B) 077 C) 028 D) 0018下列运算符优先级最高的是A) B) + C) & D) != 19若有说明:char s1=067, s2=1 ; 则变量s1,s2在内存中各占的字节数是。 A)1 1 B)4 1 C)3 1 D)1 220以下不能定义为用户标识符的是
6、A)scanf B)Void C)_3com_ D)inte21在C语言中,可以作为用户标识符的一组标识符是A) void define WORD B) as_b3 _224 ElseC) Switch -wer case D) 4b DO SIG22若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为A)3 B)2 C)1 D)023设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值是A) 10 B) 9 C) 8 D) 7 24已知: char a=a; int b=0; float c= -1.2; double d=0; 执行语句:c=a+b+c
7、+d; 后,变量c的类型是A)char B)int C) double D)float 25表示x0或x1的正确的表达式是A)x=1|x1 | x=1 or x=1 | x0;29已定义c为字符型变量,则下列语句中正确的是A)c=97; B)c=97; C)c=a; D)c=97;30执行int j,i=1; j=-i+; 后j的值是A) -1 B) -2 C) 1 D) 2 31以下选项中非法的表达式是A)(a+2)+ B)i=j=0 C)(char)(65+3) D)x+1=x+132已知小写字母的ASCII码为97,对于int a=99, b=b; printf(“%c,%d”, a ,
8、 b);的结果是 A) 99, b B)c, 98 C)99, 98 D)c, b33以下选项中非法的表达式是A)0=x100 B)i=j=0 C)(char)(65+3) D)x+1=x+134下列错误的表达式是A)-x+ B)(-x)+ C)x+y D)+x+y35对于int x=12, y=8; printf (“%d%d%d”, !x, x | y, x&y); 输出的结果是A)0 1 1 B)0 1 0 C)0 0 0 D)1 1 136设a,b,c均为int型变量,且a=3, b=4, c=5,则下面的表达式中,值为0的表达式是 A)a & b B)0 | |1 C)a | | b
9、 + c & bc D)! ( ( ab)&!c|1)37若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,C的值是A) 1.4 B) 1 C) 2.0 D) 238以下选项中,与k=n+完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+139设a=3,b=4,c=5,则逻辑表达式:a | b+c & b=c 的值是 A)1B)0C)非0 D)语法错40若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是A)20 B)45C)100D)表达式不合法41若有语句int i=19, j=i%4;print
10、f(%dn, j);则输出结果是A)3B)-3 C)4.75D)042设变量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,对于int a=99, b=b; printf(“%c,%d”, a , b);的结果是 A) 99, b B)c, 98 C)99, 98 D)c, b44若有语句int i=19, j=i%4;pri
11、ntf(%dn, j);则输出结果是。 A)3B)-3 C)4.75D)045语句: printf(%d,(a=2)&(b=-2); 的输出结果为 a)无输出 b)结果不确定 c) 1 d) 246有定义语句:int x, y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是 A)11 12 B)11, 12C)11,12 D)11,1247设a=3,b=4,c=5,则逻辑表达式:a | b+c & b=c 的值是 A)1B)0C)非0 D)语法错48已知 char ch=A; 且表达式 ch=(ch=A & ch=Z)
12、 ?(ch+32) ::ch的值是( )A) A B)a C) Z D)出错49如下程序段:int x=2005, y=2006;printf(%dn,(x,y);则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2005D)输出值为200650设有如下程序段:int x=2, y=3;printf(%dn,(x,y);则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2D)输出值为3二、填空题1C语言中逻辑”真”用表示,逻辑”假”用表示。2在C语言中,整数可用进制、
13、进制和进制3种数制表示。3十进制数52转化成八进制数是。4十六进制数7A转化成八进制数是。5十进制数47转化成八进制数是。6在C语言中,101是种特殊的字符常量,它称为,其表示的字符为。7在C语言程序中,整型数可用十进制、进制和进制3种数制表示。070是个合法的整型数。8字符串 “ab034x79”的长度为。9十六进制数7A转化成八进制数是。10语句: printf(%d,(a=-10)&(b=0); 的输出结果为。11若w=1,x=2,y=3,z=4,则条件表达式w x ? w : y 0 ? p/10 : p%3);4main() int x,y=0; printf(“%cn”, x=99
14、) ; printf(“%dn”, (x+ , +y , x+y) ;第5章 选择结构程序设计一、读程序,写出程序执行结果 1void main() int x= - 9, y ; if(x0) y=10 ; else if(x= =0) y=0;else if(xb) if(b0) c=0;else c+;printf(“%dn”,c); 4 main() int x=100,a=20,b=10; int v1=5; if(ab) if(b!=15) if(!v1) x=1; else x=10; x=-1; printf(“%d”,x); 5main() int a=4,b=3,c=5,t
15、=0; if (ab) t=a; a=b; b=t; if (a0; 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设有int i ,x ; 则循环语句: for(i=0,x=0;i=9&x!=876;i+) scanf(“%d”,&x); A)最多执行10次 B)最多执行9次 C)是无限循环 D)循环体一次也不执行二、
16、读程序,写出程序执行结果 1main() int n=4 ; while(n- -) printf(%2d,- -n) ; 2main() int i; for (i=0; i3; i+) switch (i) case 1: printf(%d , i); case 2: printf(%d , i); default : printf(%d , i); 3main() int i,m=0,n=0,k=0;for(i=9; i1; i- -) for(j=0;j11-2*i;j+)putchar();for(j=0;j2*i-1;j+) putchar(9); 5 main() int a;
17、 for(a=1;a0 ; y - - ) j=j*x;printf(“j=%dn”,j);7void main() int n= -5 ; while(+n) printf(%2d, +n) ; 8 main() int x=15;while(x10 & x50) x+;if(x/3)x+;break;else continue; printf(“%dn”,x);9void main() int x,y; for(x=1,y=1; y=10) break; if(x%2=1) x+=5; continue ; x-=3; printf(%d %dn,x,y);10main() int k=4
18、,n=0;for( ; nk ; ) n+;if(n%3!=0) continue;k-; printf(%d,%dn,k,n);11void main() int i=1; while (i10) if(+i%5!=3) continue ; else printf(%d ,i); 12 main() int k=0,m=0; int i,j; for(i=0;i2;i+) for(j=0;j0);printf(“%dn”, t);14void main() int n1,n2; n2=5678; while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1);
19、 第7章 数组一、选择题1在执行int a 3=1,2,3,4; 语句后a12的值是 A、B、C、D、2已知:int a 3=1,2,3,4,5,6,7,8,9,0; 则数组a的第一维的大小是 A)2 B)3 C) 4 D)无法确定;3 以下能正确定义数组并正确赋初值的语句是 A)int N=5,bNN; B)int a12=1,3; C)int c2= 1,2,3,4; D)int d32=1,2,34;4以下不能正确定义二维数组的选项是 A)int a22=1,2; B)int a2=1,2,3,4;C)int a22=1,2,3; D)int a2=1,2,3,4;5有语句:char s
20、110,s210=books; 则能将字符串books赋给数组s1的正确语句是 A)s1=books ; B)strcpy(s1,s2); C)s1=s2; D)strcpy(s2,s1);6C语言标准函数 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() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6
21、;int i,s=0 ;for(i=0;i4;i+) s+=aai3;printf(“%dn”,s); 2main() int a44=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0; int i, j, s=0; for (i=0; i4; i+) for (j=0; j4; j+) if (aij 0) continue; if (aij = 0) break; s += aij; printf(%dn, s); 3main() int p7=11,13,14,15,16,17,18, i=0,k=0; while(i7 & pi%2) k =k+ pi; i+; printf(%dn, k); 4main()
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1