[计算机类试卷]国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1及答案与解析.doc

上传人:李朗 文档编号:499052 上传时间:2018-11-30 格式:DOC 页数:17 大小:47KB
下载 相关 举报
[计算机类试卷]国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1及答案与解析.doc_第1页
第1页 / 共17页
[计算机类试卷]国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1及答案与解析.doc_第2页
第2页 / 共17页
[计算机类试卷]国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1及答案与解析.doc_第3页
第3页 / 共17页
[计算机类试卷]国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1及答案与解析.doc_第4页
第4页 / 共17页
[计算机类试卷]国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1及答案与解析.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、国家二级 C语言(运算符与表达式、基本语句)机试模拟试卷 1及答案与解析 一、选择题 1 表达式 (int)(double)9 2)一 9 2的值是 ( )。 ( A) 0 ( B) 3 ( C) 4 ( D) 5 2 若有定义 int x, y;并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+):(y+)中的条件表达式 (xy)等价的是 ( )。 ( A) (xy 0 x y 0) ( B) (xy 0) ( C) (xy 0) ( D) (xy=0) 3 若变量已正确定义,在 if(w)prinff(“ d n”, k);中,以下不可替代 w的是( )。 ( A) ay ( B

2、) a (int)(x-y) ( C) (a*y) b ( D) y=x+y=x 9 设变量已正确定义 并赋值,下列表达式中正确的是 ( )。 ( A) x=y+z+5, +y ( B) int(15 8 5) ( C) x=y*5=x+z ( D) x=25 5 0 10 以下不能将 s所指字符串正确复制到 t所指存储空间的是 ( )。 ( A) do*t+=*s+; while(*s); ( B) for(i=0; ti=si; i+); ( C) while(*t=*s)t+; s+ ( D) for(i=0, j=0; ti+=sj+; ); 11 设有定义: int k=0;,以下

3、选项的 4个表达式中与其他 3个表达式的值不相同的是 ( )。 ( A) +k ( B) k+=1 ( C) k+ ( D) k+1 12 若有定义语句: int year=2009, *p= ( B) scanf(“ d d d”, a, b, c), ( C) scanf(“ d”, p), ( D) suauf(“ d”, p); 30 设有定义: int a; float b;,执行 seanf(” 2d f t, &a, &b);语句时,若从键盘输入 876 543 0,则 a和 b的值分别是 ( )。 ( A) 87和 6 0 ( B) 876和 543 0 ( C) 87和 54

4、3 0 ( D) 76和 543 0 31 有以下程序段: #include int j; float y; char name50; seanf(” 2d f s”, &j, y, name); 当执行上述程序段时,从键盘上输入 55566 7777abc后, Y的值为 ( )。 ( A) 566 0 ( B) 55566 0 ( C) 7777 0 ( D) 566777 0 国家二级 C语言(运算符与表达式、基本语句)机试模拟试卷 1答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 先将整型数据 9强制转换成 double型,然后除以 2,得到的结果与double型保持一致,即

5、为 4 5,然后将 4 5强制转换成整型数据 4,然后计算9 2的值为 1,最后计算 41的值为 3,所以选择 B选项。 【知识模块】 运算符与表达式 2 【正确答案】 A 【试题解析】 条件表达式 “x=表达式 1?表达式 2:表达式 3”的含义是:先求解表达式 1,若为非 0(真 ),则求解表达式 2,将表达式 2的值赋给 x;若表达式 1的值为 0(假 ),则求解表达式 3,将表达式 3的值赋给 x。本题中与表达式 1: (xy)等价的是 (xy0)。 【知识模块】 运算符与表达式 3 【正确答案】 A 【试题解析】 选项 A是非法的表达式, C语言中没有 “”运算符,所以 A选项错误。

6、 “ ”运算符的两个操作值必须为整型数据,所以 B选项正确。 a*y的结果为 double型,所以 C选项错误。不能将值赋给像 x+y这样的表达式,所以 D选项错误。 【知识模块】 运算符与表达式 9 【正确答案】 A 【试题解析】 B选项与 D选项中取模运算符的左右两个操作数均应为整数,所以错误。 C选项中不能将 x+y的值赋给表达式 y*5,所以 C选项错误。 【知识模块】 运算符与表达式 10 【正确答案】 A 【试题解析】 “do*t+=*s+; while(*s); ”不能因为当 *s= 0时, while(*s)跳出循环,这样字符串结束标志 0没有复制给 * t,造成 *t不完整。

7、注意,*t+=*s+是先执行 t=*s,然后才进行 t=t+1, s=s+1。 B、 C、 D选项都能将 0复制过去。 【知识模块】 运算符与表达式 11 【正确答案】 C 【试题解析】 +k,先使得 k的值自增 l后再使用, k+是先取得 k的值再将 k的值自增 1,所以 C选项中表达式的值为 0,而其他 3个表达式的值均为 1,所以选择 C选项。 【知识模块】 运算符与表达式 12 【正确答案】 B 【试题解析】 由于自加运算符 +的运算级别高于间接运 算 *的运算级别,所以 B选项的表达式 *p+不能使变量 year中的值增至 2010,因此选择 B选项。 【知识模块】 运算符与表达式

8、13 【正确答案】 B 【试题解析】 取模运算符 “ ”、二元运算符具有左结合性,参与运算的量均为整型。 B选项中的 a变量是 double实型,不符合规定。 【知识模块】 运算符与表达式 14 【正确答案】 B 【试题解析】 A选项中不能将变量 y赋给表达式, C选项的错误与 A选项一样,D选项中强制类型转换表达式应写成 (double)x 10。 【知识模 块】 运算符与表达式 15 【正确答案】 A 【试题解析】 B选项中运算符 “ ”的前后必须为整数, C选项中不能将变量赋给表达式 x+n, D选项中不能将表达式 4+1赋给常量 5。 【知识模块】 运算符与表达式 16 【正确答案】

9、C 【试题解析】 首先计算 a=9,然后计算 a一 =9,即 a=a一 9,结果为 0,然后计算 a+=0,即 a=a+0,所以最终结果为 0。 【知识模块】 运算符与表达式 17 【正确答案】 B 【试题解析】 h为 2,二进制为 00000010,执行左移两位操作 后为 00001000,然后与 a 00000001做异或运算的结果为 00001001,即十进制的 9。 【知识模块】 运算符与表达式 18 【正确答案】 C 【试题解析】 本题考查位运算,属于基础知识。题目中的整型变量 8,二进制表达为 00001000,右移一位为 00000100,即 4, C选项正确。 【知识模块】 运

10、算符与表达式 19 【正确答案】 A 【试题解析】 本题考查位运算符以及相关运算。 为按位或, &为按位与,那么ab为 3,再与 c按位与仍然为 3,所以答案为 A选项。 【知识模块】 运算符与表达式 20 【正确答案】 B 【试题解析】 本题考查逻辑异或运算。异或运算只有在两个比较的位不同时其结果为 1,否则结果为 0,题目中两个值相同,所以结果为 0。 【知识模块】 运算符与表达式 21 【正确答案】 B 【试题解析】 本题考查字符处理函数和文件做操函数,属于基础知识。其中 B选项的 getehar函数用于从终端读入字符。 【知识模块】 基本语句 22 【正确答案】 B 【试题解析】 在

11、C语言中,等于号用 “=”表示,一个 “=”表示赋值, 所以 A选项错误。 C、 D选项的含义都是如果输入的字符为 “N”,则打印输出,所以正好和题意相反。 【知识模块】 基本语句 23 【正确答案】 B 【试题解析】 B选项输出的格式为 d,即为整型格式,所以输出字符 A的ASCII码值 65,而不是字符 A。由于大写字母比和其对应的小写字母的 ASC 码值小 32,所以 A选项正确。字符 A的 ASC 码值就是 65,所以以 c格式输出可以输出字符 A,所以 C选项正确。由于字符 A的 ASC 码值比字符 B的小 1,所以 D选项正确。 【知识模块】 基本语句 24 【正 确答案】 D 【

12、试题解析】 打印时以 d整型格式打印输出,所以字符标量 c1的值打印出来就是 65,从 c22的值打印出来就是 682,即 66,所以选择 D选项。 【知识模块】 基本语句 25 【正确答案】 A 【试题解析】 printf函数中格式字符 “ 8 6”的含义是:变量 y的输出宽度为8(包括小数点 ),小数点后面保留 6位小数,且右对齐,所以选择 A选项。 【知识模块】 基本语句 26 【正确答案】 D 【试题解析】 scant()的格式控制串可以使用其他非空白字符,如本题 中的逗号,但在输入时必须输入这些字符,以保证匹配,所以逗号必须输入。 【知识模块】 基本语句 27 【正确答案】 C 【试

13、题解析】 输人数据的格式必须与 scanf()的格式控制串完全匹配,如果 A、B、 C选项中在数字 10后面均输人了空格,则会将空格赋给变量 c1,而不是把 x赋给 cl,所以选择 C选项。 【知识模块】 基本语句 28 【正确答案】 C 【试题解析】 输入数据的格式必须与 scanf()的格式控制串完全匹配,所以输入时必须在 3和 5之间输入 “; ”。 【知识模块】 基本 语句 29 【正确答案】 C 【试题解析】 本题重点考查的知识点是标准输入函数 scanf()。 scanf()函数要求,除了第一个参数为格式化字符串以外,其余参数均为相应变量的地址值。本题中,只有 p是地址值,因此 C选项正确。 【知识模块】 基本语句 30 【正确答案】 A 【试题解析】 在格式字符前加入一个整数可以指定输入数据所占的宽度,所以赋值时会将 87赋给变量 a,把 6 0赋给 float型变量 b。 【知识模块】 基本语句 31 【正确答案】 A 【试题解析】 它是格 式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。其中的格式命令可以说明最大域宽。在百分号 ( )与格式码之间的整数用于限制从对应域读人的最大字符数。所以 j的值为 55, y的值为 566 0,字符数组 name为 7777abc。 【知识模块】 基本语句

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

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

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