c语言代入大写字母,全国计算机二级C语言复习题及答案

全国计算机二级C语言复习题及答案

(61)字符(char)型数据在微机内存中的存储形式是________。

A)反码 B)补码

C)EBCDIC码 D)ASCII码

(61)D

知识点:字符数据在内存中的存储形式

评析:将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的ASCII码值放到存储单元中。

(62)下面程序的输出是________。

typedef union

{ long x[2];

int y[4];

char z[8];

}MYTYPE;

MYTYPE them;

main()

{ printf("%d ",sizeof(them));}

A)32 B)16 C)8 D)24

(62)C

知识点:共用体的长度

评析:sizeof(x)是一个标准c函数,它的返回值是x型的数据结构占用的内存字节数。题目中定义了一个共用体,共用体变量在内存中所占的长度等于最长的成员的长度,所以共用体MYTYPE需要8个字节的存储空间,由它定义的变量的长度当然也是8。

(63)不能把字符串:“Hello!”赋给数组b的语句是________。

A)char b[10]={‘H’,‘e’,‘l’,‘l’,‘0’,‘!’};

B)char b[10]={‘h’,‘e’,‘l’,‘l’,‘0’,‘!’};

C)char b[10];strcpy(b,"Hello!");

D)char b[10]="Hello!";

(63)B

知识点:给数组赋值

评析:在c语言中,大写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。

(64)下面程序的输出是________。

main()

{ int x=3,y=6,a=0;

while(x++!=(y—=1))

{ a+=1;

if(y

}

printf("x:%d,y:%d,a=%d ",x,y,a);

}

A)x=4.v=4,a=1 B)x=5,y=5,a=1

C)x=5,y=4,a=3 D)x=5,y=4,a=l

(64)D

知识点:运算符

评析:注意在x++中x值的引用时,这里应当是先引用,后自加,具体执行过程如下:

第一次while循环:x=3与y=5比较,条件为真,执行a=a+1=1;此时,x的值己为4,判断y

第二次while循环:x=4与y=4比较,条件为假,此时x的值已为5,退出while循环,执行printf。

(65)下面程序的输出是_______。

main()

{char*s:"12134211";

int vl=0,v2=0,V3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{ default:V4++;

case‘1’:vl++:

case‘3’:v3++:

case‘2’:v2++:

}

printf("vl=%d,v2=%d,v3=%d,v4=%d ",vl,v2,v3,V4);

}

A)vl=4,v2=2,v3=l,v4=1 B)vl=4,V2=9,V3=3,V4=l

C)vl=5,v2=8,v3=6,v4=1 D)vl=8,V2=8,V3=8,v4=8

(65)C

知识点:switch()语句

评析:当switch后面括弧内的表达式的值与某一个case后面的常量的表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。本题中,for循环的条件是s数组的数组元素值,只要将数组的值一一代入程序逐步求解即可。

(66)下面程序的输出是_______。

main()

{int k=ll;

printf("k=%d,k=%o,k=%x ",k,k,k);

}

A)k=11.k=12,k=ll B)k=ll,k=13,k=13

C)k=ll,k=013,k=0xb D)k=ll,k=13,k=B

(66)D

知识点:格式字符

评析:在c语言格式字符的输出中,“%d”是以带符号的十进制形式输出整数,即k=ll:“%o”是以8进制无符号形式输出整数(不输出前导符0),即k=13:“%x”是以16进制无符号形式输出整数(不输出前导符0x),即k=B。

(67)以下叙述中正确的是_______。

A)c语言比其他语言高级

B)C语言可以不用编译就能被计算机识别执行

c)c语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D)C语言出现的最晚,具有其他语言的一切优点

(67)C

知识点:c语言风格

评析:计算机语言分为低级语言、汇编语言和高级语言,c语言属于高级语言,但并不是说c语言比其他语言高级,所以选项A错误;除了低级语言外,其他各种语言都必须编译成能被计算机识别的二进制数才能执行,选项B错误;c语言出现于1972年到1973年问,并不是出现最晚的语言,所以选项D也是错误的。

(68)下列可用于c语言用户标识符的一组是_______。

A)void define WORD B)a3_b3 _123 Car

C)For -abc IFCase D)2a D0 sizeof

(68)B

知识点:c语言的标识符

评析:c语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,所以排除c和D。c语言还规定标识符不能为c语言的关键字,从而选项A是错误的,因为void为关键字。

(69)请选出正确的程序段________。

A)int*p B)int*s,k;

Scanf("%d",p); *s=100;

……

C)int*s,k: D)int*s,k;

Char*p,c; char*p,e;

s=&k; s=&k;

p=&c; p=&c;

*p=‘a’; s=p;

…… *s=l;

……

(69)C

知识点:指针变量

评析:本题的A和B犯了一个同样的错误,即指针变量p定义后并没有指向具体的变量。也就是说,p中没有确定的地址值,它的值是不可预见的,所指向的单元也是不可预见的,因此不能进行赋值操作。另外,在选项D中,s是int指针变量,p是char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量p的值赋给整型指针变最s。

【全国计算机二级C语言复习题及答案】相关文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值