2016年计算机二级《C语言》练习题与答案
1、以下叙述中正确的是
A.只要适当地修改代码,就可以将do-while与while相互转换
B.对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C.对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能转换成while语句
D.如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while语句
参考答案:A
参考解析:B选项中,for语句中需要先求解先求解表达式1;C选项中,for语句使用最为灵活,它完全可以取代while语句;D选项中,对于死循环,也可以使用for语句。因此A选项正确。
2、以下叙述中正确的是
A.两个字符串可以用关系运算符进行大小比较
B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位)
C.C语言本身没有提供对字符串进行整体操作的运算符
D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和
参考答案:C
参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。
3. 下列不正确的定义是( )。
A、int *p=&i,i;
B、int *p,i;
C.int i,*p=&i;
D、int i,*p;
参考答案:A
参考解析:选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。然而此时还未定义变量i因此编译器无法获得变量i的地址。(A与C对比,选项C先定义变量i,则在内存中为i分配空间,因此i在内存空间的地址就可以确定了;然后再定义p,此时可以为p赋i的地址,C正确)
4.下列数据中属于“字符串常量”的是( )。
A、“a”
B、{ABC}
C、‘abc\0’
D、‘a’
参考答案:A
参考解析:若干个字符构成字符串
在C语言中,用单引号标识字符;用双引号标识字符串。选项B,C,分别用{}和’’标识字符串。选项D,标识字符。
5.已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是 .
A、相同
B、x大于y
C、x小于y
D、以上答案都不对
参考答案:B
参考解析:can'kaoC语言中,字符串后面需要一个结束标志位'\0',通常系统会自动添加。
对一维数组初始化时可采用字符串的形式(例如本题数组x),也可采用字符集合的形式(例如本题数组y)。在以字符串形式初始化时,数组x不尽要存储字符串中的字符,还要存储字符串后的结束标志位,因此数组x的长度为6;在以字符集合形式初始化时,数组y,仅存储集合中的元素,因此数组y长度为5
6、若有定义语句:char a='\82';则变量a( )
A.说明不合法
B.包含1个字符
C.包含2个字符
D.包含3个字符
参考答案:B
参考解析:char a='\82',定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为'2'。因此B选项正确。
7、 以下叙述中正确的是
A.对于逻辑表达式:a++|| b++,设a的值为1,则求解表达式的值后,b的值会发生改变
B.对于逻辑表达式:a++&&b++,设a的值为0,则求解表达式的值后。b的值会发生改变
C.else不是一条独立的语句,它只是if语句的一部分
D.关系运算符的结果有三种:0,1,-1
参考答案:C
参考解析:B选项和A选项中,&&、||都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值。而且&&、||的优先级比++高,所以题中只需判断a的值即可知道符合表达式的真假;D选项中,关系运算符的结果有“真”和“假”两种。因此c选项正确。
8、 以下选项中合法的c语言常量是( )。
A.,C—STR’
B.2014.1
C.”\l.0
D.2EK
参考答案:B
参考解析:所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项A是字符串,但使用单引号,错误,选项c,D,为实型常量中指数形式,但指数形式e(E)之前必须是数字,之后必须为整数,错误。故答案为B选项。
9. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是( )
A、1
B、4
C、4.333333
D、4.6
参考答案:A
参考解析:“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为1
10.以下能对一维数组a进行初始化的语句是:( )
A、int a[5]=(0,1,2,3,4,)
B、 inta(5)={}
C、 int a[3]={0,1,2}
D、 int a{5}={10*1}
参考答案:C
参考解析:详见教材P145,一维数组的定义、初始化
选项B,D,常量表达式只能放在中括号 [ ]中
选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了().
【计算机二级《C语言》练习题与答案】相关文章:
计算机二级《C语言》基础练习题及答案03-23
计算机二级《C语言》练习题及答案201603-09
计算机二级《C语言》基础练习题及答案02-06
2016计算机二级《C语言》练习题及答案03-26
计算机二级C语言模拟试题及答案12-08
计算机二级《C语言》试题及答案201611-21