C语言第六章复习题含答案.docx

上传人:b****3 文档编号:26421551 上传时间:2023-06-19 格式:DOCX 页数:16 大小:21.18KB
下载 相关 举报
C语言第六章复习题含答案.docx_第1页
第1页 / 共16页
C语言第六章复习题含答案.docx_第2页
第2页 / 共16页
C语言第六章复习题含答案.docx_第3页
第3页 / 共16页
C语言第六章复习题含答案.docx_第4页
第4页 / 共16页
C语言第六章复习题含答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言第六章复习题含答案.docx

《C语言第六章复习题含答案.docx》由会员分享,可在线阅读,更多相关《C语言第六章复习题含答案.docx(16页珍藏版)》请在冰豆网上搜索。

C语言第六章复习题含答案.docx

C语言第六章复习题含答案

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

while(t=l)

{……}

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

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

(C)循环控制表达式不合法(D)以上说法都不对

2.有以下程序

main( )

{  int i,s=0;

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

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

}

程序执行后的输出结果是 (D)。

(A) 自然数1~9的累加和    (B) 自然数1~10的累加和

(C) 自然数1~9中的奇数之和   (D) 自然数1~10中的偶数之和

3.以下程序段的输出结果是(C)。

intx=3;

do

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

while(!

(--x));

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

4. 以下程序中,while循环的循环次数是(D)。

main()

{ int  i=0;

while(i<10)

{   if(i<1)   continue;

if(i==5)  break;

       i++;

}

......

}

(A) 1                        (B) 10

(C) 6                            (D) 死循环,不能确定次数

5.下面程序的输出是(B)。

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

main()

{inty=9;

for(;y>0;y--)

{if(y%3==0)

{printf("%d",--y);continue;}

}

}

6.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是(A)。

for(i=5;i;i--)

for(j=0;j<4;j++){...}

(A)20(B)25(C)24(D)30

7.执行语句:

for(i=l;i++<4;;);后,变量i的值是(C)。

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

8.假定a和b为int型变量,则执行以下语句后b的值为(D)。

a=1;b=10;

do

{b-=a;a++;}

while(b--<0);

(A)9(B)-2(C)-1(D)8

9.设j为int型变量,则下面for循环语句的执行结果是(B)。

for(j=10;j>3;j--)

{if(j%3)j--;

--j;--j;

printf("%d",j);

}

(A)63(B)74(C)62(D)73

10.有以下程序

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);

}

}

输出结果是(D)。

(A)28(B)27(C)42(D)41

11.在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出(B)。

#include

main()

{charch;

while((ch=getchar())!

='\n')

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<='z')ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

(A)ABCdef(B)abcDEF(C)abc(D)DEF

12.执行以下程序段时(A)。

x=-1;

do{x=x*x;}while(!

x);

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

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

13.执行以下程序后,输出的结果是(D)。

main()

{inty=10;

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

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

(A)-1(B)1(C)8(D)0

14.在下列选项中,没有构成死循环的程序段是(C)。

(A)inti=100;(B)for(;;);

while

(1)

{i=i%100+1;

if(i>100)break;

}

(C)intk=1000;(D)ints=36;

do{++k;}while(k>=10000);while(s);--s;

15.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为(C)。

#include

main()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'0':

v2++;

}

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

}

(A)2,0(B)5,0(C)5,5(D)2,5

16.下面程序运行的结果是(B)。

main()

{charch[7]={“65ab21”};

inti,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

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

}

(A)2ba56(B)6521(C)6(D)62

17.以下程序的输出结果是(D)。

(A)10192(B)9876(C)10990(D)101091

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d,%d",x--,y);

}

18.以下程序的输出结果是(A)。

(A)20(B)31(C)321(D)210

main()

{intn=4;

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

}

19.以下程序的输出结果是(A)。

(A)#*#*#(B)#####(C)*****(D)*#*#*

main()

{inti;

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

{if(i%2){printf("#");continue;}

printf("*");

}

printf("\n");

}

20.以下循环体的执行次数是(C)。

(A)3(B)2(C)1(D)0

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);

}

21.以下叙述正确的是(D)。

(A)do-while语句构成的循环不能用其它语句构成的循环来代替。

(B)do-while语句构成的循环只能用break语句退出。

(C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

(D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

22.有以下程序

main()

{ int i=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s +=i;

}while(i<7);

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

}

执行后输出结果是(A)。

(A) 16 (B) 12 (C) 28  (D) 21

23.有如下程序

main()

{intx=23;

do

{printf(“%d”,x--);}

while(!

x);}

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

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

24.有如下程序

main()

{intn=9;

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

}

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

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

25.有以下程序段

intk=0;

while(k=1)k++;

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

(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次

26.以下程序执行后sum的值是(C)。

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

main()

{inti,sum;

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

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

}

27.有以下程序段

intx=3;

do

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

while(!

(--x));

其输出结果是(C)。

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

28.以下程序的输出结果是(D)。

main()

{inta,b;

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

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

}

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

(A)101(B)6(C)5(D)4

29. 以下程序中,while循环的循环次数是 (D)。

main()

{ int  i=0;

while(i<10)

{   if(i<1)   continue;

if(i==5)  break;

    i++;

}

......

}

(A) 1                        (B) 10

(C) 6                        (D) 死循环,不能确定次数

30. 以下程序的输出结果是(A)。

main()

{ int  a=0,i;

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

{  switch(i)

{ case 0:

case 3:

a+=2;

case 1:

case 2:

a+=3;

default:

a+=5;

}

}

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

}

(A) 31   (B) 13   (C) 10   (D) 20

31. 以下程序的输出结果是(B)。

#include   

main()

{ int  i=0,a=0;

while(i<20)

{  for(;;)

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

else        i--;

}

i+=11;      a+=i;

}

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

}

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

32. 有以下程序段

int n=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

33. 有以下程序

main()

{ int i=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s+=i;

}while(i<7);

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

}

执行后输出结果是(A)。

(A) 16 (B) 12 (C) 28  (D) 21

34.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是 (B)。

(A)s=a+b; (B)s=a+c; (C)s=s+c; (D)s=b+c;

35.有以下程序

main()

{ int k=4,n=0;

for(  n

{ n++;

if(n%3!

=0) continue;

k--; }

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

}

程序运行后的输出结果是(C)。

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

36.有以下程序

main( )

{  int x=0,y=5,z=3;

   while(z-->0&&++x<5)    y=y-1;

   printf(“%d,%d,%d\n”,x,y,z);

}

程序执行后的输出结果是(B)。

(A) 3,2,0    (B) 3,2,-1    (C) 4,3,-1    (D) 5,-2,-5

有以下程序

main( )

{  int i,s=0;

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

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

}

程序执行后的输出结果是 (D)。

(A) 自然数1~9的累加和    (B) 自然数1~10的累加和

(C) 自然数1~9中的奇数之和   (D) 自然数1~10中的偶数之和

37.有以下程序

main()

{inti;

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

switch(i)

{

case0:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

}

程序运行后的输出结果是(C)。

(A)(B)(C)(D)012

38.有以下程序

main()

{inti=0,x=0;

for(;;)

{

if(i==3||i==5)continue;

if(i==6)break;

i++;

s+=i;

};

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

}

程序运行后的输出结果是(D)。

(A)10(B)13(C)21(D)程序进入死循环

39.有以下程序段

intn,t=1,s=0;

scanf("%d",&n);

do{s=s+t;t=t-2;}while(t!

=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是(D)。

(A)任意正奇数(B)任意负偶数(C)任意正偶数(D)任意负奇数

40.有以下程序

main()

{intk=5,n=0;

while(k>0)

{switch(k)

{default:

break;

case1:

n+=k;

case2:

case3:

n+=k;

}

k--;

}

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

}

程序运行后的输出结果是(D)。

(A)0(B)4(C)6(D)7

41.要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,  以下正确的程序段是(A)。

(A)while((ch=getchar())!

=′N′)printf("%c",ch);

(B)while(ch=getchar()!

=′N′)printf("%c",ch);

(C)while(ch=getchar()==′N′)printf("%c",ch);

(D)while((ch=getchar())==′N′)printf("%c",ch);

42.有以下程序

main() 

{int  y=10;

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

}

程序执行后的输出结果是(B)。

(A)y=0(B)y=-1(C)y=1(D)while构成无限循环

43.有以下程序

main()

{int  i,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

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

}

 程序执行后的输出结果是(B)。

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

44.有以下程序

  main()

  {int i,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++) printf("%d",t[2-i][i]);

}

程序执行后的输出结果是(B)。

(A)7 5 3(B)3 5 7(C)3 6 9(D)7 5 1

45.若变量已正确定义,有以下程序段

i=0;

doprintf("%d,",i);while(i++);

printf("%d\n",i)

其输出结果是(B)。

(A)0,0(B)0,1(C)1,1(D)程序进入无限循环

46.有以下程序

#include

main()

{inty=9;

for(y>0;y--)

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

}

程序的运行结果是(C)。

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

47.有以下程序

#include

main()

{inti,j,m=55;

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

for(j=3;j<=i;j++)m=m%j;

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

}

程序的运行结果是(B)。

48.以下程序运行后的输出结果是   1 3 2 。

main()

{ int i,m=0,n=0,k=0;

for(i=9; i<=11;i++)

switch(i/10)

{ case 0:

 m++;n++;break;

case 10:

 n++; break;

default:

 k++;n++;

}

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

}

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

#include 

main()

{ int i,j;

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

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

}

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

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

51.若输入字符串:

abcde<回车>,则以下while循环体将执行0次。

while((ch=getchar())==’e’)printf(“*”);

52.以下程序运行后的输出结果是__52。

main()

{inti=10,j=0;

do

{j=j+i;i--;}

while(i>2);

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

}

53.若有定义语句:

chars[100],d[100];intj=0,i=0;,且s中已赋字符串,请填空以实现字符串拷贝。

(注:

不得使用逗号表达式)

while([i]){d[j]=__s[i++];j++;}

d[j]=0;

54. 以下程序的输出结果是5 。

main() 

  {int  s,i;

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

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

55.有以下程序:

#include 

main()

{ char c;

while((c=getchar( ))!

=’?

’)  putchar(--c);}

程序运行时,如果从键盘输入:

Y?

N?

<回车>,则输出结果为  X 。

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

#include 

main()

{ int i,j;

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

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

}

57.以下程序运行后的输出结果是 1 3 7 15 。

main()

{ int i,n[]={0,0,0,0,0};

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

{ n=n[i-1]*2+1;

printf("%d ",n);

}

}

58.有以下程序

main( )

{ int t=1,i=5;

 for(;i>=0;i--)  t*=i;

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

}

执行后输出结果是0 。

59.以下程序运行后的输出结果是abcbcc。

#include

main()

{charch[]="abc",x[3][4];inti;

for(i=0;i<3;i++)strcpy(x,ch);

for(i=0;i<3;i++)printf("%s",&x);

printf("\n");}

60.有如下程序

main0

{intx=23;

do

{printf(“%d”,x--);}

while(!

x);

}

该程序的执行结果是23

61.输入两个正整数m和n,求其最大公约数和最小公倍数。

62.计算1到10之间奇数之和及偶数之和。

63.有一分数序列

2/1,3/2,5/3,8/5,13/8,21/13,…·

求出这个数列的前20项之和。

64.一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

编程序找出1000之内的所有完数,并按下面格式输出其因子:

6itsfactorSare1,2,3

65.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

例如,153是一水仙花数,因为153=13+53+33。

66.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

67.用筛法求100之内的素数。

68.求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数。

要求输出结果5个一行。

69.计算和输出下列级数的和。

s=1/(1×2)+1/(2×3)+…+1/(n×(n+1))

例如,当n=10时,函数值为0.。

70.编写一个程序,求出1~100之间所有每位数的乘积小于每位数的和的数。

例如:

13满足1*3<1+3.

71.编写一个程序,求出1~100之间所有每位数的乘积大于每位数的和的数。

例如:

98满足9*8>9+8.

72.编写一个

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

当前位置:首页 > 总结汇报 > 学习总结

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

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