C语言程序设计习题集第4章循环结构答案.docx

上传人:b****0 文档编号:10044894 上传时间:2023-05-23 格式:DOCX 页数:44 大小:25.04KB
下载 相关 举报
C语言程序设计习题集第4章循环结构答案.docx_第1页
第1页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第2页
第2页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第3页
第3页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第4页
第4页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第5页
第5页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第6页
第6页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第7页
第7页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第8页
第8页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第9页
第9页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第10页
第10页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第11页
第11页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第12页
第12页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第13页
第13页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第14页
第14页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第15页
第15页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第16页
第16页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第17页
第17页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第18页
第18页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第19页
第19页 / 共44页
C语言程序设计习题集第4章循环结构答案.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计习题集第4章循环结构答案.docx

《C语言程序设计习题集第4章循环结构答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题集第4章循环结构答案.docx(44页珍藏版)》请在冰点文库上搜索。

C语言程序设计习题集第4章循环结构答案.docx

C语言程序设计习题集第4章循环结构答案

第4章循环结构

一、选择题

1、有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是(A)

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次

2、t为int类型,进入下面的循环之前,t的值为0

while(t=1)

{……}

则以下叙述中正确的是(B)

A)循环控制表达式的值为0

B)循环控制表达式的值为1

C)循环控制表达式不合法

D)以上说法都不对

3、在C程序中,与while(m)中表达式m完全等价的是(B)

A)m==0B)m!

=0C)m==1D)m!

=1

4、有以下程序,程序运行后的输出结果是(C)。

main()

{inti=1,sum=0;

while(i<=4)

{

sum=sum+i;

i=i+1;

}

printf(“%d\n”,sum);}

A)4B)5C)10D)死循环

5、有以下程序,程序运行后的输出结果是(D)。

main()

{inti=1,sum=0;

while(i<=4)

sum=sum+i;

i=i+1;

printf(“%d\n”,sum);

}

A)4B)5C)10D)死循环

6、有如下程序

main(){

intn=9;

while(n>6){n--;printf(“%d”,n);}

}

该程序段的输出结果是(B)

A)987B)876C)8765D)9876

7、以下程序的输出结果是(B)

main()

{intnum=0;

while(num<=2)

{num++;printf(“%d\n”,num);}

}

A)1B)1C)1D)l

222

33

4

8、有以下程序,若运行时输入3.62.4<回车>,则输出的结果是(B)。

main()

{floatx,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while

(1){

if(fabs(z)>1.0)

{

x=y;

y=z;

z=x/y;}

else

break;}

printf(“%f\n”,y);}

A)1.500000B)1.600000C

9、执行以下程序段时

x=-1;

do

{x=x*x;}

while(!

x);

则下面描述正确的是(A)

A)循环体将执行一次B)循环体将执行两次

C)循环体将执行无限次D)系统将提示有语法错误

10、有以下程序段其输出结果是(C)

intx=3;

do

{printf("%d",x-=2);}

while(!

(--x));

A)1B)30C)1-2D)死循环

11、有如下程序

main(){

intx=23;

do

{

printf(“%d”,x);

x--;

}while(!

x);

}

该程序的执行结果是(B)

A)321B)23C)不输出任何内容D)陷入死循环

12、有以下程序段

intn=0,p;

do{scanf(“%d”,&p);n++;}while(p!

=12345&&n<3);

此处do—while循环的结束条件是(D)

A)P的值不等于12345并且n的值小于3

B)P的值等于12345并且n的值大于等于3

C)P的值不等于12345或者n的值小于3

D)P的值等于12345或者n的值大于等于3

13、以下不构成无限循环的语句或语句组是(A)

A)n=0;

do{++n;}while(n<0);

B)n=0;

while

(1){n++;}

C)n=10;

while(n);{n--;}

D)for(n=0,i=1;;i++)n+=i;

14、若i为整型变量,则以下循环执行的次数是(B)

for(i=2;i==0;)printf(“%d”,i--);

A)无限次B)0次C)1次D)2次

15、执行语句for(i=1;i++<4;)后,变量i的值是(C)

A)3B)4C)5D)不定

16、有以下程序

main()

{

inty=9;

for(;y>0;y--)

if(y%3==0)printf("%d",--y);

}

程序的运行结果是(C)

A)741B)963C)852D)875421

17、以下程序执行后sum的值是(C)

A)15B)14C)不确定D)0

main()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

printf(“%d\n”,sum);

}

18、有如下程序

main()

{inti,sum=0;

for(i=1;i<=3;sum++)sum+=i;

printf(“%d\n”,sum);

}

该程序的执行结果是(C)

A)6B)3C)死循环D)0

19、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C)

A)0B)10C)-1D)1

20、执行下面程序片段的结果是(A)。

intx;

for(x=3;x<6;x++)

printf((x%2)?

(“**%d”):

(”##%d\n”),x);

A)**3##4B)##3

**5**4##5

C)##3**4D)**3##4

**5##5

21、有以下程序,执行后输出的结果是(A)。

main()

{inti;

for(i=0;i<3;i++)

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

}

A)011122B)012C)012020D)120

22、有以下程序,程序运行后的输出结果是(C)。

main()

{intk=4,n=0;

for(;n

{n++;

if(n%3!

=0)continue;

k--;

}

printf("%d,%d\n",k,n);

}

A)1,1B)2,2C)3,3D)4,4

23、设变量已正确定义,则以下能正确计算f=n!

的程序段是(D)

A)f=0;

for(i=1;i<=n;i++)f*=i;

B)f=1;

for(i=1;i

C)f=1;

for(i=n;i>1;i++)f*=i;

D)f=1;

for(i=n;i>=2;i--)f*=i;

24、执行下面程序片段的结果是(B)。

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=20)

break;

if(b%3==1)

{

b+=3;continue;

}

b-=5;

}

printf(“%d\n”,a);

}

A)7B)8C)9D)10

25、以下程序的输出结果是(B)。

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;

}

i+=11;a+=i;

}

printf("%d\n",a);

}

A)21B)32C)33D)11

26、以下程序的输出结果是(A)

main()

{inti,j,x=0;

for(i=1;i<2;i++)

{x++;

for(j=0;j<=3;j++)

{if(j%2)continue;

x++;}

x++;}

printf(“x=%d\n”,x);}

A)x=4B)x=8C)x=6D)x=12

27、有以下程序

main()

{

inti,j;

for(i=3;i>=1;i--)

{

for(j=1;j<=2;j++)

printf("%d",i+j);

printf("\n");

}

}

程序的运行结果是(D)

A)234B)432C)23D)45

3455433434

4523

28、有以下程序

main()

{inti=5;

do

{

if(i%3==1)

if(i%5==2)

{printf("*%d",i);break;}

i++;

}while(i!

=0);

printf("\n");

}

程序的运行结果是(A)

A)*7B)*3*5C)*5D)*2*6

29、以下程序的结果是(A)

main()

{intn;

for(n=1;;)

{if(++n%2==0)continue;

if(++n%3==0)break;}

printf("n=%d",n);

}

A)n=6B)n=5C)n=4D)死循环

30、以下叙述中正确的是(C)

A)break语句只能用于switch语句题中

B)continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C)break语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

二、程序阅读题(共10题)

1、以下程序运行后的输出结果是52。

main()

{

inti=10,j=0;

do

{j=j+i;

i--;

}while(i>2);

printf(“%d\n”,j);

}

2、设有以下程序:

main()

{

intn1,n2;

scanf(“%d”,&n2);

while(n2!

=0)

{

n1=n2%10;

n2=n2/10;

printf(“%d”,n1);

}

}

程序运行后,如果从键盘上输入1298;则输出结果为8921。

3、以下程序的输出结果是5。

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\n",s);

}

4、阅读下面程序,程序的结果是2,1,0。

main()

{inti=7;

for(i=2;i>0;i--)

printf(”%d,”,i);

printf(”%d”,i);}

5、阅读下面程序,程序的结果是14,4。

main()

{inti,j,m=0;

for(i=2;i<=10;i+=4)

for(j=3;j<=4;j++)

{m++;i++;}

printf("%d,%d",i,m);}

6、阅读下面程序,程序的结果是1978。

main()

{intj,a=2,n=4;

longs=0,t=0;

for(j=0;j

t=t*10+a;

s=t;

for(j=1;j

{t=t/10;

s=s-t;}

printf(”%d”,s);

}

7、以下程序运行后的输出结果是0918273645

main()

{

charc1,c2;

for(c1='0',c2='9';c1

printf("%c%c",c1,c2);

printf("\n");

}

8、以下程序的输出结果是5。

main()

{

ints,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\n",s);

}

9、执行以下程序后,输出'#'号的个数是6。

main()

{inti,j;

for(i=1;i<5;i++)

for(j=2;j<=i;j++)putchar('#');

}

10、以下程序的输出结果是x=4

main()

{inti,j,x=0;

for(i=1;i<2;i++)

{x++;

for(j=0;j<=3;j++)

{if(j%2)continue;

x++;}

x++;}

printf(“x=%d\n”,x);}

三、程序填空题

1、以下程序的功能是计算:

m=1-2+3-4+…+9-10,并输出结果。

请填空。

main()

{intm=0,f=1,i,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{m+=i*f;

f=-f;

}

printf(“m=%d”,m)

}

2、以下程序的功能是计算s=1+1/2!

+1/3!

+1/4!

+…+1/n!

,请填空。

main()

{

doubles=0.0,fac=1.0;inti;

intn;

scanf(“%d”,&n);

for(i=1,i<=n;i++)

{fac=fac*;

s=s+fac;

}

printf(“s=%lf”,s);

}

3、以下程序的功能是计算:

s=1+12+123+1234+12345。

请填空。

main()

{intt=0,s=0,i;

for(i=1;i<=5;i++)

{t=i+t*10;s=s+t;}

printf("s=%d\n",s);

}

4、要使以下程序段输出10个整数,请填入一个整数。

for(i=0;i<=18;printf(“%d\n”,i+=2));

5、以下函数的功能是:

求x的y次方,请填空。

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i

returnz;

}

6、以下程序的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

现在请你在下面的函数中填空,完成求π的功能。

main(){

doubles=0.0;longi,n;

scanf(“%ld”,&n);

for(i=1;i<=n;i++)s=s+1.0/(i*i);

printf(“%lf”,sqrt(6*s));

}

7、以下用来输出两整数M和N之间的所有素数(质数),请填空,使程序能正确运行。

#defineM4

#defineN30

main()

{ 

inti,j,k,s=0;

for(i=M;i<=N;i++)

{for(j=2;j

if(i%j==0)break;

if(j>=i)

{printf("%5d",i);

s=s+1;

if(s%5==0)printf("\n");

}

}

printf("\n"); }

8、以下程序实现:

从键盘输入一位整数,计算其各位数字之和。

比如输入整数31421,则打印结果为11。

请填空。

main(){

inti,sum=0,a;

scanf("%d",&i);

while(i>0){

a=i%10;

sum+=a;

i=i/10;

}

printf("%d\n",sum);

}

9、以下程序实现:

计算1~10之间(不含10)的奇数之和以及偶数之和

main()

{

inta,b,i;

a=b=0;

for(i=0;i<10;i+=2)

{

a=a+i;

b=b+i+1;

}

printf("偶数为:

%d,奇数和为:

%d\n",a,b);

}

10、以下程序的功能是:

输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。

main()

{

inti,j;

for(i=0;i<10;i++){

j=i*10+6;

if(j%3==0)continue;

printf(“%d”,j);

}

}

四、编程题

1、写一个程序,程序的功能是:

从键盘输入一个整数m,输出1到m(含m)能被7或11

整除的所有整数,并计算出这些数的个数。

例如:

如果m为50,则程序输出7、11、14、

21、22、28、33、35、42、44、49共11个数。

2、计算100到1000间有多少个数其各位数字之和是5。

3、从键盘输入整数n,输出1+3+5+7+…前n项的和(输入的n<=10)

4、编写程序,实现如下图形

1

12

123

1234

12345

5、打印100-999以内所有满足条件的数。

条件为,这个数等于其个位数,十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3

 

第1~2章C语言概述、算法、数据类型、运算符与表达式

一、选择题

ACDBBCCDCBD

二、填空题

1、n=20

2、a=66,b=E

第3章顺序程序设计

一、选择题

BAAD

二、程序阅读

1、1224

012

2、2,3,2,2

3、0

三、编程

1

#include

#include

voidmain()

{

inta,b,c;

floats,area;

scanf("%d,%d,%d",&a,&b,&c);

s=(a+b+c)/2.0;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("a=%f,b=%f,c=%f,s=%f,area=%f",a,b,c,s*2,area);

}

2

#include

#include

voidmain()

{

floata,b,c,del,x1,x2;

scanf("%f,%f,%f",&a,&b,&c);

del=b*b-4*a*c;

if(del>=0)

{

x1=(-b+sqrt(del))/(2*a);

x2=(-b-sqrt(del))/(2*a);

printf("x1=%f,x2=%f",x1,x2);

}

else

printf("没有实根");

}

3

#include

voidmain()

{

intc,f;

printf(“inputc:

\n”);

scanf(“%d”,&c);

f=9.0/5.0*c+32;

printf("%d的华氏温度是%d",c,f);

}

3.2选择结构程序设计

一、选择题

DBBCDC

二、程序阅读

1、|a|+|b|=61

2、PQ

3、-1

4、60~69

60

Error!

5、0,1

6、a+b+c=15

三、编程

1

#include

voidmain()

{

inta,b,c,min;

scanf("%d,%d,%d",&a,&b,&c);

min=a;

if(min>b)min=b;

if(min>c)min=c;

printf(“%d,”,min);

}

2

#include

voidmain()

{

inta;

scanf("%d",&a);

if(a%3==0&&a%5==0&&a%7==0)

printf("yes");

else

printf("no");

}

3

#include

#include

voidmain()

{

floatx,y;

scanf("%f",&x);

if(x<0)

y=fabs(x);

elseif(x>=0&&x<=2)

y=sqrt(x+1);

elseif(x>=2&&x<4)

y=pow(x+2,3);

else

y=2*x+5;

printf("x=%f,y=%f",x,y);

}

4

#include

voidmain()

{

floatrate,tax,salary;

scanf("%f",salary);

if(salary<=850)

rate=0;

elseif(salary>1350&&salary<=2850)

rate=0.1;

elseif(salary>2850&&salary<5850)

rate=0.15;

else

rate=0.2;

tax=rate*(salary-850);

printf("salary=%f,rate=%f,tax=%f",salary,rate,tax);

}

 

3.3循环控制

一、填空题:

二、选择题:

CDBBBCCCBD

三、程序阅读:

1、输出:

33

2、输出:

24

3、2#4#7#11#16#

4、3#2#0#0#1#

5、BADC

6、DABC

7、BCAD

8、ADBC

9、CCA

10、BDA

11、ADC

四、编程

1.#include

#include

voidmain()

{intx;

printf("xsqrt(x)\n");

for(x=5;x<=1000;x++)

printf("%d%f\n",x,sqrt(x));

}

2.#include

#include

main()

{

inti,flag;

doublepi,item;

i=1;

flag=1;

pi=0;

item=1.0;

while(fabs(item)>=0.00001)

{item=flag*1.0/i;

pi=pi+item;

flag=-flag;

i=i+2;

}

pi=pi*4;

printf("pi=%f",pi);

}

4.#include

main()

{inti,a,b,c;

a=1;b=1;

printf("%d%d",a,b);

for(i=3;i<=10;i++)

{

c=a+b;

printf("%d",c);

a=b;

b=c;

}

}

第4章数组

一、

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2