[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷19及答案与解析.doc

上传人:priceawful190 文档编号:498937 上传时间:2018-11-30 格式:DOC 页数:14 大小:42.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷19及答案与解析.doc_第1页
第1页 / 共14页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷19及答案与解析.doc_第2页
第2页 / 共14页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷19及答案与解析.doc_第3页
第3页 / 共14页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷19及答案与解析.doc_第4页
第4页 / 共14页
[计算机类试卷]国家二级C语言(C语言基础知识)机试模拟试卷19及答案与解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、国家二级 C语言( C语言基础知识)机试模拟试卷 19及答案与解析 一、选择题 1 以下叙述中正确的是 ( A)在赋值表达式中,赋值号的右边可以是变量,也可以是任意表达式 ( B) a是实型变量, a=10在 C语言中是允许的,因此可以说:实型变量中可以存放整型数 ( C)若有 int a=4,b=9; 执行了 a=b后, a的值已由原值改变为 b的值, b的值变为0 ( D)若有 int a=4,b=9; 执行了 a=b;b=a;之后, a的值为 9, b的值为 4 2 有以下程序 #include stdio.h main() int a=3; printf(“%dn“, ( a+=a-=

2、a*a ); 程序运行后的输出结果是 ( A) 9 ( B) 0 ( C) 3 ( D) -12 3 若有定义和语句: int a, b; scanf(“%d,%d,“, 以下选项中的输入数据,不能把值 3赋给变量 a、 5赋给变量 b的是 ( A) 3,5 ( B) 3,5, ( C) 3 ,5 ( D) 3,5,4 4 设有定义: int x=2; 以下表达式中,值不为 6的是 ( A) 2*x, x+=2 ( B) x+,2*x ( C) x*=(1+x) ( D) x*=x+1 5 有以下程序 #include main() int x, y, z; x=y=1; z=x+,y+,+y

3、; printf(“%d,%d,%dn“,x,y,z); 程序运行后的输出结果是 ( A) 2,3,1 ( B) 2,3,2 ( C) 2,3,3 ( D) 2,2,1 6 若变量 x、 y已正确定义并赋值,以下符合 C语言语法的表达式是 ( A) +x,y=x- ( B) x+1=y ( C) x=x+10=x+y ( D) double(x)/10 7 设有定义: int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是 ( A) k+ ( B) k+=1 ( C) +k ( D) k+1 8 若有以下程序 #include stdio.h main() int a=0,b=

4、0,c=0; c= (a -= +a), (a+=b, b+=4); printf(“%d,%d,%dn“,a,b,c); 则程序的输出结果是 ( A) 0,4,4 ( B) 1,4,1 ( C) 0,4,0 ( D) 1,4,4 9 若有以下 程序 #include stdio.h main() int a=0,b=0,c=0 c= (a+=+b, b+=4); printf(“%d,%d,%dn“,a,b,c); 则程序的输出结果是 ( A) 1,5,1 ( B) -1,4,4 ( C) 1,5,5 ( D) -1,4,-1 10 有以下程序 main() int sum, pad, pA

5、d; sum = pad = 5; pAd = +sum, pAd+, +pad; printf(“%dn“, pad ); 程序的输出结果是 ( A) 5 ( B) 7 ( C) 8 ( D) 6 11 若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+) : (y+)中的条件表达式 (x-y) 等价的是 ( A) (x-y 0) ( B) (x-y 0) ( C)( x-y 0x-y 0) ( D) (x-y=0) 12 以下选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( A) x/2 ( B) x%2=0 ( C) x%2!=0 ( D)

6、x%2=1 13 以下选项中,当 x为大 于 1的奇数时,值为 0的表达式是 ( A) x/2 ( B) x%2!=0 ( C) x%2=0 ( D) x%2=1 14 以下叙述中正确的是 ( A)关系运算符两边的运算对象可以是语言中任意合法的表达式 ( B)在 C语言中,逻辑真值和假值分别对应 1和 0 ( C)对于浮点变量 x和 y,表达式: x=y 是非法的,会出编译错误 ( D)分支结构是根据算术表达式的结果来判断流程走向的 15 以下叙述中正确的是 ( A) a表示一个字符常量 ( B) 0表示字符 0 ( C)表达式: a b的结果是 “假 ” ( D) “是非法的 16 以下关于

7、逻辑运算符两侧运算对象的叙述中正确的是 ( A)只能是整数 0或非 0整数 ( B)可以是结构体类型的数据 ( C)可以是任意合法的表达式 ( D)只能是整数 0或 1 17 若 a是数值类型,则逻辑表达式 (a=1)|(a!=1)的值是 ( A) 0 ( B) 2 ( C) 1 ( D)不知道 a的值,不能确定 18 当变量 c的值不为 2、 4、 6时,值也为 “真 ”的表达式是 ( A) (c=2)|(c=4)|(c=6) ( B) (c =2 char z=B ; B = ( x ) printf(“%dn“, B ); 程序运行后的输出结果是 ( A) 0 ( B) 35 ( C)

8、1 ( D) 66 22 与数学表达式 xyz对应的 C语言表达式是 ( A) (x =y =z) ( B) (x =y)b=a;后, a的值为 9, b的值也为 9。 【知识模块】 C语言基础知识 2 【正确答案】 D 【试题解析】 对于表达式 a+=a-=a*a相当于 a=a-( a*a),然后计算 a=a+a, a的初值为 3,则表达式的值为 -12。 【知识模块】 C语言基础知识 3 【正确答案】 C 【试题解析】 在格式控制字符串中插 入其他字符,则在输入的时候应该据实加入到输入流中,不能随意加入空格等,否则无法得到正确的输入结果。 【知识模块】 C语言基础知识 4 【正确答案】 C

9、 【试题解析】 本题考查逗号表达式。逗号表达式的求解过程是:先求解表达式1,再求解表达式 2,整个逗号表达式的值是表达式 2的值,因此,选项 A中值为4;选项 B中,值为 6。选项 C中 x*=x+1 等价于 x=x*( x+1),所以等于 6;选项D与选项 C等价,结果也为 6。 【知识模块】 C语言基础知识 5 【正确答案】 A 【试题解析】 在程 序中,整型变量 x、 y的初值都为 1,赋值语句 z=x+,y+,+y右边的 “x+,y+,+y”是一个逗号表达式,所以逗号表达式的值为 +y的值。执行逗号表达式 “x+,y+,+y”后, x的值为 2, y的值为 3, z取逗号表达式的值,为

10、1。 【知识模块】 C语言基础知识 6 【正确答案】 A 【试题解析】 用逗号将表达式连接起来的式子称为逗号表达式。其表达式的一般形式为:表达式 1,表达式 2, ,表达式 n。最后一个表达式的值就是此逗号表达式的值。所以选项 A为 C语言中的逗号表达式。赋值表达 式的左侧只能是变量,不能是常量或表达式。强制类型转换表达式的形式为:(类型名)(表达式),其中(类型名)称为强制类型转换运算符,数据类型两边的圆括号不能省略。 【知识模块】 C语言基础知识 7 【正确答案】 A 【试题解析】 因为题中有语句 int k=0;,所以选项 B、 C、 D都是对 k的值加 1,选项 A的语句 k+表示先利

11、用 k的值进行运算,然后 k值才加 1。 【知识模块】 C语言基础知识 8 【正确答案】 C 【试题解析】 表达式 c= (a -= +a), (a+=b, b+=4)相当于逗号表达式,首先计算 c= (a -= +a),其中 a -= +a)等价于 a=a-(+a),得到 a的值 0, c的值为 0,在计算 (a+=b, b+=4)时, a和 b的初值为 0,计算以后, a为 0, b为 4。 【知识模块】 C语言基础知识 9 【正确答案】 C 【试题解析】 对于语句 c= (a+=+b, b+=4);首先计算 a=a+(+b), a,b初值为 0,则计算以后 a为 1, b为 1,然后计算

12、 b+=4,得到 b的值为 5,此时表达式 b+=4的值为整个逗号表达式的值,因此 c的值为 5。 【 知识模块】 C语言基础知识 10 【正确答案】 D 【试题解析】 有逗号表达式构成的语句: pAd = +sum, pAd+, +pad;主要从左到由连续运算,因此 pad的值为 6。注意 pad和 pAd的是不同的变量。 【知识模块】 C语言基础知识 11 【正确答案】 D 【试题解析】 条件表达式的形式如下:表达式 1?表达式 2 : 表达式 3。其含义为当 “表达式 1”的值为非零时,求出 “表达式 2”的值,此时 “表达式 2”的值就是整个条件表达式的值;当 “表达式 1”的值为零时

13、,则求 “表达式 3”的值,这时 “表达式3”的值就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式 “x-y”的值,若其值为非 0(可以是正数,也可以是负数),则再求表达式 “x+”的值,其值就是条件表达式的值;若表达式 “x-y”的值为 0,则再求表达式 “y+”的值,其值就是条件表达式的值。 【知识模块】 C语言基础知识 12 【正确答案】 B 【试题解析】 因为 x的值为大于 1的奇数,所以 x除以 2的余数等于 1。所以选项 B等于关系表达式的结果为假,即等于 0。 【知识模块】 C语言基础知识 13 【正 确答案】 C 【试题解析】 由于 x为大于 1的奇数,因此 x%2取

14、余的值为 1,和 0不相等。 【知识模块】 C语言基础知识 14 【正确答案】 A 【试题解析】 C语言中没有逻辑类型,用非零表示逻辑真。 0表示逻辑假,选项B错误,无法判断两个浮点变量是否相等,但是 x=y不会出现编译错误,选项 C错误,分支结构根据表达式的值,不一定为算术表达式,选项 D错误。 【知识模块】 C语言基础知识 15 【正确答案】 C 【试题解析】 字符常量可以参加关系运算,按照其存储的 ASCII码值进 行比较, a b不成立,值为假。而 0表示 NULL, ASCII码值为 0。 【知识模块】 C语言基础知识 16 【正确答案】 C 【试题解析】 逻辑运算符两侧的运算对象可

15、以是任意合法的表达式。逻辑表达式的运算结果或者为 1( “真 ”),或者为 0( “假 ”)。 【知识模块】 C语言基础知识 17 【正确答案】 C 【试题解析】 在逻辑表达式中, a | b,只有在 a跟 b都为 0时,表达式的结果才为 0。在题中所给的表达式中 a要么等于 1,要么不等于 1,肯定会有一方的值不为真, 表达式值为 1。 【知识模块】 C语言基础知识 18 【正确答案】 D 【试题解析】 逻辑或运算中,只要有一项为真,表达式的值就为真,故选项 D)中 c的值不为 2、 4、 6时,那么表达式 (c =2 & c =6)以及 (c!=3)、 (c!=5)必有一个成立,表达式的值

16、也为真。 【知识模块】 C语言基础知识 19 【正确答案】 C 【试题解析】 表示三个变量的关系,要利用逻辑表达式,用逻辑与连接。 【知识模块】 C语言基础知识 20 【正确答案】 C 【试题解析】 赋值 表达式左边应为变量,选项 C中左边为字符常量,因此非法,其余表达式均为合法的表达式。 【知识模块】 C语言基础知识 21 【正确答案】 C 【试题解析】 表达式 ( x ) & ( z b ), x为 35非零,考虑表达式 z b,成立,则 B的值为 1。 【知识模块】 C语言基础知识 22 【正确答案】 B 【试题解析】 若要表示 x大于等于 y,同时 y大于等于 z,需要用逻辑与表达式连

17、接。 【知识模块】 C语言基础知识 23 【正确答案】 D 【试题解析】 else不能单独使用,和 if匹配使用,要注意逻辑与运算和逻辑或运算出现的短路现象,关系运算结果仅有 0和 1。 【知识模块】 C语言基础知识 24 【正确答案】 A 【试题解析】 逻辑表达式的运算比较复杂,有短路现象,也就是首先计算 “逻辑与 ”或者 “逻辑或 ”运算的第一个运算量的值,根据表达式的值决定是否进行第二个量的值的计算。 “逻辑与 ”和 “逻辑或 ”运算低于关系运算和算术运算。但是 “逻辑非 ”运算却高于算术运算。 【知识模块】 C语言基础知识 25 【正确答案】 C 【试题解析】 关系 表达式和逻辑表达式的结果为非零或者 0,其中 0表示假,而非零表示真,由于 3!=4的结果为 1,而 1 2的结果为假。 【知识模块】 C语言基础知识

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1