C语言习题集Word下载.docx
《C语言习题集Word下载.docx》由会员分享,可在线阅读,更多相关《C语言习题集Word下载.docx(50页珍藏版)》请在冰豆网上搜索。
}AA;
}stud;
AAstud;
C.structD.struct
}aa;
structaastud;
9.有如下函数调用语句:
func(rec1,rec2+rec3,(rec4+rec5));
函数调用语句中,含有的实参个数是()
A.3B.4
C.5D.以上均不是
10.对于以下宏定义:
#defineSQ(x)x*x
#defineQQ(x,y)SQ(x)-SQ(y)
宏调用QQ(2*3,2+3)执行后值为()
A.25B.11
C.43D.以上均不是11.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为()
12.下列说法正确的是()
13.下面是合法C语言标识符的是( )
14.下列格式符中,可以用于控制字符输出的是()
15.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是()
16.执行语句“for(i=1,s=0;
17.若有定义 intx,*p;
18.以下对结构体类型变量的定义中,不正确的是()
19.有如下函数调用语句:
20.对于以下宏定义:
C.43D.以上均不是21.有如下程序的输出结果是()
main()
{inty=3,x=3,z=1;
Printf(“%d%d\n”,(++x,y++),z+2);
}
A34B42C43D33
22.下列说法不正确的是()
A主函数main中定义的变量在整个文件或程序中有效
B不同函数中,可以使用相同名字的变量
C形式参数是局部变量
D在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效.
23.算术表达式x+a%3*(int)(x+y)%2/4的值为()。
其中,x=3.5,a=7,y=4.7。
A2.500000B3.500000C3.000000D4.500000
24.设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=3;
则执行表达式(m=a>
b)&
&
(n=c>
d)后,n的值为()
A1B0C3D4
25.以下程序段运行后i的值为()。
inti=0,c=1;
switch(c)
{case1:
i+=2;
case2:
i+=1;
break;
default:
i+=4;
}
A3B7C1D4
26.若有以下定义及语句,则对数组a元素正确引用表达式是()
inta[3][4];
int(*p)[4]=a;
Ap+1
B*(p+2)
C*(p+2)[1]
D*(*p+1)
27.以下程序的输出结果为()。
{chars1[40]="
country"
s2[20]="
side"
;
inti=0,j=0;
while(s1[i]!
='
\0'
)i++;
while(s2[j]!
)s1[i++]=s2[j++];
s1[i]=0;
printf("
%s\n"
s1);
AsideBcountryCsidetryDcountryside
28.有如下函数调用语句:
sum(r1,r2+r3,(r4,r5));
则含有的实参个数是()。
A3B5C4D有语法错
29.有如下函数:
intf(inta)
{autointb=0;
staticintc=3;
b=b+1;
c=c+1;
return(a+b+c);
如果有inti,j;
则执行两次调用i=f(3);
j=f(3)后,i,j值为()
A7,7B7,8C8,9D8,7
30.设有说明int(*ptr)();
其中标识符ptr是()。
A是一个指向整形变量的指针B是一个指针,它指向一个函数值是int的函数
C是一个函数名D定义不合法
31.常数的书写格式决定了常数的类型和值,0x1011是()
A.8进制整型常量B.字符常量
C.16进制整型常数D.2进制整型常数
32.执行下列程序后,a值为:
()
inta,b;
a=15;
b=12;
a=(a--==b++)?
a%5:
a/5;
(A)0(B)2.8(C)4(D)2
33.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()
(A)地址传递(B)单向的值传递
(C)由实参传给形参,再由形参传给实参(D)传递方式由用户指定
34.有如下程序段
int*p,a,b=1;
p=&
a;
*p=10;
a=*p+b;
执行该程序段后,a的值为()
(A)12(B)11(C)10(D)编译出错
35.已知char和int类型分别占1和2个字节,则sizeof(yy)的返回值应为:
union
{
chara1;
inta2;
inta3;
}yy;
(A)2(B)4(C)5(D)定义有错
36.设j为int型变量,下列for循环语句的执行结果是()
for(j=10;
j>
3;
j--)
{if(j%3)j--;
--j;
--j;
printf(“%d”,j);
}
(A)63(B)74(C)62(D)741
37.宏定义"
#definep(x,y,z)x=y*z;
"
的宏替换"
p(a,x+5,y-3.1)"
应为()
A.a=x+5*y-3.1B.a=(x+5)*(y-3.1);
C.a=x+5*y-3.1D.a=(x+5)*(y-3.1)
38.下列各语句定义了数组,其中一个不正确的是()
A.staticinta[5],b[2][3];
B.charno[30],rec[30,6];
C.intx[]={2,4,6,8,10};
D.intx[10]={1,2,3,4,5};
39、以下是合法的C语句的是()
A)a==1B)printf(“hello”);
C)a=int(i);
D)i++j++;
40.一个C程序由若干个C函数组成,各个函数在文件中的书写位置为()
(A)任意(B)第一个函数必须是主函数,其他函数任意
(C)必须完全按调用顺序排列(D)其他函数必须在前,主函数必须在最后
41.以下选项中合法的字符常量是()
A.“B”B.‘\010’
C.68D.D
42.若有以下定义,则表达式的值为3的是()
intk=7,x=12;
A.x%=(k%=5)B.x%=(k-k%5)
C.x%=k-k%5D.(x%=k)-(x%=5)
43.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()
A.1B.2
C.2.0D.2.5
44.判断字符变量c的值为数字(‘0’---‘9’)则返回1,否则返回0,可用表达式()
A.‘0’<
=c<
=‘9’B.‘0’<
=c&
c<
=‘9’
C.‘0’<
=c||c<
=‘9’D.‘9’>
=c>
=‘0’
45.有如下程序,该程序的执行结果是()
main()
{
intn=9;
while(n>
6)
{n--;
printf(“%d”,n);
A.987B.876
C.8765D.9876
46.若有以下的定义及语句,则对数组元素正确引用的表达式是()
inta[5][4];
int(*p)[4]=a;
A.p+1B.*(p+3)
C.*(p+1)+2D.*(*(p+3)+2)
47.有如下函数,调用f(“1234”)的返回值为()
intf(char*s)
intk=0;
while(*s)
k=k*10+*s++-‘0’;
returnk;
A.“1234”B.1234
C.“4321”D.4321
48.对于以下程序段,运行后i的值为()
enumWEEK{1,2,3,4,5,6,7};
enumWEEKa=1;
inti=0;
switch(a)
case1:
i=2;
case2:
i=3;
i=4;
A.2B.0
C.3D.4
49.执行下列程序后变量i的值应为()
#defineTA(x,y)((x)*y)
inti=3;
i=TA(i,i+1)+2;
A.15B.10
C.12D.1450.变量a所占内存字节数是()
unionU
{charst[4];
inti;
longl;
};
structA
{intc;
unionUu;
}a;
A.4B.5
C.6D.8
51.下列字符串不是标识符的是()
sumB.AverageC.Day_nightD.M.D.JOHN
52.在C语言中,回车换行符是()
\nB.\tC.\vD.\b
53.在C语言中,语句和数据定义是用()作为结束标记的
A.句号B.逗号C.分号D.括号
54.设有如下定义:
intx=10,y=5,z;
则语句printf(“%d\n”,z=(x+=y,x/y));
的输出结果是()
A.0B.1C.3D.4
55.以下程序的输出结果是()
{charc1=’a’,c2=’A’;
printf(“%c,%c,%d,%d\n”,c1,c2,c1,c2);
A.因输出格式不合法,输出出错信息
B.a,A,97,65C.65,97,A,aD.a,A,a,A
56.完成C源文件编辑后经过编译、连接,生成文件扩展名为()的可执行文件。
A..cB..exe
C..objD..txt
57.下列运算符优先级最高的是()
A.>
B.+C.&
D.!
=
58.一个C程序的执行是从()
A.本程序中的main函数开始,到main函数结束
B.本程序中的第一个函数开始,到本程序中的最后一个函数结束
C.本程序中的main函数开始,到本程序中的最后一个函数结束
D.本程序中的第一个函数开始,到本程序中的main函数结束
59.以下叙述中正确的是()
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main()函数必须放在其它函数之前
D.所有被调用的函数一定要在调用之前进行定义
60.设a和b均为double型常量,且a=5.0、b=2.0,则表达式(int)(a/b)的值是()
A.2.5B.2.000000C.2.500000D.2
61.取模运算符“%”不能用于哪一种类型的运算()
A.X=10%3B.X=6%3C.X=1024%1D.X=6.28%3.14
12.下列对变量的定义哪个正确()
A.intx,inty;
B.chars1,s2C.floata,b;
D.charif;
63.字符串“HELLO!
”的长度是多少?
在内存中占用多少单元数?
()
A.长度为6,占6个单元B.长度为6,占7个单元
C.长度为7,占7个单元D.长度为7,占6个单元
64.下列错误的赋值语句是()
A.X=Y++=1;
B.X=3*4;
C.X=‘F’-‘A’D.X=2*(++I);
65.如果:
a=5;
b=6;
那么:
a>
=b&
(a+5)>
=(b-3)和a>
b||a!
=b的值各是多少()
A.0,0B.0,1C.1,0D.1,1
以下()是C语言提供的合法数据类型关键字
A)FloatB)ChARC)IntgerD)unsigned
以下选项中合法的字符常量是()
A)“B”B)‘\010’C)68D)D
设正x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()printf(”%d,%d\n”,x--,--y);
A)10,2B)9,3C)9,2D)10,3
下列字符串不是标识符的是()
A.YEARB.AverageC.stUDENTD.7_num
66.以下选项中合法的字符常量是()
67.若有以下定义,则表达式的值为3的是()
68.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()
69.判断字符变量c的值为数字(‘0’---‘9’)则返回1,否则返回0,可用表达式()
70.有如下程序,该程序的执行结果是()
71.若有以下的定义及语句,则对数组元素正确引用的表达式是()
72.有如下函数,调用f(“1234”)的返回值为()
73.对于以下程序段,运行后i的值为()
74.执行下列程序后变量i的值应为()
C.12D.1475.变量a所占内存字节数是()
76.以下程序的输出结果是()
{inta=3;
printf(“%d\n”,(a+=a-=a*a));
A)–6B)12C)0D)–12
77.下列说法错误的是()
A.一个c语言程序总是从主函数位置开始执行的
D.程序函数的位置可以任意
78.在C语言中,语句和数据定义是用()作为结束标记的
A.分号B.逗号C.句号D.括号
79.语句“x*=y+2;
”与下列()语句结果一样
A.x=x*y+2;
B.x=2+x*y;
C.x=x*(y+2);
D.x=y+2*x;
80.下列各语句中,能够且仅输出整型变量a、b中最大值的是()
A.if(a>
b)printf(″%d\n″,a);
printf(″%d\n″,b);
B.printf(″%d\n″,b);
if(a>
C.if(a>
elseprintf(″%d\n″,b);
D.if(a<
81.以下程序的输出结果是()
main()
{intx=4,y=2,z;
printf(“%d\n”,z=(x-=y,x/y));
A.0B.1C.2D.3
82.以下不能正确定义二维数组的选项是()
A)inta[2][2]={{1},{2}};
B)inta[2][]={{1,2},{3,4},{5,6}};
C)inta[2][2]={{1},2,3};
D)inta[][2]={1,2,3,4};
83.判断字符变量c的值为数字(’0’—’9’)则返回1,否则返回0,可用表达式:
(A)‘0’<
=c&
c<
=‘9’(B)‘0’<
(C)‘0’<
=c||c<
=‘9’(D)以上均不是
84.设j为int型变量,下列for循环语句的执行结果是()
for(j=7;
(A)4(B)40(C)死循环(D)41
85.已知char和int类型分别占1和2个字节,则sizeof(yy)的返回值应为:
(A)2(B)4(C)5(D)定义有错
86.以下程序的运行结果是()
#defineMIN(x,y)(x)<
(y)?
(x):
(y)
{inti=10,j=13,k;
k=10*MIN(i,j);
printf(“%d\n”,k);
A)10B)130C)100D)13
87.下列字符序列中,不合法的C语言标识符的是()。
A.abc123B.no.1C._123_D._ok
88.以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
89.设以下变量均为int类型,则值不等于7的表达式是()。
A.(m=n=6,m