1、国家二级 C语言机试( C语言基础知识)模拟试卷 10及答案与解析 一、选择题 1 己知天写字母 A的 ASCII码是 65,小写字母 a的 ASCII码是 97。以下不能将变量 c中的大写字母转换为对应小写字母的语句是 ( A) c=(A+c) 26-a ( B) c=C+32 ( C) c=C A+a ( D) c=(C一 A) 26+a 2 以下选项中非法的 C语言字符常量是 ( A) b ( B) 007 ( C) aa ( D) xaa 3 以下选项中非法的 C语言字符常量是 ( A) 9 ( B) 09 ( C) x09 ( D) x9d 4 若有定义语句 char c= 101;
2、则变量 c在内存中占 ( A) 2个字节 ( B) 3个字节 ( C) 1个字节 ( D) 4个字节 5 若有以下程序,则程序的输出结果是 #include stdio h main()char c1, c2; c1=C+8 3; c2=9 0; printf(“ c d n“, c1, c2); ( A) H9 ( B) H9 ( C) F9 ( D)表达式不合法输出无定值 6 下面选项中合法的字符常量是 ( A) X ( B) abc ( C) X ( D) 7 以下叙述中正确的是 ( A)字符常量在内存中占 2个字节 ( B)转义字符要用双引号括起来,以便与普通的字符常量区分开 ( C)
3、字符常量需要用单引号括起来 ( D)字符常量是不能进行关系运算的 8 以下叙述中正确的是 ( A)字符变量在定义时不能赋初值 ( B)同一英文字母的大写和小写形式代表的是同一个字符常量 ( C)字符常量可以参与任何整数运 算 ( D)转义字符用 符号开头 9 若有定义语句: char a= 82;则变量 a ( A)包含 1个字符 ( B)说明不合法 ( C)包含 2个字符 ( D)包含 3个字符 10 有以下程序,程序的输出结果是 main()char c1=A, c2=Y; printf(“ d, d n“, c1, c2); ( A)输出格式不合法,输出出错信息 ( B) 65, 90
4、( C) 65, 89 ( D) A, Y 11 C语言中 char类型数据占字节数为 ( A) 2 ( B) 3 ( C) 1 ( D) 4 12 有以下程序,程序运行后的输出结果是 main() char a=H; a=(a =A a =Z)?(a+32): a; pfintf(“ c n“, a); ( A) H ( B) A ( C) h ( D) a 13 以下正确的字符串常量是 ( A) abc ( B) Olympic Games ( C) “ ( D) “ “ 14 若 x和 y代表整型数,以下表达式中不能正确表示数学关系 x y 10的是 ( A) abs(x y) 10 (
5、 B) x y 10&x y 10 ( C) !(x y) 10!(y x) 10 ( D) (x y)*(x y) 100 15 数字字符 0的 ASCII值为 48,若有以下程序,程序运行后的输出结果是 main() char a=1, b=2; printf(“ c, “, b+); printf(“ d n“,b a); ( A) 3, 2 ( B) 50, 2 ( C) 2, 2 ( D) 2, 50 16 若有代数式 (其中 e仅代表自然对数的底数,不是变量 ),则以下能够正确表示该代数式的 c语言表达式是 ( A) sqrt(fabs(pow(n, x)+pow(x, e) (
6、B) sqrt(abs(nx+ex) ( C) sqrt(fabs(pow(n, x)+exp(x) ( D) sqrt(fabs(pow(x, n)+exp(x) 17 表达式: (int)(double)9 2) 9 2的值是 ( A) 0 ( B) 4 ( C) 3 ( D) 5 18 若有定义语句: int x=12, y=8, z;在其后执行语句 z=0 9+x y;则 z的值为 ( A) 1 9 ( B) 1 ( C) 2 ( D) 2 4 19 表达式 3 6 5 2+1 2+5 2的值是 ( A) 4 8 ( B) 3 3 ( C) 3 8 ( D) 4 3 20 有以下定义:
7、 int a; long b; double x, y; 则以下选项中正确的表达式是 ( A) a (int)(x y) ( B) a=x运算符不存在,选项 C)中 double类型不能进行取余( )操作,要求两个运算数必须是整数,选项 D)中 x+y=x错误。 【知识模块】 C语言基础知识 21 【正确答案】 A 【试题解析】 第 4行出错,在第 4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程序可以识别并儿编译的,因此第 5、 6行都是正确的。 【知识模块】 C语言基础知识 22 【正确答案】 C 【试题解析】 表达式的含义为 a乘以 b除以 c,选项 C)正好曲解了这一
8、个含义。 【知识模块】 C语言基础知识 23 【正确答 案】 B 【试题解析】 要求参与运算的运算量为整型,其他三个运算符对于参与运算的运算量没有直接要求。 【知识模块】 C语言基础知识 24 【正确答案】 C 【试题解析】 本题考查了赋值表达式,在赋值表达式中,等号的左边必须是变量,等号右边可以是变量、表达式或者常量。选项 A)是一个赋值表达式;选项 B)是一个表达式;选项 C)是计算余数表达式:选项 D)错误,等号的左边不是变量。 【知识模块】 C语言基础知识 25 【正确答案】 A 【试题解析】 本题主要考查逻辑运算。选项 A)中, (!a=1)中运算优先级比 =高,因此 !a为假,然后
9、在和 1比较是否相等,因此整个表达式的结果为假, (!a=1)和 (!b=0)是与的关系,前面的表达式为假,整个表达式结果就是假 (0);选项 B)中a b为真, !c值为假, (a b)&!c值为假, (a b)&!c1为真;选项 C)中 a&b的值为 2:选项 D)中 a的值为真,表达式的结果为真。 【知识模块】 C语言基础知识 26 【正确答案】 D 【试题解析】 本题考查条件表达式。 (w)?(-x): (+y)的含义是如果 w非 0那么表达式的值 为 -x,否为 +y,因此只有选项 D)和 w等价。 【知识模块】 C语言基础知识 27 【正确答案】 C 【试题解析】 在 C语言中,求
10、余运算符的运算对象只能是整型,在题目中,变量 a是一个双精型实型变量。 【知识模块】 C语言基础知识 28 【正确答案】 A 【试题解析】 在赋值表达式中,赋值符号 “=”的左边只能为赋值的变量,不能为表达式,右边可以为常量或者是表达式,故选项 C)错误;在取余运算中,运算符“ ”两边都必须是整型数据,所以选项 B)、 D)错误,选项 A)是 C语言中的逗号表达式。 【知识模块】 C语言基础知识 29 【正确答案】 C 【试题解析】 表达式 x=x+x等价于 x=x (x+x),整型变量 x的初始值等于 10,计算题目所求表达式的值时,首先计算 x与 x的和等于 20,然后再用 10减去 20等于 10,得到该表达式的值。 【知识模块】 C语言基础知识 30 【正确答案】 C 【试题解析】 在主函数中定义,两个整型变量 a和 b,并把它们的初值分别设置为 1和 0;在第二条语句中,首先计算出 a和 b的和等于 1,把此值赋给变量 b,并在屏幕上输出此时变量 b的值 1;在第三条语句中,计算出 2乘以 1的积等于2,把 2赋给变量 a,再把变量 a的值在屏幕上输出。 【知识模块】 C语言基础知识
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1