1、国家二级 C语言机试( C语言基础知识)模拟试卷 15及答案与解析 一、选择题 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 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)表达式不合法输出无定值 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 ( C) 65, 8
4、9 ( D) A, Y 11 C语言中 char类型数据占字节数为 ( A) 2 ( B) 3 ( C) 1 ( D) 4 12 有以下程序,程序运行后的输出结果是 main()char a=H; a=(a=A& ay ( C) (a*y) b ( D) y=x+y=x 21 若有以下程序,编译时出现错误,你认为出错的是 #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、5行 ( C)第 6行 ( D)第 7行 22 不能正确表示数学式的 表达式是 ( A) a*b c ( B) a c*b ( C) a b*c ( D) a*(b c) 23 C语言程序中,运算对象必须是整型数的运算符是 ( A) ( B) ( C) & ( D) * 24 设有定义: int k=1, m=2; float f=7;,则以下选项中错误的表达式是 ( A) k=k=k ( B) -k+ ( C) k int(f) ( D) k=f=m 25 设有定义: int a=2, b=3, c=4;,则以下选项中值为 0的表达式是 ( A) (!a=1) (!b=0) ( B) (a
6、main()int a=1, b=0; printf(“ d, “, b=a+b); printf(“ d n“, a=2 ); 程序运行后的输出结果是 ( A) 1 0 ( B) 3, 2 ( C) 1, 2 ( D) 0, 0 国家二级 C语言机试( C语言基础知识)模拟试卷 15答案与解析 一、选择题 1 【正确答案】 A 【试题 解析】 由题意可知,小写字符 a和大写字符 A的 ASCII代码相差为 32,所以选项 C能将大写字符 C的 ASCII代码转换为小写罕符 c的 AsCII代码:选项D和 C左侧韵表适式都是大写字符 C与大写字符 A的差与 a的 ASCII代码的和就是小写字符
7、 c的 ASCII代码。而选项 A中应该是加上 a,而不是减去 a。 【知识模块】 C语言基础知识 2 【正确答案】 C 【试题解析】 一个字符常量代表 ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。 【知识模块】 C语言基础知 识 3 【正确答案】 B 【试题解析】 一个字符常量代表 ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来。也可以为转移字符,转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的 ASCII字符,这些字符常量也必须括在一对单引号内。其中反斜线后的八进制数可以不用 0开头,但是不能有
8、 8和 9字符出现。反斜线后的十六制数只可由小写字母 x开头。 【知识模块】 C语言基础知识 4 【正确答案】 C 【试题解析】 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以 ASCII码的形式存放在变量的内存单元之中的。 【知识模块】 C语言基础知识 5 【正确答案】 A 【试题解析】 字符常量允许进行简单的算术运算,则 C+5表示 H,而 9-0则表示数值 9。 【知识模块】 C语言基础知识 6 【正确答案】 C 【试题解析】 在程序中用单引号把一个字符括起来作为字符常量。但是为了表示字符 “ ”要用两个 “ ”表示一个反斜杠。 【知识模块】 C语言 基础知识 7
9、 【正确答案】 C 【试题解析】 在程序中用单引号把一个字符括起来作为字符常量。转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的 ASCII字符,这些字符常量也必须括在一对单引号内,和整型常量一样,字符常量也可以进行关系运算的。 【知识模块】 C语言基础知识 8 【正确答案】 C 【试题解析】 一个字符常量代表 ASCII字符集中的一个字符,在 C程序中,字符常量可参与任何整数运算,转义字符以一个反斜线开头后跟一个特定的字符。 【知识模块】 C语言基础知识 9 【正确答案】 B 【试题解析】 转义字符以一个反斜线开头后跟一个特定的字符,可以利用
10、ddd3位八进制数代表的一个 ASCII字符,也可以 xhh2位十六进制数代表的一个 ASCII字符。选项 A中的八进制表示出现字符 8,非法。 【知识模块】 C语言基础知识 10 【正确答案】 C 【试题解析】 C语言允许对整型变量赋以字符值,世允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。 【知识模块】 C语言基础知识 11 【正确答案】 C 【试题解析】 C语言中 char类型数据占字节数为 1。 【知识模块】 C语言基础知识 12 【正确答案】 C 【试题解析】 表达式 a=(a=A&a运算符不存在,选项 C中 double类型 不能进行取
11、余( )操作,要求两个运算数必须是整数,选项 D中 x+y=x错误。 【知识模块】 C语言基础知识 21 【正确答案】 A 【试题解析】 第 4行出错,在第 4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程序可以识别并且编译的,因此第 5、 6行都是正确的。 【知识模块】 C语言基础知识 22 【正确答案】 C 【试题解析】 表达式的含义为 a乘以 b除以 c,选项 C正好曲解了这一个含义。 【知识模块】 C语言基础知识 23 【正确答案】 B 【试题 解析】 要求参与运算的运算量为整型,其他三个运算符对于参与运算的运算量没有直接要求。 【知识模块】 C语言基础知识 24 【
12、正确答案】 D 【试题解析】 本题考查了赋值表达式,在赋值表达式中,等号的左边必须是变量,等号右边可以是变量、表达式或者常量。选项 A是一个赋值表达式;选项 B是一个表达式:选项 C是计算余数表达式:选项 D错误,等号的左边不是变量。 【知识模块】 C语言基础知识 25 【正确答案】 A 【试题解析】 本题主要考查逻辑运算。选项 A中, (!a=1)中 !运算优先 级比一高,因此 !a为假,然后在和 1比较是否相等,因此整个表达式的结果为假, (!a=1)和 (!b=0)是与的关系,前面的表达式为假,整个表达式结果就是假 (0);选项 B中ab为真, !c值为假, (ab)&!c值为假, (a
13、b)&!c1为真;选项 C中 a&b的值为2;选项 D中 a的值为真,表达式的结果为真。 【知识模块】 C语言基础知识 26 【正确答案】 D 【试题解析】 本题考查条件表达式。 (w)?(-x): (+y)的含义是如果 w非 0那么表达式的值为一 x,否为 +y,因此只有选项 D和 w等价。 【知识模块】 C语言基础知识 27 【正确答案】 C 【试题解析】 在 C语言中,求余运算符的运算对象只能是整型,在题目中,变量 a是一个双精型实型变量。 【知识模块】 C语言基础知识 28 【正确答案】 A 【试题解析】 在赋值表达式中,赋值符号 “=”的左边只能为赋值的变量,不能为表达式,右边可以为
14、常量或者是表达式,故选项 C错误;在取余运算中,运算符“ ”两边都必须是整型数据,所以选项 B、 D错误,选项 A是 C语言中的逗号表达式。 【知识模块】 C语言基础知识 29 【正确答案】 C 【试题解析】 表达式 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语言基础知识