[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷11及答案与解析.doc

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

1、国家二级 C语言机试( C语言程序设计)模拟试卷 11及答案与解析 一、选择题 1 若变量均已正确定义并赋值,以下合法的 C语言赋值语句是 ( A) x n 2 5; ( B) x n i; ( C) x 5 4 1; ( D) x y=5; 2 若有定义语句: int a 3, b 2, c 1;以下选项中错误的赋值表达式是 ( A) a b c 1; ( B) a (b 4) 3; ( C) a (b 4) c; ( D) a 1 (b c 4); 3 表达式 a a a 9的值是 ( A) 9 ( B) 0 ( C) 18 ( D) 9 4 若有以下程序 #include main()

2、int a 11 b 10; a b 4: printf(“ d d n“, a, B); 则程序的输出结果是 ( A) 1 2 ( B) 5 2 ( C) 4 3 ( D) 5 3 5 以下叙述中正确的是 ( 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 6 有以下程序,程

3、序运行后的输出结果是 #include main() int a 3: printf(“ d n“, (a a a*A); ( A) 9 ( B) 0 ( C) 3 ( D) -12 7 若有定义和语句: int a, b; scanf(“ d, d,“, a, B); 以下选项中的输入数据,不能把值 3赋给变量 a、 5赋给变量 b的是 ( A) 3, 5 ( B) 3, 5, ( C) 3, 5 ( D) 3, 5, 4 8 有以下程序,程序运行后的输出结果是 main() int m 12, n 34; printf(“ d d”, m*, *n); printf(“ d d n”, n

4、*, *m); ( A) 12353514 ( B) 12353513 ( C) 12343514 ( D) 12343513 9 在 16位编译系统上,若有定义 int a 10, 20, 30, *p a;,当执行 p*;后,下列说法错误的是 ( A) P向高地址移了一个 字节 ( B) P向高地址移了一个存储单元 ( C) P向高地址移了两个字节 ( D) P与 a 1等价 10 设有定义: int x 2:以下表达式中,值不为 6的是 ( A) 2*x, x 2 ( B) x*, 2*x ( C) x* (1 x) ( D) x* x 1 11 有以下程序,程序运行后的输出结果是 #i

5、nclude main() int x, y, z; x y 1; z x*, y*, *y; printf(“ d, d, d n“,x, y, z); ( A) 2,3,1 ( B) 2,3,2 ( C) 2,3,3 ( D) 2,2,1 12 若变量 x、 y已正确定义并赋值,以下符合 C语言语法的表达式是 ( A) x, y=x ( B) x 1 y ( C) x x 10 x y ( D) double(x) 10 13 设有定义: int k 0;以下选项的四个表达式中与其他三个表达式的值不相同的是 ( A) k ( B) k 1 ( C) k ( D) k 1 14 若有以下程序

6、,则程序的输出结果是 #include main() int a 0,b 0,c 0; c (a A), (a b, b 4); printf(“ d, d, d n“,a,b,c); ( A) 0,4,4 ( B) 1,4,1 ( C) 0,4,0 ( D) 1,4,4 15 若有以下程序 #include main() int a 0, b 0, c 0 c (a b, b 4); printf(“ d, d, d n“,a,b,c); 则程序的输出结果是 ( A) 1,5,1 ( B)一 1,4,4 ( C) 1,5,5 ( D) 1,4, 1 16 有以下程序,程序的输 出结果是 ma

7、in() int surn,pad,pAd; surn pad 5; pAd surn,pAd , pad; printf(“ d n“, pad); ( A) 5 ( B) 7 ( C) 8 ( D) 6 17 若有定义 int x, y;并已正确给变量赋值,则以下选项中与表达式 (xy)?(x ): (y )中的条件表达式 (x y)等价的是 ( A) (xy 0) ( B) (xy 0) ( C) (x y 0x y 0) ( D) (x y=0) 18 以下选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( A) x 2 ( B) x 2! 0 ( C) x 2 0 ( D) x

8、 2=1 19 以下叙述中正确的是 ( A)关系运算符两边的运算对象可以是 C语言中任意合法的表达式 ( B)在 C语言中,逻辑真值和假值分别对应 1和 0 ( C)对于浮点变量 x和 y,表达式: x=y是非法的,会出编译错误 ( D)分支结构是根据算术表达式的结果来判断流程走向的 20 以下叙述中正确的是 ( A) a表示一个字符常量 ( B) 0表示字符 0 ( C)表达式: a b的结果是 “假 ” ( D) “是非法的 21 以下关于逻辑运算符两侧运算对象的叙述中正确的是 ( A)只能是整数 0或非 0整数 ( B)可以是结构体类型的数据 ( C)可以是任意合法的表达式 ( D)只能

9、是整数 0或 1 22 若 a是数值类型,则逻辑表达式 (a 1)(a! 1)的值是 ( A) 0 ( B) 2 ( C) 1 ( D)不知道 a的值,不能确定 23 当变量 C的值不为 2、 4、 6时,值也为 “真 ”的表达式是 ( A) (c=2)(c=4)(c=6) ( B) (c 2&c 6)&!(c 2) ( C) (c 2&c 6)&(c 2! 1) ( D) (c 2&c 6)(c! 3)(c! 5) 24 表示关系式 xyz的 C语言表达式的是 ( A) (x y)(y z) ( B) (x y z) ( C) (x y)&(y z) ( D) (x y)!(y z) 25

10、若变量已正确定义,以下选项中非法的表达式是 ( A) a! 4b ( B) a 4 ( C) a 1 2*(x y 20, x*3) ( D) A 32 26 有以 下程序,程序运行后的输出结果是 main() int x 35, B; char z B; B (x) (z b); printf(“ d n“, b) ( A) 0 ( B) 35 ( C) 1 ( D) 66 27 与数学表达式 xyz对应的 C语言表达式是 ( A) (x y z) ( B) (x y)&(y z) ( C) (x y)!(y z) ( D) (x y)(y x) 28 以下叙述中正确的是 ( A)对于逻辑表

11、达式: a &b,设 a的值为 0,则求解表达 式的值后, b的值会发生改变 ( B)对于逻辑表达式: a b,设 a的值为 1,则求解表达式的值后, b的值会发生改变 ( C)关系运算符的结果有三种: 0, 1, 1 ( D) else不是一条独立的语句,它只是 if语句的一部分 29 以下叙述中正确的是 ( A)由 &构成的逻辑表达式与由 构成的逻辑表达式都有 “短路 ”现象, ( B) C语言的关系表达式: 0 x ( C)逻辑 “非 ”(即运算符 !)的运算级别是最低的 ( D)逻辑 “或 ”(即运算符 )的运算级别比算术运算要高 30 下列关系表达式中,结果为 “假 ”的是 ( A)

12、 (3 4)=1 ( B) (3 4) 6 ( C) (3! 4) 2 ( D) 3 4 国家二级 C语言机试( C语言程序设计)模拟试卷 11答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 选项 D的含义是把关系表达式 y=5的值赋给变量 x。所以这是一条正确的赋值语句。因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量。因为求余运算符 “ ”两侧的运算对象都应当是整型数据。 【知识模块】 C语言程序设计 2 【正确答案】 B 【试题解析】 本题主要 考查赋值表达式,对于赋值表达式来说,赋值号 “ ”的左边一定为变量名,右边为一个 C语言合法的表达式。 【知识模块】

13、 C语言程序设计 3 【正确答案】 B 【试题解析】 第一步 a 9,然后计算 a a的值,并将此值赋给 a,因此此时 a 0,最后计算 a a,并将此值赋给 a,因此最终结果为 0。 【知识模块】 C语言程序设计 4 【正确答案】 B 【试题解析】 对于语句 a b 4;相当于 a a (b b 4): a初值为11, b的初值为 10,则运算以后 10 4值为 2, 11 2值为 5。 【知识模块】 C语言程序设计 5 【正确答案】 A 【试题解析】 选项 B中 a 10,在赋值时会把 10自动转换为 double类型然后赋值,实型变量中不可能存放整型。而选项 C中执行 a b后, b的值

14、不变还是 9,选项 D中执行 a b; b a;后, a的值为 9, b的值也为 9。 【知识模块】 C语言程序设计 6 【正确答案】 D 【试 题解析】 对于表达式 a a a*a相当于 a a (a*A,然后计算 a aa, a的初值为 3,则表达式的值为 12。 【知识模块】 C语言程序设计 7 【正确答案】 C 【试题解析】 在格式控制字符串中插入其他字符,则在输入的时候应该据实加入到输入流中,不能随意加入空格等,否则无法得到正确的输入结果。 【知识模块】 C语言程序设计 8 【正确答案】 A 【试题解析】 本题主要考查自加运算符,自加运算符在变量前表示先增加然后再使用,在变量后表示先

15、使用然再增加。本题中, 第一个 printf语句 m表示先输出 m的值,然后 m增加 1,因此首先输出的是 12,然后 m的值变成13, n表示 n首先增加 1变成 35然后输出,因此输出的是 35;在第二个printf语句中, n是先输出 n的值然后增加,即输出 35, n的值变为 36,m表示先增加 m的值再输出, m的值由 13变成 14,故最后输出的是 14。 【知识模块】 C语言程序设计 9 【正确答案】 B 【试题解析】 本题考查数组和数组指针。 a是一个整型数组, p指针指向 a数组,即 p指向 a数组的首元素的地址,因此 p之后, p往 高地址移动,指向首元素后面一个元素的地址

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

17、 2, y的值为 3, z取逗号表达式的值,为 1。 【知识模块】 C语言程序设计 12 【正确答案】 A 【试题解析】 用逗号将表达式连接起来的式子称为逗号表达式。其表达式的一般形式为:表达式 1,表达式 2, ,表达式 n。最后一个表达式的值就是此逗号表达式的值。所以选项 A为 C语言中的逗号表达式。赋值表达式的左侧只能是变量,不能是常量或表达式。强制类型转换 表达式的形式为: (类型名 )(表达式 ),其中 (类型名 )称为强制类型转换运算符,数据类型两边的圆括号不能省略。 【知识模块】 C语言程序设计 13 【正确答案】 A 【试题解析】 因为题中有语句 int k 0;,所以选项 B

18、、 C、 D都是对 k的值加1,选项 A的语句 k表示先利用 k的值进行运算,然后 k值才加 1。 【知识模块】 C语言程序设计 14 【正确答案】 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语言程序设计 15 【正确答案】 C 【试题解析】 对于语句 c (a b, b 4);首先计算 a a ( B,a, b初值为 0,则计算以后 a为 1, b为

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

20、“表达式 3”的值,这时 “表达式3”的值就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式 “x y”的值,若其值为非 0(可以是正数,也可以是负数 ),则再求表达式 “x ”的值,其值就是条件表达式的值;若表达式 “x y”的值为 0,则再求表达式 “y ”的值,其值就是条件表达式的值。 【知识模块】 C语言程序设计 18 【正确答案】 C 【试题解析】 由于 x为大于 1的奇数,因此 x 2取余的值为 1,和 0不相等。 【知识模块】 C语言程序设计 19 【正确答案】 A 【试题解析】 C语言中没有逻辑类型,用非零表示逻辑真。 0表示逻辑假,选项B错误,无法判断两个浮点变量是否

21、相等 ,但是 x=y不会出现编译错误,选项 C错误,分支结构根据表达式的值,不一定为算术表达式,选项 D错误。 【知识模块】 C语言程序设计 20 【正确答案】 C 【试题解析】 字符常量可以参加关系运算,按照其存储的 ASCII码值进行比较, a b不成立,值为假。而 0表示 NULL, ASCII码值为 0。 【知识模块】 C语言程序设计 21 【正确答案】 C 【试题解析】 逻辑运算符两侧的运算对象可以是任意合法的表达式。逻辑表达式的运算结果或者为 1(“真 ”),或者为 0(“假 ”)。 【知识模块】 C语言程序设计 22 【正确答案】 C 【试题解析】 在逻辑表达式中, ab,只有在

22、 a跟 b都为 0时,表达式的结果才为 0。在题中所给的表达式中 a要么等于 1,要么不等于 1,肯定会有一方的值不为真,表达式值为 1。 【知识模块】 C语言程序设计 23 【正确答案】 D 【试题解析】 逻辑或运算中,只要有一项为真,表达式的值就为真,故选项 D中 c的值不为 2、 4、 6时,那么表达式 (c 2&c 6)以及 (c! 3)、 (c! 5)必有一个成立,表达式的值也为真。 【知识模块】 C语言程序设计 24 【正确答案】 C 【试题解析】 表示三个变量的关系,要利用逻辑表达式,用逻辑与连接。 【知识模块】 C语言程序设计 25 【正确答案】 C 【试题解析】 赋值表达式左

23、边应为变量,选项 C中左边为字符常量,因此非法,其余表达式均为合法的表达式。 【知识模块】 C语言程序设计 26 【正确答案】 C 【试题解析】 表达式 (x)&(z b), x为 35非零,考虑表达式 z b,成立,则 B的值为 1。 【知识模块】 C语言程 序设计 27 【正确答案】 B 【试题解析】 若要表示 x大于等于 y,同时 y大于等于 z,需要用逻辑与表达式连接。 【知识模块】 C语言程序设计 28 【正确答案】 D 【试题解析】 else不能单独使用,和 if匹配使用,要注意逻辑与运算和逻辑或运算出现的短路现象,关系运算结果仅有 0和 1。 【知识模块】 C语言程序设计 29 【正确答案】 A 【试题解析】 逻辑表达式的运算比较复杂,有短路现象,也就是首先计算 “逻辑与 ”或者 “逻辑或 ”运算的第一个运算量的值,根据表达式的值 决定是否进行第二个量的值的计算。 “逻辑与 ”和 “逻辑或 ”运算低于关系运算和算术运算。但是 “逻辑非 ”运算却高于算术运算。 【知识模块】 C语言程序设计 30 【正确答案】 C 【试题解析】 关系表达式和逻辑表达式的结果为非零或者 0,其中 0表示假,而非零表示真,由于 3! 4的结果为 1,而 1 2的结果为假。 【知识模块】 C语言程序设计

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

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

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