《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-while D)if、for、continue 4.C语言程序的基本单位是
A) 函数 B) 过程 C) 子例程 D) 子程序
二、填空题
1.C语言程序总是从 函数开始执行。
2.C语言是种面向_____的程序设计语言,其程序的基本单位是 。. 3.C语言中的函数由 、 两部分组成。
4.结构化程序设计中所规定的三种基本控制结构是 、 和 。
第1页(共23页)
第3章 数据类型、运算符与表达式 一、选择题
1.下列关于C语言用户标识符的叙述中正确的是
A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 2.C语言中基本数据类型有
A) 整型、实型、逻辑型 B)整型、字符型、逻辑型 C) 整型、实型、字符型 D)整型、实型、字符型、逻辑型 3.在计算机中,一个字节所包含二进制位的个数是
A)2 B)4 C)8 D)16
4.用8位无符号二进制数能表示的最大十进制数为 A)127 B)128 C)255 D)256
5.在计算机系统中,存储一个汉字的国标码所需要的字节数为
A) 1 B) 2 C) 3 D) 4 6.在C语言中,char型数据在内存中的存储形式是
A)原码 B)补码 C)反码 D)ASCII码 7.十六进制数100转换为十进制数为
A)256 B)512 C)1024 D)64 8.十六进制数7A转化成八进制数是
A)123 B)122 C)173 D)172
9.十进制数32转化成十六进制数是
A)20 B)ff C)10 D)21 10.与十进制数511等值的十六进制数为
A) 1FF B) 2FF C) 1FE D) 2FE 11.以下选项中可作为C语言合法整数的是
A)10110B B)0386 C)0Xffa D)x2a2 12. 以下选项中合法的实型常数是
A) 5E2.0 B) E-3 C) .2E0 D) 1.3E
13.依据C语言的语法规则,下列( )是用户定义的合法标识符。 A)int B)INT C)jin#2 D)8f 14.依据C语言的语法规则,下列合法标识符是 A)Else B)else C)user$2 D)5_examp 15.以下不正确的字符常量是
A)'8' B)'\\xff ' C)'\\887' D)' ' 16.以下不正确的字符常量是
A) '\\0' B) '\\xgg ' C) '0' D) ' a' 17. 以下选项中不合法的八进制数是
A) 01 B) 077 C) 028 D) 00 18.下列运算符优先级最高的是
A) ? B) + C) && D) !=
第2页(共23页)
19.若有说明:char s1='\\067', s2='1' ; 则变量s1,s2在内存中各占的字节数是。 A)1 1 B)4 1 C)3 1 D)1 2 20.以下不能定义为用户标识符的是
A)scanf B)Void C)_3com_ D)inte 21. 在C语言中,可以作为用户标识符的一组标识符是
A) void define WORD B) as_b3 _224 Else C) Switch -wer case D) 4b DO SIG
22. 若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为
A) 3 B) 2 C) 1 D) 0
23.设所有变量均为整型,则表达式(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+d; 后,变量c的类型是
A)char B)int C) double D)float 25.表示x≤0或x≥1的正确的表达式是
A) x>=1||x<=0 B) x>1 || x<=0 C) x>=1 or x<=0 D) x>=1 || x<0
26. 对于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 1 27. 设有int x=11;则表达式(x++*1/3)的值是
A) 3 B) 4 C) 11 D) 12 28. 以下非法的赋值语句是
A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0; 29.已定义c为字符型变量,则下列语句中正确的是
A)c='97'; B)c=\ C)c=\ 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+1
32.已知小写字母的ASCII码为97,对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是 A) 99, b B)c, 98 C)99, 98 D)c, b 33.以下选项中非法的表达式是
A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 34.下列错误的表达式是
A)-x++ B)(-x)++ C)x+++y D)++x+y
35.对于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 1
36.设a,b,c均为int型变量,且a=3, b=4, c=5,则下面的表达式中,值为0的表达式是 A)'a' && 'b' B)0 | |1 C)a | | b + c && b-c D)! ( ( a
A) 1.4 B) 1 C) 2.0 D) 2
38. 以下选项中,与k=n++完全等价的表达式是
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1 39. 设a=3,b=4,c=5,则逻辑表达式:a || b+c && b==c 的值是
第3页(共23页)
A)1 B)0 C)非0 D)语法错
40.若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是
A)20 B)45 C)100 D)表达式不合法 41.若有语句int i=﹣19, j=i%4;printf(\则输出结果是
A)3 B)-3 C)4.75 D)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,对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是 A) 99, b B)c, 98 C)99, 98 D)c, b 44.若有语句int i=﹣19, j=i%4;printf(\则输出结果是。
A)3 B)-3 C)4.75 D)0
45.语句: printf(\的输出结果为
a) 无输出 b) 结果不确定 c) 1 d) 2
46.有定义语句:int x, y;,若要通过scanf(\语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
A)11 12<回车> B)11, 12<回车>
C)11,12<回车> D)11,<回车>12<回车> 47.设a=3,b=4,c=5,则逻辑表达式:a || b+c && b==c 的值是 A)1 B)0 C)非0 D)语法错
48.已知 char ch='A'; 且表达式 ch=(ch>='A' && ch<='Z') ?(ch+32) ::ch 的值是( ) A) A B)a C) Z D)出错 49.如下程序段:
int x=2005, y=2006; printf(\则以下叙述中正确的是
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B)运行时产生出错信息 C)输出值为2005 D)输出值为2006 50.设有如下程序段:
int x=2, y=3;
printf(\则以下叙述中正确的是
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B)运行时产生出错信息 C)输出值为2 D)输出值为3
二、填空题
1.C语言中逻辑”真”用 表示 ,逻辑”假”用 表示。
第4页(共23页)
2.在C语言中,整数可用 进制、 进制和 进制3种数制表示。 3.十进制数52转化成八进制数是 。 4.十六进制数7A转化成八进制数是 。 5.十进制数47转化成八进制数是 。
6.在C语言中,?\\101?是种特殊的字符常量,它称为 ,其表示的字符为 。 7.在C语言程序中,整型数可用十进制、 进制和 进制3种数制表示。070是个合法的 整型数。
8.字符串 “ab\\034\\\\\\x79”的长度为 。 9.十六进制数7A转化成八进制数是 。
10.语句: printf(\的输出结果为 。
11.若w=1,x=2,y=3,z=4,则条件表达式w < x ? w : y < z ? 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.若有说明语句,int i= -3,j; 则执行语句j=(++i)+(i++); 后j的值是 。 17.已知 int j, i=2; 执行语句 j= -i++ ; 后,j的值是 。 18.设int i=1; char c='1'; 则条件表达式 c= =1 的值是 。 19.语句: printf(\的输出结果为 。 20有:char c='A'; printf(\则输出的结果为 。 21有:int x= -3;则执行语句:x+=x-=x*x; 后x的值为 22语句 printf(“%%%%\\n”); 的输出为 。
23若有说明:char s1='\\xff', s2='f' ; 则变量s1,s2在内存中所占的字节数均为 。 24在C语言中,char型数据在内存中是以 形式存储,其存储的字节数是 。 25设x,y,,z均为int型变量,写出描述“x或y中至少有一个小于z”的表达式是
第4章 最简单的C程序设计——顺序程序设计 一、读程序,写出程序执行结果
1.void main() { int a=5, b=8;
printf(“a=%d b=%d\\n”, a,b) ; a=a+b; b=a-b; a=a-b; printf(“a=%d b=%d\\n”, a,b) ; } 2.main()
{ int x,y=1;
printf(“%c\\n”, x=99) ;
printf(“%d\\n”, (x++ , ++y , x+y)) ;
第5页(共23页)