1、国家二级 C语言( C语言基础知识)机试模拟试卷 13及答案与解析 一、选择题 1 sizeof(double)是 ( A)一个双精度型表达式 ( B)一个整型表达式 ( C)一个不合法的表达式 ( D)一种函数调用 2 以下选项中,值为 1的表达式是 ( A) 1一 0 ( B) 1-0 ( C) 1- 0 ( D) 0-0 3 以下定义语句中正确的是 ( A) char A=65+1, b=b: ( B) int a=b=0: ( C) float a=1, *b=&a, *c=&b; ( D) double a=0 0: b=1 1: 4 以下不合法的字符常量是 ( A) “ ( B)
2、( C) 018 ( D) xcc 5 有以下程序 main() char c1 , c2; c1=A+8一 4: c2=A+8一 5: Printf(“ C, d n“, c1, c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是 ( A) D, ,69 ( B) E, 68 ( C) E, D ( D)输出无定值 6 以下不能输出字符 A的语句是 (注:字符 A的 ASCII码值为 65,字符 a的 ASCII码值为 97) ( A) printf(“ c n“, a-32); ( B) printf(“ d n“, A); ( C) printf(“ c n“, 65
3、); ( D) printf(“ c n“, B-1); 7 以下选项中不能作为 C语言合法常量的是 ( A) cd ( B) 0 1e+6 ( C) a ( D) 011 8 有以下定义语句,编译时会出现编译错误的是 ( A) char a= n: ( B) char a=“aa“; ( C) char a=a; ( D) char a= x2d: 9 已知字符 A的 ASCII代码值是 65,字符变量 c1的值是 A, c2的值是 D。则执行语句 printf(“ d, d“, c1, c2-2); 输出结果是 ( A) A, 68 ( B) A, B ( C) 65, 66 ( D) 6
4、5, 68 10 已知大写字母 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 11 以下选项中非法的 C语言字符常量是 ( A) b ( B) 007 ( C) aa ( D) xaa 12 以下选项中非法的 C语言字符常量是 ( A) 9 ( B) 09 ( C) x09 ( D) x9d 13 若有定义语句 charc= 101;则变量 c在内存中占 ( A) 2个字节 ( B) 3个字节
5、( C) 1个字节 ( D) 4个 字节 14 若有以下程序 #include main() char c1, c2; c1=C+8一 3; c2=9一 0; printf(“ c d n“, c1, c2); 则程序的输出结果是 ( A) H 9 ( B) H9 ( C) F9 ( D)表达式不合法输出无定值 15 下面选项中合法的字符常量是 ( A) X ( B) abc ( C) X ( D) 16 以下叙述中正 确的是 ( A)字符常量在内存中占 2个字节 ( B)转义字符要用双引号括起来,以便与普通的字符常量区分开 ( C)字符常量需要用单引号括起来 ( D)字符常量是不能进行关系运
6、算的 17 以下叙述中正确的是 ( A)字符变量在定义时不能赋初值 ( B)同一英文字母的大写和小写形式代表的是同一个字符常量 ( C)字符常量可以参与任何整数运算 ( D)转义字符用 符号开头 18 若有定义语句: char a= 82:则变量 a ( A)包含 1个字符 ( B)说明不合法 ( C)包含 2个字符 ( D)包含 3个字符 19 有以下程序 main() char c1=A, c2=Y; printf(“ d, d n“, c1, c2); ) 程序的输出结果是 ( A)输出格式不合法,输出出错信息 ( B) 65, 90 ( C) 65, 89 ( D) A, Y 20 C
7、语言中 char类型数据占字节数为 ( A) 2 ( B) 3 ( C) 1 ( D) 4 21 有以下程序 main() char a=H; a=(a=A &ay ( C) (a*y) b ( D) y=x+y=x 28 若有以下程序 #include main() int a=0, b=0, c=0, d; c= (a+=b, b+=a); *第 4行 * d=c; *第 5行 * ; *第 6行 * printf(“ d, d, d n”, a, b, c); *第 7行 * 编译时出现错误,你认为出错的是 ( A)第 4行 ( B)第 5行 ( C)第 6行 ( D)第 7行 29 不
8、能正确表示数学式的 表达式是 ( A) a*b c ( B) a c*b ( C) a b*C ( D) a*(b c) 30 C语言程序中,运算对象必须是整型数的运算符是 ( A) ( B) ( C) & ( D) * 31 若有定义: double a=22; int i=0, k=18; 则不符合 C语言规定的赋值语句是 ( A) i=(a+k)=A&a运算符不存在,选项 C)中 double类型不能进行取余( )操作,要求两个运算数必须是整数,选项 D)中 x+y=x错误。 【知识模块】 C语言基础知识 28 【正确答案】 A 【试题解析】 第 4行出错,在第 4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程 序可以识别并且编译的,因此第 5、 6行都是正确的。 【知识模块】 C语言基础知识 29 【正确答案】 C 【试题解析】 表达式的含义为 a乘以 b除以 c,选项 C)正好曲解了这一个含义。 【知识模块】 C语言基础知识 30 【正确答案】 B 【试题解析】 要求参与运算的运算量为整型,其他三个运算符对于参与运算的运算量没有直接要求。 【知识模块】 C语言基础知识 31 【正确答案】 C 【试题解析】 在 C语言中,求余运算符的运算对象只能是整型,在题目中,变量 a是一个双 精型实型变量。 【知识模块】 C语言基础知识
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1