2018年9月计算机二级C语言考试章节习题及答案(6)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年9月计算机二级C语言考试章节习题及答案(6) 第2章 C程序设计的初步知识
2.3 整型数据
1[单选题] 用8位无符号二进制数能表示的最大十进制数为( )
A.127
B.128
C.255
D.256
参考答案:C
参考解析:2^8-1=256-1=255
2[单选题] 若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是( )
A.32767,32767
B.32767,032767
C.32767,77777
D.32767,077777
参考答案:A
3[单选题] 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是( )
A.n,two
B.t,one
C.w,one
D.o,two
参考答案:C
4[单选题] 以下定义语句中正确的是
A.int a =b =0;
B.char A = 65 + 1,b='b';
C.float a = 1,*b=&a,*c=&b;
D.double a = 0.0;b=1.1;
参考答案:B
参考解析:A选项中定义时赋值不能用连等。C选项中变量C和&b的类型不匹配。D选项中变量b前是分号,所以变量b没有类型,即未定义。B为变量定义时赋值的正确表达形式
5[单选题] 设有定义:int x=2;以下表达式中,值不为6的是 ( )
A.x*=x+1
B.x++=2*X
C.X*=(1 X)
D.2*X,X+=2
参考答案:D
参考解析:选项A和C很容易看出结果是6。选项B和D是逗号表达式,逗号表达式是从左到右顺序求子表达式的值,整体的逗号表达式的值取最后一个子表达式的值,很容易判断出答案D错误。
6[单选题] 若有以下定义(设int类型变量占2个字节)
int i=8,j=9;
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,P中的值为789,则正
D.由C语言编译系统决定
参考答案:D
参考解析:不同的编译系统或计算机系统对几类整型数所占用的字节数有不同的规定。long、int和short类型数据占用内存大小是由选择何种C编译系统决定的。
9[单选题] 设a和b均为int型变量,且a=6、b=11、c=3,则能使值为3的表达式是( )。
A.b%(c%4)
B.b%(c-a%5)
C.b%a-a%5
D.(b%a)-(a%4)
参考答案:D
参考解析:选项D)括号内的运算分别是b%a=11%6=5和a%c=6%4=2,最后得到5-2=3。
10[单选题] 若函数中有定义语句:int a;,则( )。
A.系统将自动给a赋初值0
B.这时a中的值是和随机数
C.系统将自动给a赋初值-1
D.这a中无任何值
参考答案:B
参考解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。
11[单选题] 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
A.-369
B.369
C.0.369
D.整数集合{1,2,3,4,5}
参考答案:B
参考解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A)和选项c),选项D)是整数集合,所以也排除。
12[单选题] 若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是( )。
A.char
B.int
C.double
D.float
参考答案:C
参考解析:在c语言中不同类型的数据进行运算时,除了强制数据类型转换外,都要进行默认的数据类型转换,通常转换为精度较高的数据类型。对于本题来说,字符型数据'A'与整型a相加转换为整型数据,其和再与双精度型数据b相加,要转换为双精度型数据。
13[单选题] 关于C语言中数的表示,以下叙述正确的是( )。
A.只有整型数在允许范围内能精确无误的表示,实型数会有误差
B.只要在在允许范围内整型和实型都能精确表示
C.只有实型数在允许范围内能精确无误的表示,整型数会有误差
D.只有八进制表示的数在不会有误差
参考答案:A
参考解析:实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。
14[单选题] 若有定义和语句:int a,b; scanf("%d,%d",&a,&b); 以下选项中的输入数据,不能把值3 赋给变量a、5 赋给变量b 的是
A.3,5,
B.3,5,4
C.3 ,5
D.3,5
参考答案:C
参考解析:题目中用scanf 函数以整数的形式输入a,b 的值。选项C)整型数字3 后面有一个空格,当输入空格时,scanf 函数输入就会终止。
15[单选题] 若函数中有定义语句:int a;,则( )。
A.系统将自动给a赋初值为0
B.系统将自动给a赋初值-1
C.这时a中的值无意义
D.这时a中无任何值
参考答案:C
参考解析:用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中放任何值,此时变量中的值是无确定的,称变量值”无意义”。因此,本题正确答案为c。
16[单选题] 程序段:int x=12;double y=3.141593;printf(”%d%8.6f”,x,y);的输出结果是( )。
A.123.141593
B.12 3.141593
C.12,3.141593
D.123.1415930
参考答案:A
参考解析:本题考查prinff函数的输出格式控制符,%m.nf表示指定输出的实型数据的宽度为m(包含小数点),并保留n位小数。当输出数据的小数位大于n时,截去右边多余的小数,并对截去的部分的第一位做四舍五入的处理;当输出数据小数位小于n时,在小数的最右边补0,输出数据的小数部分宽度为n。若给出的总宽度m小于ll加上整数位数和小数点,则自动突破m的限制;反之,数字右对齐,左边补空格。本题中3.141593数值长度为8,小数位数是6,因此左端没有空格,故正确答案为A。
17[单选题] 以下叙述不正确的是( )。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算赋值表达式a=b后,b的值将放入a中,而b的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值