《二级C语言习题汇编及答案.pdf》由会员分享,可在线阅读,更多相关《二级C语言习题汇编及答案.pdf(167页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试二级C语言程序设计习 题 集校内复习资料第一章C语言的结构一.单项选择题1.设d 为字符变量,下 列 表 达 式 不 正 确 的 是(A)d=9 7(B)d=a (C)d=a (D)d=g 2.C 语言的程序一行写不下时,可以 oA 用逗号换行 B 用分号换号C 在任意一空格处换行 D 用回车符换行3.在A S C H 代码表中可以看到每一个小写字母比它相应的大写字母的A S C H 码(A)大32(B)大64(C)小32(D)小 14.下列四个叙述中,错误的是。A 一个C 源程序必须有且只能有一个主函数B 在C 源程序中注释说明必须位于语句之后C 一个C 源程序可以含零个或
2、多个子函数DC源程序的基本结构是函数5.一个C 程序可以包含任意多个不同名的函数,但有且仅有一个 o(A)过程(B)主函数(C)函数(D)i n c l u d e6.C 语言中,当复合语句多于一条时,要有一对 括起来。A 方括号 B 圆括号 C 花括号 D 尖括号7.是C 程序的基本构成单位。(A)函数(B)函 数 和 过 程(C)超文本过程(D)子程序8 .C 语 言 程 序 的 基 本 单 位 是。(A)程 序 行(B)语句(C)函数(D)字符9 .C 语言规定,必须用 作为主函数名。(A)f u n c t i o n (B)i n c l u d e (C)m a i n (D)s
3、t d i o10.C 语言规定,在一个C 程序中,m a i n ()函数位置_ _ _ _ _ _。A 必须开始 B 必须在最后C 可以任意 D 必须在系统调用库函数之后11.下列说法正确的是。(A)在执行C 程序时不是从m a i n 函数开始的(B)C 程序书写格式严格限制,行内必须写一个语句(C)C 程序书写格式自由,一个语句可以分写在多行上(D)C 程序书写格式严格限制,一行内必须写一个语句,并要有行号12.以 下 说 法 中 正 确 的 是。(A)C 语言程序总是从第-个定义的函数开始执行(B)在C 语言程序中,要调用的函数必须在m a i n。函数中定义(C)C 语言程序总是从
4、m a i n。函数开始执行(D)C 语言程序中的m a i n。函数必须放在程序的开始部分13.以下叙述不正确的是 oA 分号是C 语句的必要组成部分BC程序的注释可以写在语句的后面C 函数是C 程序的基本单位D 主函数的名字不定用m a i n 表示14.若有以卜定义:float x;int a,b;则正确的switch语句是 o(A)switch(x)case 1.0:printf(*n);case 2.0:printf(*n);)(B)switch(x)case l,2:printf(*n);case 3:printf(*n);)(C)switch(a+b)case l:printf(
5、*n);case l+2:printf(*n);)(D)switch(a+b)case l:printf(*n);case 2:printf(*n);15.一个c语言由若干个c函数组成,各 个 函 数 在 文 件 中 的 书 写 位 置 为。A 任意B 第一个函数必须是主函数,其他函数任意C 必须完全按调用的顺序排序D 其他函数必须在前,主函数必须在最后16.程序#define NUM 30+4main()printf(NUM*20=%d,NUM*20);的执行结果为。(A)NUM*20=110(B)NUM*20=680(C)NUM*20=604(D)以上都不对17.下面属于C语句的是。A p
6、rintf(%dn,a)B#includeC a=b;b=c;c=a;D/*this is a program*/18.所 谓 微 处 理 器 的 位 数,就 是 计 算 机 的。(A)字长(B)字(C)字节(D)二进制位19.C语 言 程 序 的 基 本 单 位 是。A 程序行 B 语句 C 函数 D 字符20.以 下 叙 述 正 确 的 是。A C语言程序总是从第一个定义的函数开始执行B C语言程序中的main()函数开始执行C C 语言程序中的main()函数必须放在程序的开始执行D 一个C函数中只允许一对花括号21.机器语言是用 编写的。(A)二进制码(B)ASCH码(C)十六进制码(
7、D)国标码22.计算机只能识别机器语言,而人熟悉高级语言,故人机通信必须借助一种中间者,此中间者就是(A)编 译 程 序(B)编辑程序(C)连接程序(D)装入程序23.下面正确的赋值语句是A i+;B a=l,b=2;C a=b=5 D y=int(x)2 4 .以下叙述中正确的是A)C 程序中注释部分可以出现在程序中任意合适的地方B)花括号“和 只能作为函数体的定界符C)构成C 程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C 语句之间的分隔符,不是语句的一部分?2 5 .在C 语言中,回车换行符是。(A)n(B)t (C)v (D)b2 6.不是C 语言提供的合法关键字。(A)
8、sw it c h (B)print (C)c ase (D)d e f au lt2 7.下面四个叙述中,错误的是 oAC语言中的关键字必须小写BC语言中的标识符必须全部由字母组成CC语言不提供输入输出语句DC语言中的注释行可以出现在程序的任何位置2 8.下面四个叙述中,正确的是。A C 程序中的所有字母都必须小写B C 程序中的关键字必须小写,其他标识符不区分大小C C 程序中的所有字母都不区分大小D C 语言中的所有关键字必须小写2 9 .在C 语言中,每个语句和数据定义是用 结束。(A)句号(B)逗号(C)分号(D)括号3 0 .以下选项中可作为C 语言合法整数的是A)1 0 1 1
9、0 B B)0 3 86 C)O X f f a D)x 2 a23 1 .在print f 的格式字符中,g 格 式 字 符 的 作 用 是.A 以字符形式输出,且只输出了 个字符B 输出一个字符串C 用来输出实数,并根据数值的大小,自动选用晤式或e 格式D 以无符号十进制形式输出整数3 2 .在c 语言中,如果下面的变量都是int 类型,则输出结果是S u m=pad=;pA d=su m+,pA d+pA d;P rint f (%d ,pad);A 7 B 6 C 5 D 43 3 .结构化程序设计的三种基本逻辑结构为顺序、选择和 o(A)随机(B)循环(C)相关(D)直接3 4 .下
10、 列 字 符 串 是 标 识 符 的 是。(A)_ W L (B)3 _ 3 3 3 3 (C)int (D)L I N E 33 5 .C 语 言 提 供 的 合 法 关 键 字 是。(A)bre ak(B)print (C)f u nit on(D)e nd3 6.C 语 言 提 供 的 合 法 关 键 字 是。(A)c ont inu e (B)proc e d u re (C)be g in(D)appe nd37.在下面字符序列中,不可用作c语言标识符的是 oA water B price C ab D al238.下 列 字 符 串 是 标 识 符 的 是。(A)INT(B)5_s
11、tudent(C)long(D)!DF39.下面 不 正 确 的 叙 述 是.A 在C程序中所应用变量必须先定义后使用B 在程序中,XYZ和xyz是两个不同的变量C 若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D当输入数值型数据时.,对于整型变量只能输入整型值;对于实型变量只能输入实型值40.下面各标识符中,合 法 的 用 户 自 定 义 标 识 符 是。A A#B B 2B C void D printf41.以下选项中,合法的C语 言 关 键 字 是。AVAR Bcher C2L D default42.以下选项中非法的表达式是?A)0=x100?B)i=j
12、=0 C)(char)(65+3)?D)x+l=x+l43.下 面 正 确 的 叙 述 是。A 在C程序中,语句之间必须用分号;分隔B若a是实型变量,C程序中允许以下赋值a=1 0,因此实型变量中允许存放整型C在C程序中,无论是整数还是实数,都能准确无误地表示D在C程序中,是只能用于整数运算的运算符44.以下不能定义为用户标识符的是A)scanf?B)Void?C)_3com_?D)int45.下 列 字 符 串 是 标 识 符 的 是.(A)_HJ(B)9_student(C)long(D)LINE 1二.填空题1.以下函数用来求出两整数之和,并通过形参将结果传回,请填空。void func
13、(int x,int y,z)*z=x+y;2.主函数名后面的对圆括号中间可以为空,但对圆括号不能。3.函 数 体 一 般 包 括、。4.函数体的范围是 o5.在C语言中,输入操作是由库函数 完成的,输出操作是由库函数 完成。6.在一个C源程序中,注 释 部 分 两 侧 的 分 界 符 分 别 为 和。7.一个C源 程 序 中 至 少 应 包 括 一 个。8.C源程序的基本单位是.第二章数据类型及其运算一.单项选择题1.在C语言中,逻辑真以 表示。A tr ue B大于0的 数C非零整数 D非零数2 .C语言中,文件由 oA记录组成 B由数据行组成C由数据块组成 D由字符序列组成3.已知在A
14、SC I I代码中,字母A的序号为6 5,以下程序的输出的结果是一#i ncl ud e m a i n()ch a r c 1 =A ,c2=Y ;p r i ntf(%d,%d n,cl,c2);A)因输出格式不合法,输出错误信息B)6 5,900 A,Y D)6 5,8 94.如果i nt i=3;i nt j=4k=i+j执行之后k,i和j的值分别为。(A)7,3,4 (B)8,3,5 (C)7,4,4 (D)8,4,55.si ze of(d oub l e)是A)一种函数调用 B)一个双精度型表达式C)一个整型表达式 D)一个不合法的表达式6.在C语言中,下列 类 型 属 于 基
15、本 类 型 的 是。(A)整型、实型、字符型(B)空类型、枚举型(C)结构体类型、实型(D)数组类型、实型7.以下选项中,非法的字符常量是 oA t B 1 7 C n D x a a 8.下列符号中,可 以 作 为 变 量 名 的 是。(A)+c(B)*X(C)_ D A Y (D)ne x t d a y9.下面C语言中非法的转义字符为 oAV B M0 8 C n D x f f1 0 .以下程序的输出结果是 om a i n()i nt i=0 1 0,j=1 0,k=0 x 1 0;p r i ntf(%d,%d,%d n,i,j,k);(A)8,1 0,1 6 (B)8,1 0,1
16、 0 (C)1 0,1 0,1 0 (D)1 0,1 0,1 61 1.将十进制2 1转化为二进制为。(A)1 1 1 1 1 (B)1 0 1 0 1 (C)1 0 0 1 1 (D)1 0 0 0 11 2.以 下 程 序 的 输 出 结 果 是。m a i n()i nt i=0 1 1,j=l l,k=0 x l l;p r i ntf(%d,%d,%d n,i j,k);(A)9,1 1,1 7 (B)9,l l,l l (C)1 1,1 1,1 1 (D)1 1,1 1,1 61 3.在C语言中,合 法 的 字 符 常 量 是。A 0 8 4 B M4 3 C a b D 0 1
17、4.以下叙述正确的是A可以把d e f i ne和i f定义为用户标识符B可以把define定义为用户标识符,但不能把if定义为用户标识符C可以把if定义为用户标识符,但不能把define定义为用户标识符D define和if都不能定义为用户标识符15.在C语言中,以 下 合 法 的 字 符 常 量 是。(A)084(B)x43(C)O(D)016.在C语言中,合 法 的 长 整 型 常 数 是=AOL B 4962710 C 0.054838743 D2.1869elO17.下列符号中,可以作为变量名的是 o(A)+a(B)12345e(C)a3B(D)5e+018.在C语言中,下列 类 型
18、 属 于 构 造 类 型 的 是。(A)整 型(B)字 符 型(。实 型(D)数组类型19.下列 类 型 不 属 于 基 本 类 型 的 是。(A)结构体类型和整型(B)结构体类型、数组、指针(C)实型(D)空类型和枚举型20.下列常数中,不合法的C常量是。(A)-Ox3bl(B)123e+2.3(C)(D)6e+721.下列常数中,不合法的C常量是。(A)-0 x2al(B)lg3(C)(D)CHINA22.C语 言 提 供 的 合 法 的 数 据 类 型 关 键 字 是。A doubl B short C integer D Char23.C语 言 中 最 简 单 的 数 据 类 型 包
19、括。(A)整型,实型,逻辑型(B)整型,实型,字符型(C)整型,字符型,逻辑型(D)整型,实型,逻辑型,字符型24.当执行下面两个语句后,输 出 的 结 果 为。char cl=97;c2=98;printf(%d%c,cl,c2);A 97 98 B97b Ca98 Dab25.设d为字符变量,下 列 表 达 式 正 确 的 是。(A)d=678(B)d=a(C)d=d(D)d=gjkl26.内存中每一个基本单位,都被赋予一个唯一的序号,称为。(A)容量(B)地址(C)编号(D)字节27.两个字节表示。(A)32 位(B)16 位(C)8 位(D)4 位28.以下可用作C语言用户标识符的一组
20、标识符是。(A)void(B)a3_b3(C)For(D)2adefine _123-abc DOWORD IF Case sizeof29.下 列 数 中,最 小。(A)二进制数100(B)十进制数8(C)十六进制数12(D)八进制数1030.C语 言 提 供 的 合 法 关 键 字 是。A switch B chan C Case D default31.下列 字 符 串 不 是 标 识 符 的 是-(A)sum(B)average(C)d a y_ni g h t(D)M.D.J O H N3 2 .下列说法正确的是。(A)m a i n函数必须放在C 程序的开头(B)m a i n函数
21、必须放在C 程序的最后(C)m a i n函数可以放在C 程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C 程序时是从程序开头执行的(D)main 函数可以放在C 程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C 程序时是从main 函数开始的3 3 .表达式(in t)2.1416的值为。(A)2 (B)2.1(C)0(D)33 4.C 语 言 中 能 用 来 表 示 整 常 数 的 进 制 是。(A)十进制、八 进 制、十六进制(B)十二进制、十进制(C)六进制、八进制(D)二进制、十进制3 5.下列常数中,合法的C 常量是。(A)x-y (B)105 (C)B e
22、 (D)7 ff3 6.下列常数中,合法的C 常量是。(A)-0.(B)1O5 (C)A B (D)3+53 7 .下列常数中,合法的C 常量是。(A)n (B)e-3 10(C)D E F (D)12 3 43 8 .以 下 程 序 的 输 出 结 果 是.#in clu de main()(in t i=011,j=ll;prin t f(d,%d n”,+i,j);)(A)10,11(B)12,10(C)11,11(D)10,93 9 .下面各运算符中,优先级别最低的是A?:B-C&D-=40.在C 语言中,要 求 运 算 数 必 须 是 整 型 的 运 算 符 是。(A)%(B)/(C
23、)(D)!41.在以下一组运算符中,优先级最高的运算符是 o(A)=(B)=(C)%(D)&42 .下列 运 算 符 中 优 先 级 最 高 的 是。(A)(B)+(C)&(D)=43 .如果in t i=3,则prin t f(“d”,-i+)的结果为 i的值为(A)-3,4(B)-4,4(C)-4,3 (D)-3,344.设有语句in t a=3;则执行了语句a+=a-=a*a;后,变量a的值是。A)3 B)0C)9 D)-1245.如果in t i=3,则k=(+i)+(+i)+(i+)执行过后k的值为 i 的值为一(A)15,6(B)12,5(C)18,6(D)15,546.C 语言中
24、,运 算 对 象 必 须 是 整 型 数 的 运 算 符 是。(A)%(B)/(C)%和/(D)*47 .当运行以卜程序时输入O P E N T H E D O O R(此处vCR代表Enter键),则 输 出 结 果 是#include char fun(char*c)if(*c=A)*c-=A,-,a,;return*c;main()char s 81,*p=s;gets(s);while(*p)*p=fun(p);putchar(*p);p+;putchar(*n*);(A)OPEN tHE dOOR(B)open the door(C)OPEN T H E DOOR(D)Open Th
25、e Door48.写出下面程序的输出结果 omain()int x=2,y=0,z;x+=3+2;printf(M%dx);x*=y=z=4;printf(%d,x);)(A)7 28(B)无法计算(C)7 4(D)8 449.写 出 下 面 程 序 的 输 出 结 果。main()int x,y,z;x=y=l;z=x+-1;printf(u%d,%dt,x,z);z+=x+(+yll+z);printf(H%d,%dH,x,z);(A)2,0 3,-1(B)2,l 3,0(C)2,0 2,i(D)2,1 0,150.写 出 下 面 程 序 的 输 出 结 果。main()int x;x=-
26、3+4*5-6;printf(n%dx);x=3+4%5-6;printf(H%dx);x=-3*4%-6/5;printf(H%d,x);x=(7+6)%5/2;printf(M%du,x);(A)11 1 0 1 B)11-3 2 I(C)12-3 2 1 (D)11 1 2 151.下面程序的输出结果是 omain()int x=0 x23;prin t f(u%d n ,+x);)(A)3 6(B)3 5(C)23(D)2 452.以下关于运算符优先级的描述中,正确的是 o(A)!(逻辑非算术运算 关系运算&(逻辑与)11(逻辑或口赋值运算(B)&(逻辑与)算术运算 关系运算,赋值运算
27、(C)关系运算 算术运算&(逻辑与)11(逻辑或)赋值运算(D)赋值运算,算术运算 关系运算&(逻辑与)11(逻辑或)53.若已定义x和y为dou ble类型,则表达试:x=l,y=x+3/2的值是A 1 B 2 C 2.0 D 2.554.以 下 程 序 的 运 行 结 果 是。main()(in t c,x,y;x=0;y=o;c=0;c=x+&y+;prin t f(M n%d%d%d nn,x,y,c);(A)1 0 0(B)2 1 1 (C)0 1 1 (D)0 0 15 5.为表示关系x =y =z,应使用C语言表达式 o(A)(y =z)(B)(x =y)A ND(y =z)(C
28、)(x =y =z)(D)(x =y)&(y =z)56.表达式(dou ble)(2 0/3)的值为。(A)6(B)6.0(C)2 (D)357.程序段:in t i=6553 6:prin t f(%d nu,D ;则 输 出 结 果 是。A 6553 6 B O C有语法错误,无输出结果 D -158.在下面关于多种类型数据的混合运算的叙述中,正确的一条是一oA -个in t整型与一个dou ble型数据运算,先将dou ble型转换成in t型B 一个in t型与一个lon g型数据运算,先将in t型转换成lon g型C float型数据在运算时一律先转换成单精度型D 一个in t型
29、与一个s hort型数据运算,先将in t型转换成s hort型59.10+a+1.5-567.3 45/b的结果是_型数据。(A)lon g(B)dou ble(C)in t (D)u n s ign ed float60.对 于 下 面 的 程 序,说 法 正 确 的 是。main()in t x=3,y=l,z=l;if(x=y+z)prin t f(x=y 4-z );els e prin t f(,x!=y+zH);)(A)有语法错误不能通过编译(B)输出x=y+z(C)可以通过编译,但是不能通过连接,因 而 不 能 运 行(D)输出x!=y+z61.语句in t i=3;k=(i+
30、)+(i+)+(i+);执行过后k的值为 j的值为(A)9,6(B)12,5(C)18,6(D)15,562.假设所有变量均为整型,表达式a=2,b=5,a b?a+:b+,a+b的值是。A 7 B 8 C 9 D 263.分析以下程序#in clu de main()in t a,b,c=2 46;a=c/100%9;b=(-1 )&(-1);prin t f(,%d,%d n,a,b);)其输出结果是 O(A)2,1(B)3,2 (C)4,3 (D)2,-164.若x=3,y=z=4,贝1J卜 歹C表达式的值分别为。(1)(z =y =x)?1:0(2)z =y&y =x(A)0 1 (B
31、)1 1 (C)0 0(D)1 065.设有如下定义:in t x=10,y=3,z;则语句prin t f(d/n”,z=(x%y,x/y);的输出结果是。(A)3 (B)0(C)4(D)l66.设有语句char a=7 2 ;则变量aA)包含1个 字 符B)包含2个字 符C)包含3个 字 符D)说明不合法67似下程序的运行结果是 omain()(in t a=5,b=6,c=7,d=8,m=2,n=2;prin t f(H%d nH,(m=a b)&(n=c d);(A)0(B)1 (C)2 (D)368.下面程序的输出结果是 omain()in t a,b,c;a=100;b=2 00;
32、prin t f(%d,(a,b);)(A)2 00(B)100(C)100 2 00(D)输出格式符不够,输出不确定的值69.在C语言中,如果下面的变量都是in t类型,则输出的结果是os u m=w a=10;w a=s u m+,w a+,+w a;prin t f(%d n ,w a);(A)10(B)12 (C)11(D)137 0.若已定义in t a=2 5,b=14,c=19似下三项运算符(?:)所构成的语句的执行结果是。a+=2 5&b-=2&c+?prin t f(*a=%d,b=%d,c=%d n ,a,b,c):prin t f(#a=%d,b=%d,c=%d n ,a
33、,b,c)(A)(*a=2 5,b=14,c=19)(B)(*a=2 6,b=13,c=19)(C)(#a=2 5,b=14,c=19)(D)(#a=2 6,b=13,c=19)7 1.表达式:10!=9的值是。(A)t ru e(B)非 零 值(C)0(D)17 2 .表达式a v b 1 1 c&d的运算顺序是A -,&,II B ,ll,&,C ,&,ll,v D7 3.表达试:10!=9的值是 oA t ru e B 非零值 C 0 D 17 4.逻辑运算符运算对象的数据类型_o(A)只能是0或1 (B)只能是T或.F.(C)只能是整型或字符型(D)任何类型的数据75.判断字符型变量c
34、 h为小 写 字 母 的 表 达 式 是。(A),a,=c h =a)&(c h =,a,)I I (c h =a,)&(c h =,z,)76.若t为d oub le类型,表达试t=l,t+5,t+的值是。A 1 B6.0 C2.0 D 1.077.下面程序的输出是 om a i n()i n t x=10,y=3;p ri n t f(,%d n*,y=(x/y,x%y);)(A)0(B)1 (C)3 (D)不确定的值78.若要求在i f后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A a 0 B!a C a=0 D a79.若有以卜函数关系x()f y=xx=0*y=
35、x+l下面 程 序 段 能 正 确 表 示 以 上 关 系 的 是。(A)y=2 x;i f(x!=0)i f(x 0)y=x;els e y=x+1;(B)y=2 x;i f(x=0)i f(x 0)y=x;els e y=x+l;els e y=2 x;(D)y=x+l;i f(x=0)i f(x 0)y=2 x;els e y=x;若有以下变量定义:floa t x;i n t a,b;则正确的s wi lc h语句是。(A)s wi t c h(x)c a s e 1.0:p ri n t f(M*n);c a s e 2.0:p ri n t f(*n);(B)s wi t c h(
36、x)c a s e l,2:p ri n t f(n*n);c a s e.3:p ri n t f(*nu);(C)s wi t c h(a+b)c a s e kp ri n t fC*n);c a s e 2*a:p ri n t f(*n);(D)s wi t c h(a+b)c a s e l:p ri n t f(n*n 0);c a s e l+2:p ri n t f(n*nM);80.设a、b和c都是i n t型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是 o(A)R&b(B)a =b(C)a I I b+c&b-c(D)!(a b)&!c I I 1)
37、81.设i n t a=1 2,则执行完语句a+=a-=a*a的值是A 5 2 2 B 2 6 4 C 144 D-2 6482.设 i n t x=10,y=3,z;则语句 p ri n t f(%d n,z=(x%y,x/y);)的输出结果是A 1 B O C 4 D 383.下列赋面语句中符合C语言语法的是 o(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;84.下面不正确的赋值语句是A i+;B i=i=5;C k=2*4,k*4 D y=floa t(i);85.以下程序的输出结果是m a i n()i n t x
38、=10,y=10;p ri n t f(M%d%d n,x-,-y);)A 10 10 B 9 9 C 9 10 D 10 986.以下程序的输出结果是 om a i n()int x=10,y=10;printf(n%d%d n,x y);)(A)10 10(B)9 9(C)9 10(D)10987.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 o(A)a0(B)!a(C)a=0(D)a88.以下程序的输出结果是#include main()int i=010,j=10;printf(%d,%dn,+i,j);A)11,10 B)9,10 C)010,9 D
39、)10,989.设m、n、p、q为整形变量,则下面选项中不正确的赋值语句是A m=n=p=q=!68;B m+n;C p+;D p=m+n-(q=23);90.设有以下说明:char ch=B,且有下面的表达式:ch=(ch=,A,&ch b)&(n=(+c d&bc);则执行完上述语句后n的值为 o(A)1 (B)2(C)3(D)092.设语句inta=3;,则执行了语句a+=a=a*a;后,变量a 的值是A3 B-12 C9 DO93.设语句int a=3;,则执行了语句a-=a-=a*a;后,变量a 的值是A3 BO C9 D-1294.下面语句中为C语言中正确的赋值语句是A x=l,y
40、=2 B k+;C x=y=2 D y=int(x)95.写 出 下 面 程 序 的 输 出 结 果。main()int x=2,y=0,z;x*=34-2;printf(n%d,x);x*=y=z=4;pri ntf(%d*,x);(A)8 40(B)10 40(C)10 4(D)8 496.以下程序的输出结果是#include#include main()int a=l,b=4,c=2;float x=10.5,y=4.0,z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;pritnf(%fn,z);A)14.000000 B)015.400000 C)13.70000
41、0 D)14.90000097.以下C语 言 赋 值 语 句 合 法 的 是。(A)X=Y=58(B)j+;(C)X=58,Y=58(D)M=int(X+Y);98.下 面 程 序 的 输 出 是.main()int a=-l,b=4,k;k=(a+=0)&(!(b-=0);printf(%d%d%d n”,k,a,b);(A)0 0 3(B)0 1 2(C)10 3(D)1 1 299.以下程序的输出结果是#includemain()int a,b,d=241;a=d/100%9;b=(-1)&(-!);printf(%d,%dn,a,b);)A)6,1 B)2,l C)6,0 D)2,01
42、00.以下程序的运行结果是 omain()(ini c,x,y;x=l;y=l;c=0;c=x+lly+;printf(n%d%d%d n”,x,y,c);)(A)1 1 0(B)2 1 1 (C)0 1 1 (D)00 110L有以下程序main()?int?a;?char?c=10;float?f=100.0;?doubl?e?x;a=f7=c*=(x=6.5);printf(H%d?%d?%3.1 f?%3.1fnM,a,c,f,x);)程序运行后的输出结果是A)1?65?1?6.5?B)1?65?1.57 6.5C)1?65?1.0?6.5?D)2?65?1.5?6.5102.执行下面
43、程序中的输出语句后,a的值是,main()int a;printf(H%d n,(a=3*5,a*4,a+5);(A)65(B)20(C)15(D)10103.如果int i=3,则k=(+i)+(+i)+(+i)执行过后k的值为,i的值为(A)9,6(B)12,5 (C)18,6(D)15,5104.若已知a=10,b=2 0,则表达式!a b的值为。(A)10(B)2 0(C)1 (D)0105.能正确表示x的取值范围在-10,-5 和 0,100内的表达式是 o(A)(x=-5)&(x=100)(B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)(D)(x=-5)
44、&(x=100)106.写出下面程序的输出结果 om a i n()i n t x=4,y=0,z;x*=3+2;p ri n t f(H%d,x);x*=(y=(z=4);p ri n t f(%du,x);(A)14 40(B)2 0 0(C)2 0 4(D)14 4二,填空题1.以下程序的输出结果是#d efi n e MAX(x,y)(x)(y)?(x):(y)m a i n()i n t a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;p ri n t f(%d n,t);)2.在C语言中,程序运行期间,其值不能被改变的量叫3.在一个变量定义语句中可以同时定义
45、多个变量,变量之间用 隔开。4.在T U R B O C中,单 精 度 实 数 的 数 值 范 围 约 在之间。5.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以 输出,也能以_ _ _ _ _ _ _ _ _ _ 输出6.C的字符常量是用 括起来的一个字符。7.在C语言中,系统在每一个字符串的结尾自动加一个字符串结束标志符”即,以便系统据此判断字符串是否结束。8.十进制数15 3转 化 为 二 进 制 数 为。9 .C语 言 的 关 键 字 都 用 大写或小写。10.符号常量是指。11.在C语言中,实数有两种表示形式,即 和 o12.在一个整常量后面加一个字母 或,则认为是
46、lon g i n t型常量。13.在C语言中,常量有不同的类型,包括、和等。14.在C语言中,习惯上符号常量名用 变量用 o 大写或小写15.整型常量和实型常量也称为 它们有正负值之分。16.C语 言 基 本 数 据 类 型 包 括、。17.实型变量分为 和,即floa t和d ub le型。18.i n t型 的 取 值 范 围 是 o19.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做 o2 0.C语言数据类型中构造类型包括三种,它们是、。2 1.若想通过以下输入语句a使中存放字符串12 3 4,b中存放字符5则输入数据的形式应该是.c h a r a 10 ,b;s c a n
47、 f(a=%s b=%c ,a,&b);2 2 .C的字符串常量是用 括起来的字符序列。2 3.位无 符 号 二 进 制 数 能 表 示 的 最 大 十 进 制 数 是。2 4 .C语言中逻辑运算符的优先级是 高于 高于。2 5 .C语言中运算符的优先级最小的是 运算符。2 6.在A S C I I代码表中可以看到每一个小写字母比它相应的大写字母的A S C I I码大。2 7.在C语言中,算 术 运 算 符 的 结 合 性 是 2 8.在C语言中,算术运算符有加、减、乘、除等,这些运算符需要两个运算对象,称为 运算符。2 9.一个C源 程 序 至 少 包 含 一 个,即 o3 0 .s i
48、z e o f用于计算出各个数据类型使用多少内存空间(以b y te s为单位),若有语句:i=s i z e o f(i n t);Dj=s i z e o f(c h a r);则:i=;j=。3 1.在C语言中,变量是指 o3 2.在C语言中,可以利用 将一个表达式的值转换成指定的类型。3 3.s i z e o f用于计算出各个项数据类型使用多少内存空间(以b y te s为单位),若有语句:i=s i z e o f(f lo a t);H j=s i z e o f(d o ub le);则:i=;j=3 4.与八进制小数0.1等值的十六进制小数为 o3 5.下面的程序m a i
49、n()f lo a t x;i n t i;x=3.6;i=(i n t)x;p r i n tf(x=%f,i=%d ,x,i);运行结果为。3 6.下面的程序m a i n()c h a r c l,c 2;c 1 =A ;c 2=B;c l=c 1-3 2;C2=C2-3 2;p r i n tf(%c%c ,c l,c 2);)运行结果为 03 7.下面程序m a i n()(i n t i,j,m,n;i=8;j=10;m=+i;n=j+;p r i n tf(%d,%d,%d,%d ,i,j,m,n);运行后i,j,m,n的值是 o3 8.表达式10+匕 +1.5-0.5*6 的结
50、果是。3 9.表达式10+a +1.5-5 6 7.3 4 5/b 的结果是 型数据。4 0 .表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是 表达式和 表达式,两个表达式执行完的结果是 和。两个表达式执行完后X的值是41.如果inti=3,则printf(%d”,-i+)执行后的输出以及i的结果分别是42.写出以下数学式的C语言表达式。ab c43.若已知a=10,b=20,则表达式!a b的值为。44.设x和y均为int型变量,且x=l,y=2,则表达式2.0+y/x的值为。45.下 面 程 序 的 执 行 结 果 是。main()|int a=5,b=4,c=9;print