C语言程序的设计第3章练习题.docx
《C语言程序的设计第3章练习题.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计第3章练习题.docx(12页珍藏版)》请在冰豆网上搜索。
C语言程序的设计第3章练习题
一、单项选择题
题目1
若x的值为15,则执行“if(x>10)x++;elsex
--;”语句后,x的值为(
)。
a.
14
b.
15
c.
10
d.
16
题目2
若x的值为-10,贝V执行“if(!
x)x++;elsex--;”语句后,x的值为()
a.-9
b.-11
c.-10
d.0
题目3
若x的值为10,则执行“switch(x%3){case
0:
x++;case1:
x++;case2:
x++;}”语句后,x的值为(
)。
a.
13
b.
12
c.
11
d.
10
题目4
若x的值为10,则执行“switch(x%3){case
0:
x++;break;case1:
x++;default:
x++;}”语句后,x的值为()
a.9
b.10
c.11
d.12
题目5
若n的值为10,则执行“for(i=1;
ia.n
b.n+1
c.1B.n-1C.
n-1
d.1
题目6
若n的值为10,则执行“for(i=0;
;i++)if(i>n/3)break;”语句后,i的值为(
a.3
b.6
c.4
d.5
)。
题目7
若n的值为10,则执行“for(i=1;
ia.n+1
b.n
c.1
d.n-1
)。
题目8
a.
b.
c.
d.
若n的值为10,则执行“for(i=0;
i()。
n(n-1)/2
(n+1)/2
n*n
n(n+1)/2
题目9
a.
b.
c.
d.9
若n的值为10,则执行“while(n-->0)
s+=n;”语句的过程中,循环体被执行的次数为(
8
10
11
)。
题目10
a.
b.
c.
d.
若n的值为5,s的值为0,则执行“while(n-->0)s+=n;”语句后,s的值为()。
10
15
12
14
题目11
在下列的语句中,必须以分号作为结束的语句是(
a.while
b.for
)。
c.switch
d.do
题目12
若n的值为5,s的值为0,则执行“dos+=n--;while(n>0);”语句后,
(
)。
a.12
b.13
c.15
d.14
题目13
要结束任一种循环语句或switch语句的执行,则在其中使用的语句为(
a.goto
b.break
c.continue
d.return
二、判断题
题目14
在if语句中,必须带有else子句,不能省略它。
对
错
题目15
在for循环语句的头部,for后面括号内共有3个表达式位置。
对
错
题目16
for循环语句不能够被转换为while循环语句。
对
错
题目17
while循环语句中的循环体可能不会被执行。
对
错
题目18
while循环语句的循环体,只能是复合语句,不能是简单语句。
对
错
题目19
do-while循环语句中的循环体可能不会被执行。
对
错
题目20
do-while循环语句的循环体,只能是复合语句,不能是简单语句对
错
题目21
do-while循环语句是以循环体结尾的。
对
错
题目22
break语句可以使用在switch语句中。
对
错
题目23
return语句中可以带有返回表达式。
对
错
题目24
continue只能使用在任一种循环语句的循环体中。
对
错
三、程序填空题
题目25
#include
voidmain(){
inta=5,b=8,c=6,d=15,x,y;
if(a>=b)x=a;elsex=b;
if(c>=d)y=c;elsey=d;
if(x>=y)printf("%d\n",x);
elseprintf("%d\n",y);
}
答案:
I
题目26
#include
voidmain(){
intx=5,y=8,z=12;
if(x>y&&x>z)printf("%d\n",x);
elseif(y>x&&y>z)printf("%d\n",y);elseprintf("%d\n",z);
}
答案:
II
题目27
#include
voidmain(){
inta=5,b=8,c;
if(3*a>2*b)c=2*a+3*b;
elseif(a==b)c=a*a+b*b;
elsec=a*b+3;
printf("c=%d\n",c);
}
答案:
题目28
#include
voidmain(){
intx=5,y=0;
switch(2*x-3){
case4:
y+=x;
case7:
y+=2*x+1;
case10:
y+=3*x;
}
printf("y=%d\n",y);
}
答案:
题目29
#include
voidmain(){
charch;
inta,b,c;
scanf("%c",&ch);
scanf("%d%d",&a,&b);switch(ch){
case'+':
c=a+b;break;case'-':
c=a-b;break;case'*':
c=a*b;break;case'/':
c=a/b;break;default:
printf("Error!
\n");
}
printf("%d%c%d=%d\n",a,ch,b,c);
}
答案:
I
题目30
#include
voidmain(){
inti,s=0;
for(i=16;i>0;i-=2)
if(i%3==0||i%4==0)s+=i;printf("s=%d\n",s);
}
答案:
题目31
#include
voidmain(){
inti,x,y,s=0;
seanf("%d%d",&x,&y);
if(x>y){i=x;x=y;y=i;}for(i=x;i<=y;i++)
if(i%2==1)s+=i*i;
printf("s=%d\n",s);
}
答案:
II
题目32
#include
constintN=100;
voidmain(){
inta,b;
for(a=2;a<=N;a++){
for(b=2;b*b<=a;b++)
if(a%b==0)break;if(b*b>a)printf("%d",a);
}
}
答案:
1
题目33
#include
voidmain(){
inti=0,s=0;
while(s<50){i+=2;s+=i*i;}
printf("s=%d\n",s);
}
答案:
题目34
#inc-udeAsfdio.hv
voidmain()宀
infX-PU2
scanf(--%cr-QOx=
whiCD(XVHP)
if(x%PHH0)宀prinff(--%du%d*%dkr>弯四35
#inc-udeAsfdio.hv
voidmain()宀infxyppAiscanf(--%d%cr-QOxQOyxif(XAy)宀aux-XHyiyua」if(x%y"H0)宀prinff(--%25y)二efum)aAwhiCD(yvua)if(x%a"H0QOQOy%a"H0)宀XHX/Byuy/apfa」e-sea++
prin芟=%2n=p=
■I36
#inc-udeAsfdio.hv
voidmain()宀infXH36-yH48-Ndo宀ZHX%y_XHWyN)whiCD(yvsprinff(--XH%dkr><=
题目37
#include
voidmain(){
intx,i=0,s=0;
scanf("%d",&x);
do{i+=2;s+=i*i;}while(s}
答案:
题目38
#include
voidmain(){
intx=37,k=2;
do{if(x%k==0)break;k++;}while(k*k<=x);if(k*k>x)printf("Yes!
\n");
elseprintf("No!
\n");
}
答案: