C语言09综合复习选择结果Word格式.docx
《C语言09综合复习选择结果Word格式.docx》由会员分享,可在线阅读,更多相关《C语言09综合复习选择结果Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
sdio.h>
D、#include<
ctype.h>
12.在C语言中,要求参加运算的数必须是整数的运算符是。
A./B.!
C.%D.==
13.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f的值的数据类型为。
A.floatB.intC.doubleD.不确定
14.下列表达式的值为0的是。
A.3<
5B.3/5.0C.3/5D.3%5
15.设inta=12;
,则执行完语句a*=2+3后,a的值为()。
A、60B、27C、12D、5
16.逗号表达式(a=3*5,a*4),a+15的值是()。
A、15B、60C、30D、75
17.以下能正确地定义整型变量a,b和c并为它们赋初始值5的语句是()。
A、inta=5,b=5,c=5;
B、inta,b,c=5;
C、a=5,b=5,c=5;
D、a=b=c=5;
18.putchar函数可以向终端输出一个。
A.字符串B.整型变量表达式值
C.实型变量值D.字符或字符型变量值
19.语句printf(“a=%4d,b=%4d\n”,123,12345);
执行后输出的结果是()。
(说明:
□表示空格)
A、a=123,b=1234B、a=123□,b=12345
C、a=123,b=2345D、a=□123,b=12345
20.若有以下程序段:
intx1=1,x2=2,x3=3;
x3=x1/x2;
printf(“%d\n”,x3);
执行后输出的结果是()。
A、0.5B、1/2C、0D、3
21.有输入语句:
scanf("
a=%d,b=%d,c=%d"
&
a,&
b,&
c);
,为使变量a的值为1,b的值为3,c的值为2;
从键盘输入数据的正确形式应当是()。
A、132<
回车>
B、1,3,2<
C、a=1□b=3□c=2<
D、a=1,b=3,c=2<
22.C语言用( C)表示逻辑真。
A.tB.TrueC.非0D.0
23.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式()
A、只能用逻辑表达式B、可用任意表达式
C、只能用逻辑表达式或关系表达式D、只能用关系表达式
24.语句if(i)i++;
中的条件表达式i等价于()。
A、i==0B、i!
=1C、i!
=0D、-1
25.设intx,y,z;
执行语句x=y=z=0;
++x&
++y||++z;
后,x,y,z的值依次为。
A.1,0,0B.1,1,0C.1,0,1D.1,1,1
26.若有说明:
intw=1,x=2,y=3,z=4;
则执行下列语句后的m值是。
m=(w<
x)?
w:
x;
m=(m<
y)?
m:
y;
m=(m<
z)?
z;
A.lB.2C.4D.3
27.C语言规定,if语句的嵌套结构中,else总是与()配对。
A、与最近的if配套B、与第一个if配套
C、按缩进位置相同的if配套D、与最近的且尚未配对的if配套
28.判断char型变量ch是否为大写字母的正确表达式是。
A.(ch>
=’A’)&
(ch<
=’Z’)B.’A’<
=ch<
=’Z’
C.(ch>
=’Z’)D.(’A’<
=ch)AND(’Z’>
=ch)
29.执行下面的程序段后,变量k的值是。
intk=5;
switch(k--)
{case4:
k+=2;
case5:
k+=3;
case6:
k+=4;
break;
default:
k+=10;
}
A.9B.11C.12D.13
30.假设a=1,则执行完下面语句后,a的值为()。
switch(a)
{case0:
a=a+1;
case1:
a=a+2;
case2:
a=a+3;
case3:
a=a+4;
a=a+5;
}
A、1B、3C、6D、15
31.下列循环结构至少能执行一次循环体的是(B)
A.whileB.do-whileC.forD.if-goto
32.设有程序段则下面描述中正确的是。
intk=10;
while(k==0)k=k-1;
A.循环是无限循环B.while循环执行10次
C.循环体语句一次也不执行D.循环体语句执行一次
33.以下程序段。
x=-1;
do
{x=x*x;
}while(!
x);
A.是死循环B.循环执行二次
C.循环执行一次D.有语法错误
34.有以下程序段:
ints=0,i=10;
do{
s=s+i;
}while(i<
10);
循环体执行的次数是()。
A、0B、1C、10D、无限次
35.下面程序的运行结果是()。
#include<
stdio.h>
voidmain()
{inta=1,b=10;
do
{b-=a;
a++;
}while(b--<
0);
printf("
a=%d,b=%d\n"
a,b);
A、a=3,b=11B、a=2,b=8C、a=1,b=-1D、a=4,b=9
36.执行下面程序段后屏幕的显示结果是。
inti=1;
while(i)printf(“%d”,i--);
A.1B.0C.无显示D.死循环
37.若i为整型变量,则以下循环执行次数是。
for(i=2;
i==0;
i++)printf(“%d”,i--);
A.无限次B.2次C.l次D.O次
38.执行语句for(i=1;
i++<
4;
);
后变量i的值是。
A.3B.4C.5D.不定
39.对for(表达式1;
;
表达式3)可理解为()。
A、for(表达式1;
0;
表达式3)
B、for(表达式1;
1;
C、for(表达式1;
表达式1;
D、for(表达式1;
表达式3;
40.以下错误的描述是()
A、break语句和continue语句的作用是一样的
B、break语句可用于do~while语句
C、在循环语句中使用break语句是为了跳出循环,提前结束循环
D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环
41.以下对一维数组a的正确定义是D。
A.intn=5;
inta[n];
B.intn;
C.intn;
scanf(“%d”,n);
inta[n];
D.#defineN5
inta[N];
42.若有定义inta[10];
则下面有问题的赋值语句是()。
A、a[0]=0;
B、a[2*3]=2*3C、a[9]=2.5D、a[10]=10;
43.若有整型数组inta[]={2,4,6,8,10},则a[4]的值为()。
A、4B、6C、8D、10
44.若要定义c为2×
3的二维数组,正确的定义语句是()。
A、floatc[2][3]B、floatc[2,3]C、floatc(2,3)D、floatc
(2)(3)
45.设inta[][4]={1,2,3,4,5,6,7,8,9,10};
则数组a的第一维的大小是(B)
A.2B.3C.4D.无确定值
46.以下对二维数组a的正确说明是:
C
A.floata(3,4)B.inta[3][]
C.doublea[2][4]D.inta(5)(5)
47.下面程序段的显示结果是。
staticinta[3][4]={3,8,9,10,2,5,-3,5,7,0,-1,14};
inti,sum=0;
for(i=0;
i<
3;
i++)sum+=a[i][2];
printf(“%d”,sum);
A.13B.6C.5D.0
48.已知inta[][3]={{0,1},{2,3,4,},{5,6},{7}};
则a[2][1]的值是。
A.0B.2C.6D.7
49.有数组定义intnum[][3]={{0},{1,2,3}};
num有个元素。
A.3B.6C.9D.不确定
50.C程序的函数内A。
A.不可以嵌套定义函数B.可以嵌套定义过程
C.可以嵌套定义函数和过程D.可以嵌套定义函数
51.C语言规定,函数返回值的类型由________C____。
A.return语句中的表达式类型决定。
B.由调用该函数的函数类型决定。
C.由定义函数时指定的函数类型决定。
D.由调用该函数的表达式形式决定。
52.按照C语言规定,以下不正确的是。
A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式
C.实参可以为任意类型D.形参应与其对应的实参类型一致
53.以下程序的运行结果是()。
voidswap(inta,intb)
{intt;
t=a;
a=b;
b=t;
voidmain()
{
inti=3,j=5;
没有return
printf(“%d,%d,”,i,j);
swap(i,j);
printf(“%d,%d\n”,i,j);
A、3,5,3,5B、3,5,5,3C、3,3,5,5D、5,5,3,3
54.以下程序的运行结果是()。
{intfun(inta,intb);
intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
%d\n"
r);
intfun(inta,intb)
{if(a>
b)return(a+b);
elsereturn(a-b);
A、-16B、-17C、17D、16
55.以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
56.下面不正确的字符串常量是()。
A.‘abc’B.“12’12”C.“0”D.“
57.以下表达式值为3的是()。
A.16-13%10B.2+3/2
C.14/3-2D.(2+6)/(12-9)
589.若有代数式3ae/(bc),则不正确的C语言表达式是()。
A.a/b/c*e*3B.3*a*e/b/c
C.3*a*e/b*cD.a*e/c/b*3
59.若x、i、j和k都是int型变量,则执行下面表达式后x的值为()。
x=(i=4,j=16,k=32)
A.4B.16C.32D.52
60.执行表达式a=12,a=a+13,a+20后a的值为()。
A.45B.12C.25D.13
61.设intx=1,y=2,z=3;
则表达式x==z||x+y>
z的值是()。
A.0B.1C.2D.3
62.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’;
后,c2中的值为()。
63.设有说明:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y值的数据类型为()。
A.intB.floatC.doubleD.char
64.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式()。
A.从左起输出该字串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字串,左补空格
D.输出错误信息
65.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()。
inta1,a2;
charc1,c2;
scanf(“%d%d”,&
a1,&
a2);
scanf(“%c%c”,&
c1,&
c2);
A.1020AB<
B.1020<
AB<
C.1020AB<
D.1020AB<
66.有输入语句:
scanf(“%d%d%d”,&
c);
为使变量a的值为1,b为3,
c为2,从键盘输入数据的正确形式应当是()。
(_表示空格)"
A.132<
B.1,3,2<
C.132<
D.a=1,b=3,c=2<
67.以下说法正确的是()。
A.输入项可以为一实型常量,如scanf(“%f”,3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&
f);
D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&
68.若有以下定义,则正确的赋值语句是()。
inta,b;
floatx;
A.a=1,b=2B.b++;
C.a=b=5D.b=int(x);
69.以下关于运算符优先顺序的描述中正确的是()。
A.关系运算符<
算术运算符<
赋值运算符<
逻辑与运算符
B.逻辑与运算符<
关系运算符<
赋值运算符
C.赋值运算符<
逻辑与运算符<
算术运算符
D.算术运算符<
70.表示图中坐标轴上阴影部分的正确表达式是()。
////////
X
abc
A.(x<
=a)&
(x>
=b)&
(x<
=c)
B.(x<
=a)||(b<
=x<
C.(x<
=a)||(x>
D.(x<
(b<
71.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()。
A.A%2==1B.!
(A%2==0)C.!
(A%2)D.A%2
72.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。
A.‘x’&
‘y’B.x<
=y
C.x||y+z&
y-zD.!
((x<
y)&
!
z||1)
73.已知x=43,y=0,ch=‘A’;
则表达式(x>
=y&
ch<
‘B’&
!
y)的值是()。
A.0B.语法错C.1D.“假”
74.执行以下语句后a的值为()。
inta=5,b=6,w=1,x=2,y=3,z=4;
(a=w>
x)&
(b=y>
z);
A.5B.0C.2D.1
75.以下程序的运行结果是()。
#include“stdio.h”
main()
inta,b,d=241;
a=d/100%9;
b=(-1)&
(-1);
printf(“%d,%d”,a,b);
A.6,1B.2,1C.6,0D.2,0
76.以下if语句语法正确的是()。
A.if(x>
0)printf(“%f”,x)
elseprintf(“%f”,-x);
B.if(x>
0)
{x=x+y;
printf(“%f”,x);
C.if(x>
};
D.if(x>
printf(“%f”,x)}
77.以下不正确的if语句形式是()。
y&
x!
=y);
B.if(x==y)x+=y;
C.if(x!
=y)scanf(“%d”,&
x)elsescanf(“%d”,&
y);
D.if(x<
y){x++;
y++;
38.已知intx=10,y=20,z=30;
以下语句执行后x,y,z的值是()。
if(x>
y)z=x;
x=y;
y=z;
A.x=10,y=20,z=30B.x=20,y=30,z=30
C.x=20,y=30,z=10D.x=20,y=30,z=20
78.设以下变量均为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)
79.已知intx=0,y=1.5;
执行以下程序段以后,y的值为()。
if(x!
=0)
0)y=1;
elsey=-1;
printf(“%d”,y);
A.0B.-1C.1.5D.1
80.若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是()。
A.(exp==0)B.(exp!
=0)C.(exp==1)D.(exp!
=1)
81.下面程序段的运行结果是()。
intn=0;
while(n++<
=2);
printf(“%d\n”,n);
A.2B.3C.4D.有语法错
82.下面程序段的运行结果是()。
a=1;
b=2;
c=1;
while(a<
b<
c){t=a;
--c;
printf(“%d,%d,%d”,a,b,c);
A.1,2,0B.2,1,0C.1,2,1D.2,1,1
83.下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
84.若i为整型变量,则以下循环执行次数是()。
for(i=2;
i==0;
)printf(“%d”,i--);
A.无限次B.0次C.1次D.2次
85.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型常量B.整型表达式
C.整型常量或整型表达式D.任何类型的表达式
86.若有说明:
inta[10];
则对a数组元素的正确引用是() 。
A.a[10]B.a[3.5]C.a(5)D.a[10-10]
87.对以下说明语句的正确理解是()。
inta[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
88.若有说明:
inta[3][4]={0};
则下面正确的叙述是()。
A.只有元素a[0][0]可得到初值0
B.此说明语句不正确
C.数组a中各元素