C语言第8次作业.docx

上传人:b****5 文档编号:11755875 上传时间:2023-03-31 格式:DOCX 页数:18 大小:19.82KB
下载 相关 举报
C语言第8次作业.docx_第1页
第1页 / 共18页
C语言第8次作业.docx_第2页
第2页 / 共18页
C语言第8次作业.docx_第3页
第3页 / 共18页
C语言第8次作业.docx_第4页
第4页 / 共18页
C语言第8次作业.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言第8次作业.docx

《C语言第8次作业.docx》由会员分享,可在线阅读,更多相关《C语言第8次作业.docx(18页珍藏版)》请在冰豆网上搜索。

C语言第8次作业.docx

C语言第8次作业

单选题:

1、若K为整型,以下while循环执行()次

K=0

while(K=0)K=K-1

A.执行10次

B.无限循环

C.一次也不执行

D.执行一次

学生答案:

C

参考答案:

C

2、当执行以下程序段时

{y=-1;

do{y--;}while(--y);

printf("%d\n",y--);

}

A.循环体将执行一次

B.循环体将执行两次

C.循环体将执行无限次

D.系统将提示有语法错误

学生答案:

B

参考答案:

C

3、执行以下程序后,输出的结果是

main()

{inty=10;

do{y--;}while(--y);

printf("%d\n",y--);

}

A.-1

B.1

C.8

D.0

学生答案:

D

参考答案:

D

4、读程序:

main()

{intnum=0;

while(num<=2)

{num++;printf("%d",num);}

}

上面程序的输出结果是______

A.1

B.22

C.123

D.1234

学生答案:

参考答案:

C

5、假定a和b为int型变量,则执行以下语句后b的值为

a=1;b=10;

do

{b=b-a;a++;}

while(b-->0);

A.-3

B.-2

C.-1

D.-4

学生答案:

C

参考答案:

D

6、以下程序的输出结果是

main()

{inti;

for(i='A';i<'I';i++,i++)printf("%c",i+32);

printf("\n");

}

A.编译不通过,无输出

B.aceg

C.acegi

D.abcdefghi

学生答案:

C

参考答案:

B

7、以下循环体的执行次数是

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)

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

}

A.3

B.2

C.1

D.0

学生答案:

C

参考答案:

C

8、设K为整形,则下面的while循环执行()次

k=2;while(k==0){printf("%d",k);k--;}

printf("\n");

A.无限次

B.0次

C.1次

D.2次

学生答案:

C

参考答案:

B

9、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为

main()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'0':

v2++

}

printf(

A.2,5

B.2,0

C.5,0

D.5,5

学生答案:

B

参考答案:

D

10、下面程序的运行结果是

#include

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

A.a=3,b=11

B.a=2,b=8

C.a=1,b=-1

D.a=4,b=9

学生答案:

C

参考答案:

B

11、以下程序的输出结果是

main()

{inti;

for(i='A';i<'I';i++,i++)printf("%c",i+32);

printf("\n");

}

A.编译不通过,无输出

B.aceg

C.acegi

D.abcdefghi

学生答案:

C

参考答案:

B

12、以下程序的输出结果是

main()

{intn=4;

while(n--)printf("%d",--n);

}

A.20

B.31

C.321

D.210

学生答案:

C

参考答案:

A

13、以下循环体的执行次数是

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)

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

}

A.3

B.2

C.1

D.0

学生答案:

B

参考答案:

C

14、设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是________

A.while循环执行10次

B.循环是无限循环

C.循环体语句一次也不执行

D.循环体语句执行一次

学生答案:

B

参考答案:

C

15、请读程序:

#include

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;

}

elsebreak;

}

printf("%f\n",y);

}

若运行时从键盘上输入3.62.4(表示回车),则输出结果是

A.1.500000

B.1.600000

C.2.000000

D.2.400000

学生答案:

D

参考答案:

B

16、有以下程序

main()

{intx,i;

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

{x=i;

if(x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d",i);

}

}

输出结果是

A.28

B.27

C.42

D.41

学生答案:

C

参考答案:

C

17、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为

main()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'0':

v2++

}

printf(

A.2,5

B.2,0

C.5,0

D.5,5

学生答案:

B

参考答案:

D

18、有如下程序

main()

{intx=23;

do

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

while(!

x);

}

该程序的执行结果是

A.321

B.23

C.不输出任何内容

D.陷入死循环

学生答案:

B

参考答案:

B

19、以下程序的输出结果是

#include

#include

main()

{charb1[8]="abcdefg",b2[8],*pb=b1+3;

while(--pb>=b1)strcpy(b2,pb);

printf("%d\n",strlen(b2));

}

A.8

B.3

C.1

D.7

学生答案:

A

参考答案:

D

20、以下程序的输出结果是

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

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

}

A.20

B.21

C.22

D.23

学生答案:

C

参考答案:

B

21、C语言中while和do-while循环的主要区别是

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件更严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能是复合语句

学生答案:

C

参考答案:

A

22、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。

#include

main()

{inti=0,j,k;

do{i++;k=316-13*i;}while(_______);

j=k/11;

printf("316=13*%d+11*%d",i,j);

}

A.k/11

B.k%11

C.k/11==0

D.k%11==0

学生答案:

D

参考答案:

B

23、下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空

#include

main()

{inta,b,t;

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

while(___________)

{if(a>b)

{t=a;a=b;b=t;}

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

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

}

}

A.!

a=b

B.a!

=b

C.a==b

D.a=b

学生答案:

C

参考答案:

B

24、下述程序的输出结果是()。

#include

main()

{

intk=0,m=0;

inti,j;

for(i_O;i<2;i++)

{

for(j:

0;j<3;j++)

k++:

k一=j;

}

m=i+j;

printf(”k=%d,m=%d”,k,m);

}

A.k=0,m=3

B.k=O,m=5

C.D)k=l,m=3

D.D)k=l,m=5

学生答案:

A

参考答案:

B

25、下面有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况

B.for循环是先执行循环体语句,后判断表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

学生答案:

B

参考答案:

D

多选题:

判断题:

填空题:

1、求输入100个数中正数的个数及其平均值

main()

{inti,n;

floatsum,f;

n=0;

__1__;

for(i=0;i<=100,i++)

{printf("enterarealnumber:

";

scanf("%f",&f));

if__2__

continue;

__3__;

n++;}

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

printf("arerage=%f",sum/n);}

学生答案:

参考答案:

sum=0,f<=0,sum+=f或sum=sum+f

2、以下程序的输出结果是________

#include

main()

{intX=15;

while(X>10&&x<50)

{X++;

if(x/3){X++;break;}

elsecontinue;

}

printf(”%d\n”,X);

}

学生答案:

参考答案:

17

3、下面程序段的运行结果是

x=2:

do{pfintf(”*”);x--;}while(x);

学生答案:

参考答案:

**

4、以下程序的输出结果是__________o

#include

main()

{

intx=2;

while(x--);

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

}

学生答案:

参考答案:

-1

5、下述程序的运行结果是——。

#include

main()

{

ints=0,k;

for(k=7;k>4;k--)

{

switch(k)

{

case1:

case4:

case7:

S++;break;

case2:

case3:

case6:

break;

case0:

case5:

s+=2;break;

学生答案:

参考答案:

s=3

问答题:

程序设计题:

1、有36个学生一起买小吃,共花钱120元,其中每个大学生花4元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)?

学生答案:

参考答案:

#include

main()

{

inta,b,c;

inti=0;

for(a=1;a<=36;a++)

{for(b=1;b<=36;b++)

{for(c=1;c<=36;c++)

if(((a+2*b+4*c)==120)&&((a+b+c)==36))

i=i+1;

}

}

2、编程序求1~55的平方根的和并输出结果。

(保留小数点两位)

学生答案:

参考答案:

#include

main()

{

inti;

floatx,sum=0;

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

{

x=sqrt(i);

sum=sum+x;

}

printf("\n%.2f",sum);

}

参考答案:

275.43

3、编程序求2+4+8+16+32+…这样的数之和。

如果累加数大于5000时,则程序终止并输出结果。

学生答案:

参考答案:

main()

{

inti=2,sum=0;

while(sum<=5000)

{

sum=sum+i;

i=i*2;

}

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

}

本题答案:

8190

4、编程序求出1-4000以内能被3或者11整除数的个数。

学生答案:

参考答案:

main()

{

inti,num=0;

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

{

if((i%3==0)&&(i%11==0))

num=num+1;

}

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

}

本题答案:

121

5、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。

学生答案:

参考答案:

main()

{

inti,k=0;

for(i=1000;i<10000;i++)

{

if(i%8==0)

if(i/1000==(i%100)/10)

k++;

}

printf("\nthenumberis:

%d",k);

}

本题参考答案:

110

6、设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?

学生答案:

参考答案:

main()

{

intn;

floata,s;

for(s=0,n=0,a=45600.0;s<=3*45600.0;n++)

{

a=a+a*0.08;

s=a;

}

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

}_

本题参考答案:

15

7、编写程序,将一个不大于256的十进制正整数转化为8位的二进制数,若不足8位,则在前面补0,例如十进制数2转化位8位二进制数后是00000010,37转化后是00100101。

试求出十进制数5、23、189转化位8位二进制分别是多少?

(要求必须使用循环语句实现)

学生答案:

参考答案:

main()

{

inta,i,b[8];

printf("PleaseInputaNumber<=256:

\n");

scanf("%d",&a);

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

b[i]=0;

i=8;

while(i>=1)

{b[i]=a%2;

a=a/2;

if(a==0)

break;

i--;

}

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

printf("%d",b[i]);

printf("\

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1