国家二级C语言机试(C语言基础知识)模拟试卷22
选择题
1.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是(A)
A. c=(’A’+c)%26-’a’
B. c=C+32
C. c=C-’A’+’a’
D. c=(C-’A’)%26+’a’
解析:由题意可知,小写字符a和大写字符A的AsCII代码相差为32,所以选项C能将大写字符c的ASCII代码转换为小写字符c的ASCⅡ代码:选项D和C)左侧的表达式都是大写字符C与大写字符A的差与’a’的ASCII代码的和就是小写字符c的ASCII代码。而选项A中应该是加上’a’,而不是减去’a’。
2.以下选项中非法的C语言字符常量是(C)
A. ’\b’
B. ’\007’
C. ’aa’
D. ’\xaa’
解析:一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。
3.以下选项中非法的C语言字符常量是(B)
A. ’9’
B. ’\09’
C. ’\x09’
D. ’\x9d’
解析:一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来。也可以为转移字符,转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内。其中反斜线后的八进制数可以不用0开头,但是不能有8和9字符出现。反斜线后的十六制数只可由小写字母x开头。
4.若有定义语句char c=’\101’;则变量c在内存中占(C)
A. 2个字节
B. 3个字节
C. 1个字节
D. 4个字节
解析:每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。
5.若有以下程序,则程序的输出结果是
#include
main(){char c1,c2;
el=’C’+’8’-’3’;
c2=’9’-’0’;
printf(\\(A)
A. H 9
B. H ’9’
C. F’9’
D. 表达式不合法输出无定值
解析:字符常量允许进行简单盼算术运算,则’C’+5表示H,而’9’-’0’则表示数值9。
6.下面选项中合法的字符常量是(C)
A. X
B. ’abc’
C. ’X’
D. ’\’
解析:在程序中用单引号把一个字符括起来作为字符常量。但是为了表示字符“\”要用两个“\\”表示一个反斜杠。
7.以下叙述中正确的是(C)
A. 字符常量在内存中占2个字节
B. 转义字符要用双引号括起来,以便与普通的字符常量区分开
C. 字符常量需要用单引号括起来
D. 字符常量是不能进行关系运算的
解析:在程序中用单引号把一个字符括起来作为字符常量。转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,甩来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内,和整型常量一样,字符常量也可以进行关系运算的。
8.以下叙述中正确的是(C)
A. 字符变量在定义时不能赋初值
B. 同一英文字母的大写和小写形式代表的是同一个字符常量
C. 字符常量可以参与任何整数运算
D. 转义字符用@符号开头
解析:一个字符常量代表ASCⅡ字符集中的一个字符,在C程序中,字符常量可参与任何整数运算,转义字符以一个反斜线开头后跟一个特定的字符。
9.若有定义语句:char a=’\82’:则变量a(B)
A. 包含1个字符
B. 说明不合法
C. 包含2个字符
D. 包含3个字符
解析:转义字符以一个反斜线开头后跟一个特定的字符,可以利用’\ddd’3位八进制数代表的一个ASCⅡ字符,也可以’\xhh’2位十六进制数代表的一个ASCII字符。选项A中的八进制表示出现字符8,非法。
10.有以下程序,程序的输出结果是
main(){char c1=’A’,c2=’Y’;printf(\\(C)
A. 输出格式不合法,输出出错信息
B. 65,90
C. 65,89
D. A,Y
解析:C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。
11.C语言中char类型数据占字节数为(C)
A. 2
B. 3
C. 1
D. 4
解析:C语言中char类型数据占字节数为1。
12.有以下程序,程序运行后的输出结果是
main(){char a=’H’;
a=(a>=’A’&&a<=’Z’)?(a+32):a;
printf(\\(C)
A. H
B. A
C. h
D. a
解析:表达式a=(a>=’A’&&a<=’Z’)?(a+32):a,为条件表达式,如果a是大写字符,则转换为小写字符存放到a中,否则不变。
13.以下正确的字符串常量是(C)
A. ’abc’
B. Olympic Games
C.
D. \\\
解析:字符串常量是由双引号括起来的一串字符。在C语言中,以一个反斜线开头后跟一个特定的字符,用来代表一个特定的ASCⅡ字符。利用两个’\\’表示一个反斜杠,因此选项D的表示无法确认表示几个反斜杠。
14.若x和y代表整型数,以下表达式中不能正确表示数学关系|x—y|<10的是(C)
A. abs(x-y)<10
B. x-y>-10&x-y<10
C. !(x-y)10
D. (x-y)*(x—y)<100
解析:数学关系}x-y}<10表示x和y的差的绝对值小于10,选项A使用了abd求绝对值函数,满足要求;选项B是x和y的差值在-10和10之间,满足要求;选项C是x和y的差值大于-10或者y和x的差值小于10,不满足要。
15.数字字符0的ASCII值为48,若有以下程序,程序运行后的输出结果是
main()
{char a=’1’,b=’2’;
printf(\\(C)
A. 3,2
B. 50,2
C. 2,2
D. 2,50
解析:本题主要考查ASCII码和自加运算。第一个p血仃语句中,是以字符形式输出b++的值,++放在变量的后面是先使用然后自增,因此第一个printf输出值是2,然后b的值变成’3’。在第二个printf语句中,b的值为’3’,a的值为’1’,所以b-a的值为2。
16.若有代数式(C)
A.
本文档预览:3600字符,共7157字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载