国二c语言上机加笔试题库含答案Word格式.docx
《国二c语言上机加笔试题库含答案Word格式.docx》由会员分享,可在线阅读,更多相关《国二c语言上机加笔试题库含答案Word格式.docx(199页珍藏版)》请在冰点文库上搜索。
10.目标程序是指计算机不能识别和执行高级语言程序,只能通过高编译系统将高级语言程序转化为二进制的目标程序。
目标程序文件的扩展名为.obj。
11.可执行程序是指将目标函数和系统的函数库以及其它目标函数链接起来行程可执行程序。
可执行程序文件的扩展名为.exe。
12.上机运行一个C源程序的步骤一般为:
①输入和编辑源程序;
②编译源程序;
③连接库函数;
④生成可执行程序。
第三章数据类型、运算符与表达式
1.下面四个选项中,均不是c语言关键字的选项是()。
A)define IF Type B)getc char printf
C)include scanf case D)while go pow
2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符
3.下列四个选项中,均是C语言关键字的选项是()。
A)autoenuminclude B)switchtypedefcontinue
C)signedunionscanf D)ifstructtype
4.下面四个选项中,均是不合法的用户标识符的选项是()。
A)AP_0do B)floatla0_A
C)b-agotoint D)_123tempint
5.以下有4组用户标识符,其中合法的一组是()。
A)For-subCase B)4dDOSize
C)f2_G3IFabc D)WORDvoiddefine
6.下列选项中,合法的C语言关键字是()。
A)VAR B)cher C)integer D)default
7.下面四个选项中,均是合法整型常量的选项是()。
A)160-0xffff011 B)-0xcdf01a0xe
C)–019860120668 D)-0x48a0x2e50xe
8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。
A)-100x8f-011 B)0abc-0170xc
C)010-0x110xf1 D)0a12-0x123-0xa
9.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()。
A)0~255 B)0~32767 C)0~65535 D)0~2147483647
10.在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAF(11101111=128+64+32+8+4+2+1)
11.下面四个选项中,均是不合法的整型常量的选项是()。
A)-0f1-0xffff0011 B)-0xcdf01712456
C)-0189995e2 D)-0x48eg-06803f
12.下面四个选项中,均是不合法的浮点数的选项是()。
A)160.0.12e3 B)1232e4.2.e5
C)-.18123e40.0 D)-e3.2341e3
13.下面四个选项中,均是合法的浮点数的选项是()。
A)+1e+15e-9.403e2 B)-.6012e-4-8e5
C)123e1.2e-.4+2e-1 D)-e3.8e-45.e-0
14.下列变量定义中合法的是()。
A)short_a=1-.le-1;
B)doubleb=1+5e2.5;
C)longdo=0xfdaL;
D)float2_and=1-e-3;
15.以下选项中合法的字符常量是()。
A)“B” B)‘\010’ C)68 D)D
16.以下选项中,非法的字符常量是()。
A)'
\t'
B)'
\17'
C)"
n"
D)'
\xaa'
17.以下所列的C语言常量中,错误的是()。
A)0xFF B)1.2e0.5 C)2L D)‘\72’
18.在C语言中,char型数据在内存中的存储形式是()。
A)补码 B)反码 C)原码 D)ASCII码
19.下面四个选项中,均是合法转义字符的选项是()。
A)‘\’’‘\\’‘\n’ B)‘\’‘\017’‘\”’
C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’
20.下面四个选项中,均是不合法的转义字符的选项是()。
A)‘\””’‘\\’‘\xf’ B)‘\1011’‘\’‘\a’
C)‘\011’‘\f’‘\}’ D)‘\abc’‘\101’‘xlf’
21.下面正确的字符常量是()。
A)“c” B)‘\\’’ C)‘W’ D)‘’
22.下面四个选项中,均是正确的数值常量或字符常量的选项是()。
A)0.00f8.9e‘&
’ B)‘a’3.9e-2.51e1‘\’’
C)‘3’0110xff000a D)+0010xabcd2e250.
23.下面不正确的字符串常量是()
A)‘abc’ B)”1212” C)”0” D)””
24.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为()。
A)char<
int<
longint<
=float<
double
B)char=int<
C)char<
longint=float=double
D)char=int=longint<
25.若有说明语句:
charc='
\72'
;
则变量c()。
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c的值不确定
26.设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为()。
A)int B)float C)double D)不确定
27.表达式18/4*sqrt(4.0)/8值的数据类型为()。
28.设有说明:
char w;
int x;
float y;
double z;
则表达式w*x+z-y值的数据类型为()。
A)float B)char C)int D)double
29.以下选项中属于C语言的数据类型是()。
A)复数型 B)逻辑型 C)双精度型 D)集合型
30.以下程序的输出结果是
main()
{
charc=‘z'
;
printf(“%c”,c-25);
}
A)a B)Z C)z-25 D)y
31.若有定义:
int a=7;
float x=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是()。
A)2.500000 B)2.750000 C)3.500000 D)0.000000
32.若有代数式3ae/bc,则不正确的c语言表达式是()。
A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3
33.设有int x=11;
则表达式(x++*1/3)的值是()。
A)3 B)4 C)11 D)12
34.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C语言表达式是()。
A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z
35.C语言中运算对象必须是整型的运算符是()。
A)%= B)/ C)= D)<
=
36.下列程序的输出结果是()。
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("
%d\n"
d*y);
A)3 B)3.2 C)0 D)3.07
37.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为()。
A)4 B)16 C)32 D)52
38.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
A)7 B)8 C)6 D)2
39.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。
A)3.500000 B)3 C)2.000000 D)3.000000
40.若以下变量均是整型,且num=sum=7;
则计算表达式sum=num++,sum++,++num后sum的值为()。
A)7 B)8 C)9 D)10
41.若有定义intk=7,x=12;
,则以下能使值为3的表达式是()。
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
42.设以下变量均为int类型,则值不等于7的表达式是()。
A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)
43.下列程序执行后的输出结果是()。
{
intx=‘f’;
printf(“%c\n”,‘A’+(x-‘a’+1));
A)G B)H C)I D)J
44.下列程序执行后的输出结果是()。
{charx=0xFFFF;
%d\n"
x--);
}
A)–32767 B)FFFE C)-1 D)–32768
45.以下程序的输出结果是()。
{inta=3;
(a+=a-=a*a));
A)-6 B)12 C)0 D)–12
46.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
A)a:
=b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b
47.若有以下程序段,
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是()。
A)0 B)0.5 C)1 D)2
48.有如下程序
main()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
运行该程序的输出结果是()。
A)34 B)42 C)43 D)33
49.已知大写字母A的ASCII码为65,以下程序的运行结果为()。
#include<
stdio.h>
main()
charc1=‘A’,c2=‘Y’;
printf(“%d,%d\n”,c1,c2);
A)65,89 B)A,Y C)65,88 D)65,90
50.以下程序的输出结果是()。
inta=010,b=10;
printf(“%d,%d\n”,a++,--b);
A)10,10 B)8,10 C)10,9 D)8,9
51.以下程序的输出结果是()。
inta,b;
a=100;
b=200;
printf(“%d\n”,(a,b));
A)100 B)200 C)20000 D)100=200
52.执行语句y=10;
x=y++;
的结果是()。
A)x=10,y=10 B)x=11,y=11 C)x=10,y=11 D)x=11,y=10
53.在表示C语言的整型变量时,表示“无符号长整型”的符号是()。
A)unsignedint B)unsignedshort
C)longint D)unsignedlong
54.在下列形式的常数中,C程序不允许出现的是()。
A).45 B)±
123 C)25.6e-2 D)4e3
55.以下程序的输出结果是()。
{floatx=3.6;
inti;
i=(int)x;
printf(“x=%f,i=%d”,x,i);
A)x=3.600000,i=4 B)x=3,i=3
C)x=3.600000,i=3 D)x=3.000000,i=3.600000
56.在C语言中,要求运算数必须是整型数据的运算符是()。
A)/ B)% C)!
D)<
57.执行下列语句的结果是()。
i=3;
printf(“%d,”,++i);
printf(“%d”,i++);
A)3,3 B)3,4 C)4,3 D)4,4
58.已知x=3,y=2,则表达式x*=y+8的值为()。
A)3 B)2 C)30 D)14
59.执行语句inti=65536;
printf(“%d\n”,i);
A)65536 B)0 C)有语法错误,无输出结果 D)-1
60.在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAF
61.C语言提供的合法关键字是()。
A)swicth B)chan C)Case D)default
62.表示“在使用x之前,先使x的值加1”的正确方式是()。
A)++x B)x++ C)+x D)+x+
63.设x的值为5,则表达式(++x)+(++x)+(++x)的值是()。
A)24 B)20 C)15 D)21
64.在C语言中,合法的字符常量是()。
A)‘\084’ B)‘\x43’ (十六进制) C)‘ab’ D)“\0”
65.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是()。
A)1 B)2 C)2.0 D)2.6
66.若t为double类型,表达式t=1,t+5,t++的值是()。
A)1 B)6.0 C)2.0 D)1.0
67.若有以下定义和语句,则输出结果是()。
charc1=‘b’,c2=‘e’;
printf(“%d,%c\n”,c2-c1,c2-’a’+’A’);
A)2,M B)3,E
C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
68.设有如下的变量定义:
inti=8,a,b;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是()。
A)a+=a-=(b=4)*(a=3) B)x%(-3)
C)a=a*3=2 D)y=float(i)
69.若有以下定义和语句:
intu=010,v=0x10,w=10;
printf(“%d,%d,%d\n”,u,v,w);
()
则输出结果是()。
A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10
1.若x和a均是int型变量,则计算表达式
(1)后的x值为12,计算表达式
(2)后的x值为4。
(1)x=(a=4,6*2)
(2)x=a=4,6*2
2.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为26。
3.若b是int型变量,则表达式b=25/3%3的值为2。
4.若s是int型变量,且s=6则下面表达式s%2+(s+1)%2的值为1。
5.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为6,b值为4,c值为2。
6.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为10,n的值为6。
7.若有定义:
intb=7;
floata=2.5,c=4.7;
则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为5.5。
8.若有定义:
inta=2,b=3;
floatx=3.5,y=2.5;
则表达式(float)(a+b)/2+(int)x%(int)y的值为3.5。
9.若有定义:
intx=3,y=2;
floata=2.5,b=3.5;
则表达式(x+y)%2+(int)a/(int)b的值为1。
10.若x和n均是整型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0。
11.以下程序的输出结果是0。
main()
{unsignedshorta=65536;
intb;
printf(“%d\n”,b=a);
12.请写出数学式a/bc的C语言表达式a/(b*c)。
13.设a、b、c为整型数,且a=2、b=3、c=4,则执行完语句a*=16+(b++)-(++c)后,a的值是28。
第四章最简单的C程序设计——顺序程序设计
1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。
A)从左起输出该字符串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
2.已有定义inta=-2;
和输出语句printf(“%8x”,a);
以下正确的叙述是()。
A)整型变量的输出形式只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的
D)%8x不是错误的格式符,其中数字8规定了输出字段的宽度
3.若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是
()。
A)scanf(“%d%x,%le”,&
x,&
y,&
z);
B)scanf(“%2d*%d,%lf”,&
C)scanf(“%x%*d%o”,&
y);
D)scanf(“%x%o%6.2f”,&
(双精度型用%le,或者%lf)
4.以下程序的输出结果是()。
{intk=17;
%d,%o,%x\n"
,k,k,k);
A)17,021,0x11 B)17,17,17
B)17,0x11,021 D)17,21,11
5.下列程序的运行结果是()。
#include<
{inta=2,c=5;
a=%d,b=%d\n"
a,c);
A)a=%2,b=%5 B)a=2,b=5
C)a=d,b=d D)a=2,c=5
6.语句printf("
a\bre\'
hi\'
y\\\bou\n"
);
的输出结果是()。
(说明:
'
\b'
是退格符)
A)a\bre\'
y\\\bou B)a\bre\'
y\bou
C)re'
hi'
you D)abre'
7.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。
A)INPUTx、y、z;
B)scanf("
%d%d%d"
&
x,&
y,&
C)scanf("
x,y,z);
D)read(