《C语言基础》专升本各章节主观题练习汇总Word文档下载推荐.docx
《《C语言基础》专升本各章节主观题练习汇总Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《C语言基础》专升本各章节主观题练习汇总Word文档下载推荐.docx(56页珍藏版)》请在冰豆网上搜索。
}
程序运行后的输出结果是
2、以下程序运行后的输出结果是
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
%d\n"
x);
第三章顺序结构程序设计
1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行变换。
请填空。
a+=________;
b=a-________;
a-=________;
2、若a和b均为int型变量,则以下语句的功能是________。
a+=b;
b=a-b;
a-=b;
3、有一输入函数scanf("%d",k);
则不能使float类型变量k得到正确数值的原因是________和________。
4、已有定义inti,j;
floatx;
为将-10赋给i,12赋给j,410.34赋给x;
则对应以下scanf函数调用语句的数据输入形式是________。
scanf("%o%x%e",&
i,&
j,&
x);
5、以下程序运行时若从键盘输入:
102030<
回车>
。
输出结果是。
#include<
stdio.h>
main(){inti=0,j=0,k=0;
scanf("
%d%*d%d"
&
i,&
j,&
k);
printf("
%d%d%d\n"
i,j,k);
6、有以下语句段
intn1=10,n2=20;
printf(“”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
7、以下程序段的输出结果是。
inti=9;
%o\n"
i);
8、若有语句
inti=-19,j=i%4;
j);
则输出结果是 。
9、若有程序
main(){inti,j;
scanf("
i=%d,j=%d"
,&
j);
i=%d,j=%d\n"
i,j);
要求给i赋10,给j赋20,则应该从键盘输入 。
10、以下程序的输出结果是。
main(){inta=177;
a);
1、有以下程序执行后输出结果是
main(){intx=102,y=012;
printf(“%2d,%2d\n”,x,y);
}
2、有以下程序
main(){intm=0256,n=256;
%o%o\n"
mn,n);
运行后的输出结果是
3、以下程序运行后的输出结果是
main(){intx=0210;
%x\n"
}
4、以下程序运行后的输出结果是。
main(){inta,b,c;
a=25;
b=025;
c=0x25;
%d%d%d\n"
a,b,c);
5、以下程序的输出结果是。
main(){inta=0;
a+=(a=8);
6.以下程序的输出结果为________。
main(){printf("*%f,%4.3f*\n",3.14,3.1415);
7.以下程序的输出结果为________。
main(){charc=’x’;
printf("c:
dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c);
8.以下程序的输出结果是________。
main(){intx=1,y=2;
printf("x=%dy=%d*sum*=%d\n",x,y,x+y);
pringf("10Squaredis:
%d\n",10*10);
}第四章选择结构程序设计
1.当a=3,b=2,c=1时,表达式f=a>
b>
c的值是________。
2.当a=5,b=4,c=2时,表达式a>
b!
=c的值是________。
3.在C语言中,表示逻辑“真”值用________。
4.设y为int型变量,请写出描述“y是奇数”的表达式________。
5.C语言提供的三种逻辑运算符是________、________、________。
6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式________。
7.设x,y,z均为int型变量,请写出描述“x,y和z中有两个为负数”的表达式________。
8.已知A=7.5,B=2,C=3.6,表达式A>
B&
&
C>
A||A<
!
B的值是________。
9.若a=6,b=4,c=2,则表达式!
(a-b)+c-1&
b+c/2的值是________。
10.若a=2,b=4,则表达式!
(x=a)||(y=b)&
0的值是________。
11.若a=1,b=4,c=3,则表达式!
(a<
b)||!
c&
1的值是________。
12.若a=6,b=4,c=3,则表达式a&
b+c||b-c的值是________。
13.若a=5,b=2,c=1,则表达式a-b<
c||b==c的值是________。
14.设a=3,b=4,c=5,则表达式a||b+c&
b==c的值是________。
15.条件“2<
x<
3或x<
-10”的C语言表达式是________。
16.当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!
=b)&
(n=b>
c)后;
n的值为________,m的值为________。
17.有intx,y,z;
且x=3,y=-4,z=5,则表达式(x&
y)==(x||z)的值为________。
18.有intx,y,z;
且x=3,y=-4,z=5,则以下表达式的值________。
!
(x>
y)+(y!
=z)||(x+y)&
(y-z)
19.有intx,y,z;
且x=3,y=-4,z=5,则表达式x++-y+(++z)的值为________。
20.有inta=3,b=4,c=5;
则表达式a||b+c&
b==c的值为________。
21.有inta=3,b=4,c=5,x,y;
则以下表达式的值为________。
!
(x=a)&
(y=b)&
0
22.有inta=3,b=4,c=5;
!
(a+b)+c-1&
b+c/2
23.设有变量定义:
inta=5,c=4;
则(--a==++c)?
--a:
c++的值是________,此时c的存储单元的值为________。
24.设有intx=1,y=0;
x-->
(y+x)?
10:
12.5>
y++?
‘A’:
’Z’
25.若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式a<
b?
a:
c<
d?
c:
d的值1
26.以下程序运行后的输出结果是
main(){inta,b,c;
a=10;
b=20;
c=(a%b<
1)||(a/b>
1);
27.以下程序运行后的输出结果是。
main(){intp=30;
printf(“%d\n”,(p/3>
0?
p/10:
p%3));
28.以下程序运行后的输出结果是。
main(){inta=1,b=3,c=5;
if(c=a+b)printf("
yes\n"
);
elseprintf("
no\n"
29、以下程序输出的结果是。
main(){inta=5,b=4,c=3,d;
d=(a>
c);
d);
三、写出程序的运行结果
1、以下程序运行后的输出结果是:
{inta=3,b=4,c=5,t=99;
if(b<
a&
a<
c)t=a;
a=c;
c=t;
if(a<
c&
b<
c)t=b;
b=a;
a=t;
2、有以下程序
main()
{intn=0,m=1,x=2;
if(!
n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf(“%d\n”,x);
}执行后输出结果是:
3、有以下程序
{inta=3,b=4,c=5,d=2;
if(a>
b)
if(b>
c)printf("
%d"
d+++1);
elseprintf("
++d+1);
}程序运行后的输出结果是:
4、以下程序运行后的输出结果是:
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
case2:
%d%d\n"
a,b);
5、有以下程序执行后输出结果是
{inti=1,j=1,k=2;
if((j++‖k++)&
i++)printf("
%d,%d,%d\n"
6、若有以下程序main(){intp,a=5;
if(p=a!
=0)
printf("
p);
else
p+2);
执行后输出结果是:
7、若有以下程序
{inta=4,b=3,c=5,t=0;
b)t=a;
a=b;
b=t;
c)t=a;
8、有以下程序
{inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;
break;
case1:
switch(b%2)
{default:
case0:
}}
printf(“%d\n”,m);
程序运行后的输出结果是:
9、以下程序运行后的输出结果是:
main()
{intx=10,y=20,t=0;
if(x==y)t=x;
x=y;
y=t;
printf(“%d,%d\n”,x,y);
10、若从键盘输入58,则以下程序输出的结果是:
main(){inta;
a);
if(a>
50)printf("
40)printf("
30)printf("
}第五章循环结构程序设计
1.当输入19,2,21时下列程序运行的结果是_________。
{inta,b,c,max;
pleasescanthreenumbera,b,c:
\n"
%d,%d,%d"
a,&
b,&
max=a;
if(max<
b)max=b;
c)max=c;
maxis:
max);
2.以下程序运行的结果为________。
main(){inta,b,c,x,y,z;
a=10;
b=2;
c=!
(a%b);
x=!
(a/b);
y=(a<
b)&
(b>
=0);
z=(a<
b)||(b>
%d,%d,%d,%d\n"
c,x,y,z);
3.若输入4,程序运行结果为【1】,若输入-4,运行结果为【2】,若输入10,运行结果为【3】.
main(){intx,y;
x);
if(x<
1){y=x;
x=%d,y=x=%d\n"
x,y);
elseif(x<
10)
{y=2*x-1;
x=%d,y=2*x-1=%d\n"
else{y=3*x-11;
x=%d,y=3*x-11=%d\n"
4.以下程序运行的结果________。
main(){intx=2,y,z;
x*=3+1;
%d,"
x++);
x+=y=z=5;
x=y==z;
5.程序运行结果是_________。
#include<
{inti;
for(i=1;
i+1;
i++)
{if(i>
4){printf("
%d\t"
i++);
6.以下程序运行的结果是_________。
{inta,b;
for(a=1,b=1;
=100;
a++)
{if(b>
=20)break;
if(b%3==1)
{b+=3;
continue;
b-=5;
7.以下程序运行的结果是________。
{inti=1;
while(i<
if(++i%3!
=1)continue;
8.程序运行的结果是________。
{intn=0;
while(n++<
=1)
n);
9.对以下程序:
当输入6514时,其运行结果是【1】。
当输入1463时,其运行结果是【2】。
当输入25125时,其运行结果时【3】。
{intm,n;
m,&
n);
while(m!
=n)
{while(m>
n)m-=n;
while(n>
m)n-=m;
m=%d\n"
m);
10.在执行以下程序时,为了使输出结果为t=4,则给a和b输入的值应满足的条件是_______。
{ints,t,a,b;
scanf(〞%d,%d〞,&
b);
s=1;
t=1;
0) s=s+1;
b) t=s+t;
elseif(a==b)t=5;
elset=2*s;
printf(〞t=%d\n〞,t);
1、下列程序的输出为()。
{intk=0;
charc='
A'
;
do{switch(c++)
{case'
:
k++;
case'
B'
k--;
C'
k+=2;
D'
k=k%2;
E'
k=k*10;
default:
k=k/3;
}while(c<
'
G'
k);
2、请读程序:
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
{case0:
case2:
a=%d,b=%d\n"
上面程序的输出结果是()。
3、下列程序的输出为()。
#include"
stdio.h"
{inti,j,x=0;
for(i=0;
i<
2;
{x++;
for(j=0;
j<
=3;
j++)
{if(j%2)continue;
x++;
x++;
x=%d\n"
4、下列程序的输出为()。
{inti,j,k=0,m=0;
for(i=0;
{for(j=0;
3;
j++)k++;
k-=j;
m=i+j;
k=%d,m=%d\n"
k,m);
5、下列程序段的输出结果为()。
{intx=3;
do{printf("
%3d"
x-=2);
}while(!
(--x));
四、请补充下列程序
1.求出1000以内的“完全数”。
(提示:
如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。
如:
6的因子是1,2,3而6=1+2+3,则6是个“完数”)。
{inti,a,m;
for(i=1;
1000;
{for(m=0,a=1;
=i/2;
(i%a))【1】;
if【2】)printf("
%4d"
2.鸡问题:
100元钱买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?
{intcocks,hens,chicks;
cocks=0;
while(cocks<
=19)
{hens=0;
while(hens<
=33)
{chicks=100.0-cocks-hens;
if(5.0*cocks+3.0*hens+chicks/3.0==100.0)
cocks,hens,chicks);
【1】;
【2】;
}}
3.爱因斯坦的阶梯问题:
设有一阶梯,每步跨2阶,最后余1阶;
每步跨3阶,最后余2阶;
每步跨5阶,最后余4阶;
每步跨6阶,最后余5阶;
只有每步跨7阶时,正好到阶梯顶。
问共有多少阶梯。
{intladders=7;
while(【1】)ladders+=14;
ladders);
4.下列程序计算平均成绩并统计90分及以上人数。
{intn,m;
floatgrade,average;
average=n=m=【1】;
while(【2】)
{scanf("
%f"
grade);
if(grade<
0)break;
n++;
average+=grade;
90)
【3】;
if(n)printf("
%.2f%d\n"
average/n,m);
5.下列程序计算Fibonacci数列:
1,1,2,3,5,8,13……的前40项。
longf1,f2;
20;
{printf("
%12ld%12ld"
f1,f2);
if(I%2)printf("
f1+=f2;
6.下列程序判断一个数是否为素数。
math.h>
{inti,k,m;
m);
k=sqrt(【1】);
for(i=2;
=k;
I++)
if(m%i==0)
if(【3】)printf("
%dyes\n"
%dno\n"
7.求100~499之间的所有水仙花数,即各位数字的立方和恰好等于该数本身的数。
main