大学C语言期末考试题库试题及答案汇总Word格式文档下载.docx
《大学C语言期末考试题库试题及答案汇总Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大学C语言期末考试题库试题及答案汇总Word格式文档下载.docx(184页珍藏版)》请在冰豆网上搜索。
9.
A、MainB、_0C、_intD、sizeof
10.
下列叙述中正确的是______。
A、C语言中既有逻辑类型也有集合类型
B、C语言中没有逻辑类型但有集合类型
C、C语言中有逻辑类型但没有集合类型
D、C语言中既没有逻辑类型也没有集合类型
11.
当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。
A、c=b=a;
B、(a=c)‖(b=c);
C、(a=c)&
&
(b=c);
D、a=c=b;
赋值表达式
12.
以下选项中非法的表达式是______。
A、0<
=x<
100B、i=j==0
C、(char)(65+3)D、x+1=x+1
13.
以下程序的输出结果是______。
#include<
stdio.h>
main()
{
inta,b,d=241;
a=d/100%9;
b=(-1)&
(-1);
printf("
%d,%d\n"
a,b);
}
A、6,1B、2,1C、6,0D、2,0
14.
以下循环体的执行次数是______。
inti,j;
for(i=0,j=1;
i<
=j+1;
i+=2,j--)
%d\n"
i);
A、3B、2C、1D、0
15.
有以下定义语句
doublea,b;
intw;
longc;
若各变量已正确赋值,则下列选项中正确的表达式是______。
A、a=a+b=b++
B、w%((int)a+b)
C、(c+w)%(int)a
D、w=a=b;
16.
有如下程序
inta;
charc=10;
floatf=100.0;
doublex;
a=f/=c*=(x=6.5);
%d%d%3.1f%3.1f\n"
a,c,f,x);
程序运行后输出结果是______。
A、16516.5
B、1651.56.5
C、1651.06.5
D、2651.56.5
17.
若变量a、i已正确定义,且i已正确赋值,合法的语句是______。
A、a==1B、++i;
C、a=a++=5;
D、a=int(i);
18.
若变量已正确定义并赋值,下面符合C语言语法的表达式是______。
A、a:
=b+1B、a=b=c+2
C、int18.5%3D、a=a+7=c+b
20.
设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。
A、x=x*100+0.5/100.0
B、x=(x*100+0.5)/100.0
C、x=(int)(x*100+0.5)/100.0
D、x=(x/100+0.5)*100.0
22.
在一个C程序中______。
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、main函数必须出现在固定位置
简单C语言程序的构成和格式
23.
以下说法中正确的是______。
A、#define和printf都是C语句
B、#define是C语句,而printf不是
C、printf是C语句,但#define不是
D、#define和printf都不是C语句
24.若k是int型变量,且有下面的程序片段
k=-3
if(k<
=0)printf("
####"
)
elseprintf("
"
);
上面程序片段的输出结果是______。
A、####B、&
C、####&
D、有语法错误,无输出结果
25.
以下4个选项中,不能看作一条语句的是______。
A、{;
}B、a=0,b=0,c=0;
C、if(a>
0);
D、if(b==0)m=1;
n=2;
26.
有以下程序
inta=0,b=0;
a=10;
/*给a赋值*/
b=20;
/*给b赋值*/
a+b=%d\n"
a+b);
程序运行后的输出结果是______。
A、a+b=10B、a+b=30C、30D、出错
27.
以下选项中,不能作为合法常量的是______。
A、1.234e04B、1.234e0.4
C、1.234e+4D、1.234e0
实型数据
28.
以下符合C语言语法的实型常量是______。
A、1.2E0.5B、3.14159E
C、.5E-3D、E15
30.
表达式3.6-5/2+1.2+5%2的值是______。
A、4.3B、4.8C、3.3D、3.8
算术表达式
31.
设inta=12,则执行完语句a+=a-=a*a后,a的值是______。
A、552B、264C、144D、-264
32.
以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是______。
A、x/y*zB、x*(1/(y*z))
C、x/y*1/zD、x/y/z
33.
若有定义:
inta=8,b=5,c;
执行语句c=a/b+0.4;
后,c的值是______。
A、1.4B、1C、2.0D、2
34.
设有定义:
floata=2,b=4,h=3;
以下C语言表达式与代数式1/2((a+b)h)计算结果不相符的是______。
A、(a+b)*h/2B、(1/2)*(a+b)*h
C、(a+b)*h*1/2D、h/2*(a+b)
35.
假定x和y为double型,表达式x=2,y=x+3/2的值是______。
A、3.500000B、3
C、2.000000D、3.000000
36.
若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。
A、1B、2C、2.000000D、2.500000
37.
若有以下程序段
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是______。
A、0B、0.5C、1D、2
38.
设有intx=11;
则表达式(x++*1/3)的值是______。
?
A、3B、4C、11D、12
39.
下列程序的输出结果是______。
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
d*y);
A、3B、3.2C、0D、3.07
40.
请读程序片段:
inti=65536;
%d\n"
A、65536B、0
C、有语法错误,无输出结果D、-1
整型数据
41.
若有以下定义和语句:
intu=010,v=0x10,w=10;
%d,%d,%d\n"
u,v,w);
则输出结果是:
______。
A、8,16,10B、10,10,10
C、8,8,10D、8,10,10
42.
在C语言中,不正确的int类型的常数是______。
A、32768B、0C、037D、0xAF
43.
main()
intk=17;
%d,%o,%x\n"
k,k,k);
A、17,021,0x11B、17,17,17
C、17,0x11,021D、17,21,11
44.
下面程序的输出是______。
unsigneda=32768;
a=%d\n"
a);
A、a=32768B、a=32767
C、a=-32768D、a=-1
45.
在C语言中,合法的长整型常数是______。
A、0LB、4962710
C、324562&
D、216D
46.
C语言中运算对象必须是整型的运算符是______。
A、%=B、/C、=D、<
=
47.
以下选项中不属于C语言的类型名称是______。
A、signedshortint
B、unsignedlongint
C、unsignedint
D、longshort
48.
intm=0256,n=256;
%o%o\n"
m,n);
A、02560400B、0256256
C、256400D、400400
49.
若执下面程序时从键盘上输入5,
intx;
scanf("
%d"
&
x);
if(x++>
5)printf("
x);
x--);
则输出是______。
A、7B、6C、5D、4
自加、自减运算符和逗号运算符
50.
main()
chara1='
M'
a2='
m'
%c\n"
(a1,a2));
以下叙述中正确的是______。
A、程序输出大写字母M
B、程序输出小写字母m
C、格式说明符不足,编译出错
D、程序运行时产生出错信息
51.
以下程序的输出结果是______。
(a=3*5,a*4,a+5));
A、65B、20C、15D、10
53.
设有如下程序段
intx=2002,y=2003;
(x,y));
则以下叙述中正确的是______。
A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B、运行时产生错误信息
C、输出值为2002
D、输出值为2003
54.
intx,y,z;
x=y=1;
z=x++,y++,++y;
x,y,z);
A、2,3,3B、2,3,2C、2,3,1D、2,2,1
55.
设有以下定义
inta=0;
doubleb=1.25;
charc='
#defined2
则下面语句中错误的是______。
A、a++;
B、b++;
C、c++;
D、d++;
56.
intx=10,y=10;
%d%d\n"
x--,--y);
A、1010B、99C、910D、109
57.
若x和y都是int型变量,x=100、y=200,且有下面的程序片段
A、200B、100C、100200
D、输则格式符不够,输出不确定的值
58.
设有如下定义:
intx=10,y=3,z;
则语句
z=(x%y,x/y));
的输出结果是______。
A、1B、0C、4D、3
59.
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。
if(x++>
5)
else
A、7和5B、6和3C、7和4D、6和4
60.
若t为double类型,表达式t=1,t+5,t++的值是______。
A、1B、6.0C、2.0D、1.0
61.
#include<
inti=10,j=10;
++i,j--);
A、11,10B、9,10C、010,9D、10,9
62.
inty=10;
while(y--);
y=%d\n"
y);
程序执行后的输出结果是______。
A、y=0B、y=-1C、y=1
D、while构成无限循环
63.
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态(static)类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
局部变量及其作用域和生存期
64.
fun3(intx)
staticinta=3;
a+=x;
return(a);
intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
n);
A、3B、4C、6D、9
65.以下叙述中正确的是______。
A、局部变量说明为static存储类,其生存期将得到延长
B、全局变量说明为static存储类,其作用域将被扩大
C、任何存储类的变量在未赋初值时,其值都是不确定的
D、形参可以使用的存储类说明符与局部变量完全相同
66.
intfun(intx[],intn)
staticintsum=0,i;
for(i=0;
i<
n;
i++)sum+=x[i];
returnsum;
inta[]={1,2,3,4,5},b[]={6,7,8,9,},s=0;
s=fun(a,5)+fun(b,4);
s);
A、45B、50C、60D、55
67.
以下程序执行后sum的值是______。
inti,sum;
for(i=1;
6;
i++)sum+=i;
sum);
A、15B、14C、不确定D、0
68.
intk=4,m=1,p;
p=func(k,m);
printf("
%d,"
p);
func(inta,intb)
staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
A、8,17B、8,16C、8,20D、8,8
69.
设有以下函数:
f(inta)
intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
如果在下面的程序中调用该函数,则输出结果是______。
inta=2,i;
3;
i++)printf("
f(a));
D、7
7
C、13
B、11
A、7
8
9
70.
fun(intx,inty)
m=i+x+y;
returnm;
intj=1,m=1,k;
k=fun(j,m);
k);
执行后的输出结果是______。
A、5,5B、5,11C、11,11D、11,5
71.
inta,b;
voidfun()
a=100;
b=200;
inta=5,b=7;
fun();
%d%d\n"
A、100200
B、57
C、200100
D、75
全局变量及其作用域和生存期
72.
intfunc(inta,intb)
{return(a+b);
}
intx=2,y=5,z=8,r;
r=func(func(x,y),z);
r);
该程序的输出结果是______。
A、12B、13C、14D、15
调用函数和被调用函数之间的数据传递
73.
voidf(intv,intw)
intt;
t=v;
v=w;
w=t;
intx=1,y=3,z=2;
if(x>
y)f(x,y);
elseif(y>
z)f(y,z);
elsef(x,z);
执行后输出结果是______。
A、1,2,3B、3,1,2C、1,3,2D、2,3,1
74.
voidf(intx,inty)
if(x<
y){t=x;
x=y;
y=t;
inta=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
a,b,c);
A、3,4,5
B、5,3,4
C、5,4,3
D、4,3,5
75.有以下程序
intfun1(doublea){returna*=a;
intfun2(doublex,doubley)
doublea=0,b=0;
a=fun1(x);
b=fun1(y);
return(int)(a+b);
doublew;
w=fun2(1.1,2.0);
程序执