最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言单元复习题 第06部份 循环

来源:动视网 责编:小OO 时间:2025-10-06 17:22:16
文档

C语言单元复习题 第06部份 循环

第6章循环程序设计一、单选题1.以下关于循环的描述中,错误的是:()。A.可以用for语句实现的循环一定可以用while语句实现B.可以用while语句实现的循环一定可以用for语句实现C.可以用do...while语句实现的循环一定可以用while语句实现D.do...while语句与while语句的区别仅仅是关键字while的位置不同(知识点:循环的基本概念;难度系数:1;答案:D)2.以下关于循环的描述中,错误的是:()。A.while、do...while和for语句的循环体都可以是空
推荐度:
导读第6章循环程序设计一、单选题1.以下关于循环的描述中,错误的是:()。A.可以用for语句实现的循环一定可以用while语句实现B.可以用while语句实现的循环一定可以用for语句实现C.可以用do...while语句实现的循环一定可以用while语句实现D.do...while语句与while语句的区别仅仅是关键字while的位置不同(知识点:循环的基本概念;难度系数:1;答案:D)2.以下关于循环的描述中,错误的是:()。A.while、do...while和for语句的循环体都可以是空
第6章 循环程序设计

一、单选题

1.以下关于循环的描述中,错误的是:(  )。

A.可以用for语句实现的循环一定可以用while语句实现

B.可以用while语句实现的循环一定可以用for语句实现

C.可以用do...while语句实现的循环一定可以用while语句实现

D.do...while语句与while语句的区别仅仅是关键字while的位置不同

( 知识点:循环的基本概念; 难度系数:1; 答案:D )

2.以下关于循环的描述中,错误的是:(  )。

A.while、do...while和for语句的循环体都可以是空语句

B.for和do...while语句都是先执行循环体,后进行循环条件判断

C.while语句是先进行循环条件判断,后执行循环体的

D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成

( 知识点:循环的基本概念; 难度系数:1; 答案:B )

3.以下关于循环体的描述中,错误的是:(  )。

A.循环体中可以出现break语句

B.循环体中可以出现continue语句

C.循环体中不能出现switch语句

D.循环体中还可以出现循环语句

( 知识点:循环的基本概念; 难度系数:1; 答案:C )

4.在while(x)语句中的x与下面条件表达式等价的是:(  )。

A.x==0  .x==1  .x!=l  .x!=0

( 知识点:while语句; 难度系数:1; 答案:D )

5.在C语言中,当while语句构成的循环中的条件为(  )时,结束循环。

A.0        B.1        C.真        D.非0

( 知识点:while语句; 难度系数:1; 答案:A )

6.有以下程序段:

int k=0;

while(k=1) k++;

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

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

C.一次也不执行  .执行一次

( 知识点:while语句; 难度系数:1; 答案:A )

7.有以下程序段:

int x=0;

while(x=1)

{……}

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

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

C.循环控制表达式不合法            D.以上说法都不正确

( 知识点:while语句; 难度系数:1; 答案:B )

8.下述语句执行后,变量k的值是:(  )。

    int k=0;

while(k++<2);

    printf("%d",k);

    A.2  .3  .01  D.12

( 知识点:while语句; 难度系数:2; 答案:B )

9.以下叙述正确的是:(  )。

A.do...while语句构成的循环不能用其他语句构成的循环代替

B.只有do...while语句构成的循环能用break语句退出

C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环

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

( 知识点:do...while语句; 难度系数:1; 答案:D )

10.以下关于do...while语句的叙述中,正确的是:(  )。 

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

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

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

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

( 知识点:do...while语句; 难度系数:1; 答案:A )

11.该程序段的输出结果是:(  )。

main()

{

    int n=9;

    do

    {

        n--;

        printf("%d",n);

}while(n>6);

}

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

( 知识点:do...while语句; 难度系数:1; 答案:B )

12.有以下程序段:

    int i=0,s=0;

    do

    {

        s=++i;

    }while(i!=0);

    printf("%d",s);

则以下说法正确的是:(  )。

A.程序段执行无限次            B.程序段中的do...while表达式不合法

C.程序段运行后输出0        D.程序段运行后输出1

( 知识点:do...while语句; 难度系数:1; 答案:A )

13.有以下程序段:

    int x=-1;

    do

    {

        x=x*x;

    }while(!x);

则以下说法正确的是:(  )。

    A.是无限循环            B.循环执行两次

    C.循环执行一次            D.循环条件不合法

( 知识点:do...while语句; 难度系数:1; 答案:C )

14.下面有关for循环的正确描述是:(  )。

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

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

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

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

( 知识点:for语句; 难度系数:1; 答案:D )

15.对于for(表达式1;;表达式3)可理解为:(  )。

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式3;表达式3)

( 知识点:for语句; 难度系数:1; 答案:B )

16.以下循环体的执行次数是:(  )。

main()

{

 

}

A.3  .2  .1  .0

( 知识点:for语句; 难度系数:1; 答案:B )

17.以下for语句运行时循环次数是:(  )。

for(i=0,j=0; (j!=10)&&(i<5); i++);

A.无限次  .4次  .5次  .6次

( 知识点:for语句; 难度系数:1; 答案:C )

18.下述语句执行后,变量i的值是:(  )。

    int i;

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

    printf("%d",i);

    A.1  .2  .3  .4

( 知识点:for语句; 难度系数:2; 答案:D )

19.以下程序段中,内重循环总的执行次数是:(  )。

int i,j;

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

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

        {……}

A.20次  .24次  .25次  .30次

( 知识点:循环的嵌套; 难度系数:1; 答案:A )

20.以下程序段的输出结果是:(  )。

main()

{

 

  

}

A.12  .15  .20  .25

( 知识点:循环的嵌套; 难度系数:1; 答案:C )

21.下面程序的输出结果是:(  )。

main()

{

 

 

  

}

A.124  .25  .36  .15

( 知识点:循环的嵌套; 难度系数:1; 答案:D )

22.下面程序的输出结果是:(  )。

main()

{

    int k=0,m=0;

    int i,j;

for(i=0;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  .k=0,m=5  .k=1,m=3  .k=1,m=5

( 知识点:循环的嵌套; 难度系数:1; 答案:B )

23.下面程序的输出结果是:(  )。

main()

{

    int i,b,k=0;

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

    {

        b=i%2;

        while(b--==0)

            k++;

    }

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

}

A.3,1  .3,0  .2,1  .2,0

( 知识点:循环的嵌套; 难度系数:1; 答案:D )

24.C语言中while与do...while语句的主要区别是:(  )。

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

B.do...while允许从外部跳到循环体内

C.while的循环体至少无条件执行一次

D.while的循环控制条件比do...while的严格

( 知识点:几种循环的比较; 难度系数:1; 答案:A )

25.以下关于C语言中几种循环的描述,错误的是:(  )。

A.while和for是先判断表达式,后执行语句;而do...while是先执行语句,后判断表达式

B.do...while的循环体至少执行一次,而while的循环体可能一次都不会执行

C.对于while、do...while和for循环,都可以用continue语句跳出当次循环

D.for循环只能用于循环次数已经确定的情况,而while和do...while没有这种

( 知识点:几种循环的比较; 难度系数:1; 答案:D )

26.以下关于break语句的描述中,正确的是:(  )。

A.在switch语句中必须使用break语句

B.break语句只能用于switch语句体中

C.在switch语句中可以使用break语句

D.break语句只能用于循环语句中

( 知识点:break语句; 难度系数:1; 答案:C )

27.以下描述中,错误的是:(  )。

A.break语句和continue语句的作用是一样的

B.break语句可用于for循环

C.break语句可用于while循环

D.在循环体中使用break语句可以跳出循环体,提前结束循环

( 知识点:break语句; 难度系数:1; 答案:A )

28.以下描述中,错误的是:(  )。

A.continue语句可用于for循环

B.continue语句可用于while循环

C.在循环体中使用break语句可以跳出循环体,提前结束循环

D.在循环体中使用continue语句是为了跳出循环,提前结束循环

( 知识点:continue语句; 难度系数:1; 答案:D )

29.关于break语句和continue语句的区别,说法正确的是:(  )。

A.break语句和continue语句都只能用于循环结构

B.break语句和continue语句都只能用于switch结构

C.break语句用于跳出循环体,continue语句用于跳出当次循环

D.continue语句用于跳出循环体,break语句用于跳出当次循环

( 知识点:continue语句; 难度系数:1; 答案:C )

30.列举出所有可能的情况,逐个判断有哪些符合问题所要求的条件,从而得到问题的解答。这种方法称为:(  )。

A.递归法  .穷举法  .迭代法  .归纳法

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:B )

31.为了得到问题的解,把它推到比原问题简单的问题求解。这种方法称为:(  )。

A.递归法  .穷举法  .迭代法  .归纳法

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:A )

32.对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。这种方法称为:(  )。

A.递归法  .穷举法  .迭代法  .归纳法

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:C )

二、多选题

1.以下关于循环的描述中,正确的有:(  )。

A.可以用for语句实现的循环一定可以用while语句实现

B.可以用while语句实现的循环一定可以用for语句实现

C.for循环表达式的括号内的3个表达式均不可以省略

D.可以用do...while语句实现的循环一定可以用while语句实现

E.do...while语句与while语句的区别仅仅是关键字while的位置不同

( 知识点:循环的基本概念; 难度系数:1; 答案:ABD )

2.以下关于while语句的描述中,正确的有:(  )。

A.while(x)语句中的x等价于x!=l

B.while(!x)语句中的!x等价于x==0

C.while(!x)语句中的!x等价于x==1

D.当while语句构成的循环中的条件为0时,结束循环

E.当while语句构成的循环中的条件为真时,结束循环

( 知识点:while语句; 难度系数:1; 答案:BD )

3.以下关于do...while语句的描述中,错误的有:(  )。

A.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环

B.用do...while语句构成循环时,在while后的表达式为零时结束循环

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

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

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

( 知识点:do...while语句; 难度系数:1; 答案:ADE )

4.以下关于for语句的描述中,正确的有:(  )。

A.若有for(;;){……},是指循环体执行0次

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

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

D.执行for(i=0,j=0;i<2;i++);j=j+1;后j的值为1

E.for循环可以用于循环次数不能确定的情况

( 知识点:for语句; 难度系数:1; 答案:CE )

5.以下关于循环嵌套的描述中,正确的有:(  )。

A.所有类型的循环都可以进行嵌套使用

B.只有for循环可以嵌套使用

C.循环的嵌套只能是同一种循环结构的嵌套

D.在for循环结构内可以嵌套一个while循环结构

E.在while循环结构内可以嵌套一个for循环结构

( 知识点:循环的嵌套; 难度系数:1; 答案:ADE )

6.以下关于while与do...while语句的描述中,正确的有:(  )。

A.while的循环控制条件比do...while的严格

B.while的循环体至少无条件执行一次

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

D.可以用do...while语句实现的循环一定可以用while语句实现

E.do...while允许从外部跳到循环体内

( 知识点:几种循环的比较; 难度系数:1; 答案:CD )

7.以下关于break语句的描述中,正确的有:(  )。

A.break语句只能用于循环结构

B.利用break语句可以提前终止循环的执行

C.break语句只能用于switch结构

D.break语句和continue语句可以同时出现在同一个循环体内

E.在switch语句中必须使用break语句

( 知识点:break语句; 难度系数:1; 答案:BD )

8.以下关于break和continue语句的描述中,错误的有:(  )。

A.break语句和continue语句不可以同时出现在同一个循环体内

B.break语句用于跳出循环体,continue语句用于跳出当次循环

C.continue语句用于跳出循环体,break语句用于跳出当次循环

D.利用continue语句可以提前终止循环的执行

E.break语句和continue语句都只能用于循环结构

( 知识点:continue语句; 难度系数:1; 答案:ACDE )

三、判断题

1.(  )循环是指使用一定条件对同一个程序段重复执行若干次。

( 知识点:循环的基本概念; 难度系数:1; 答案:T )

2.(  )循环体中可以出现break语句,但不能出现continue语句。

( 知识点:循环的基本概念; 难度系数:1; 答案:F )

3.(  )可以用while语句实现的循环一定可以用for语句实现。

( 知识点:循环的基本概念; 难度系数:1; 答案:T )

4.(  )while(x)语句中的x等价于x==1。

( 知识点:while语句; 难度系数:1; 答案:F )

5.(  )while(!x)语句中的!x等价于x==0。

( 知识点:while语句; 难度系数:1; 答案:T )

6.(  )用1作while循环的判断条件,则循环一次也不执行。

( 知识点:while语句; 难度系数:1; 答案:F )

7.(  )while语句是先执行循环体,后进行循环条件判断。

( 知识点:while语句; 难度系数:1; 答案:F )

8.(  )while循环的循环体可能一次也不会执行。

( 知识点:while语句; 难度系数:1; 答案:T )

9.(  )do...while的循环体可能一次也不会执行。

( 知识点:do...while语句; 难度系数:1; 答案:F )

10.(  )do...while语句构成的循环不能用其它语句构成的循环代替。

( 知识点:do...while语句; 难度系数:1; 答案:F )

11.(  )do...while语句构成的循环可以用break语句跳出。

( 知识点:do...while语句; 难度系数:1; 答案:T )

12.(  )do...while语句是先进行循环条件判断,后执行循环体。

( 知识点:do...while语句; 难度系数:1; 答案:F )

13.(  )do...while循环可以写成while循环的格式。

( 知识点:do...while语句; 难度系数:1; 答案:T )

14.(  )for循环表达式的括号内的3个表达式均不可以省略。

( 知识点:for语句; 难度系数:1; 答案:F )

15.(  )若有for(;;){……},是指循环体执行0次。

( 知识点:for语句; 难度系数:1; 答案:F )

16.(  )执行for(i=0;i<3;i++);后i的值为2。

( 知识点:for语句; 难度系数:1; 答案:F )

17.(  )不管循环次数确不确定,都可以使用for循环。

( 知识点:for语句; 难度系数:1; 答案:T )

18.(  )for循环表达式的括号内的3个表达式都可以省略。

( 知识点:for语句; 难度系数:1; 答案:T )

19.(  )所有类型的循环都可以进行嵌套使用。

( 知识点:循环的嵌套; 难度系数:1; 答案:T )

20.(  )循环的嵌套只能是同一种循环结构的嵌套。

( 知识点:循环的嵌套; 难度系数:1; 答案:F )

21.(  )在for循环结构内可以嵌套一个while循环结构。

( 知识点:循环的嵌套; 难度系数:1; 答案:T )

22.(  )在while循环结构内不能嵌套一个for循环结构。

( 知识点:循环的嵌套; 难度系数:1; 答案:F )

23.(  )在多重循环中,外重循环的循环次数和内重一样多。

( 知识点:循环的嵌套; 难度系数:1; 答案:F )

24.(  )do...while语句与while语句的区别仅仅是关键字while的位置不同。

( 知识点:几种循环的比较; 难度系数:1; 答案:F )

25.(  )while和do...while的循环体都可能一次都不执行。

( 知识点:几种循环的比较; 难度系数:1; 答案:F )

26.(  )利用break语句可以提前终止循环的执行。

( 知识点:break语句; 难度系数:1; 答案:T )

27.(  )break语句只能用于循环结构。

( 知识点:break语句; 难度系数:1; 答案:F )

28.(  )利用continue语句可以提前终止循环的执行。

( 知识点:continue语句; 难度系数:1; 答案:F )

29.(  )break语句和continue语句不可以同时出现在同一个循环体内。

( 知识点:continue语句; 难度系数:1; 答案:F )

30.(  )穷举法的基本思想是,对问题的所有可能状态逐一测试,直至找到解或将全部可能状态都测试完为止。

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:T )

31.(  )递推法实际上是一种递推关系,就是为了得到问题的解,把它推到比原问题简单的问题求解。

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:T )

32.(  )迭代是一个不断用新值取代变量的旧值,或由旧值递推得出变量的新值的过程。

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:T )

四、填空题

1.C语言中,三种常用的循环结构是___①___、___②___和___③___。

( 知识点:循环的基本概念; 难度系数:1; 答案:① for        ② while        ③ do...while )

2.该程序的功能是:将一个整数首尾倒置,若程序输入12345,则输出54321;若程序输入-34567,则输出-76543,请填空。

#include

main()

{

    int m,n,y=0;

    scanf("%d",&n);

    m=fabs(n);

    while(m!=0)

    {

        y=y*10+m%10;

        ___①___;

    }

if(n<0)

        ___②___;

    printf("%d",y);

}

①    A.y=y/10  .y=y%10  .m=m/10  .m=m%10

②    A.y=-y   .m=-m  .n=-n   .m=fabs(n)

( 知识点:while语句; 难度系数:1; 答案:① C    ② A )

3.该程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,但输入负数时结束输入,请填空。

main()

{

 "%f",&x);

 ___①___)

 

  ___②___) amin=x;

  "%f",&x);

printf("\\namax=%f\\n amin=%f\\n",amax,amin);

}

①    A.x>0  .x>=0  .x!=0  .x==0

②    A.xmax C.xmin

( 知识点:while语句; 难度系数:1; 答案:① B    ② C )

4.已知下列程序段的输出结果是21,请填空。

main()

{

    int n=3;

    while(___ ___)

        printf("%d",n);

}

A.n++  .n--  .++n  .--n

( 知识点:while语句; 难度系数:1; 答案:D )

5.该程序的功能是:从键盘读入一个整数,统计该数的位数,若输入123,输出3;输入-99,输出2,请填空。

main()

{

 x; 

 ___①___;

 x);

 x<0)

  x=-x; 

{

  ___②___;

 

 }while(x!=0);

}

①    A.x=1  .x=0  .count=1  .count=0

②    A.x=x%10 B.x=x/10 C.x=x/10-x%10 D.x=x%10-x/10

( 知识点:do...while语句; 难度系数:1; 答案:① D    ② B )

6.该程序的功能是:输入n,输出n!,请填空。

main()

{

 ___①___;

  ___②___;

 

}

①    A.s=1,i=1  .s=0,i=0  .s=1,i=0  .s=0,i=1

②    A.s=s*n   .s=s*i   .s=n!   .s=i!

( 知识点:do...while语句; 难度系数:1; 答案:① A    ② B )

7.已知下列程序段的输出结果是0,请填空。

main()

{

    int k=6;

    do

    {

        k--;

    }while(___ ___);

    printf("%d",k);

}

A.k!=1  .k>=0  .--k  .k--

( 知识点:do...while语句; 难度系数:2; 答案:C )

8.该程序的功能是:从键盘输入10个整数,求出它们的平均值,请填空。

main()

{    int i,a,s=0;

    double aver=0.0;

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

    {

        scanf("%d",&a);

        s=s+a;

    }

    ___ ___;

    printf("%f",aver);

}

A.aver=s/10  .aver=s/10.0  .aver=a/10   .aver=a/10.0

( 知识点:for语句; 难度系数:1; 答案:B )

9.该程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。

main()

{

 

 

 

 偶数之和=%d\\n",a);

 奇数之和=%d\\n___ ___);

}

A.c  .c-a  .c-11  .a-11

( 知识点:for语句; 难度系数:2; 答案:C )

10.该程序的功能是:输出100以内能被3整除且个位数为5的所有整数,请填空。

main()

{

    int i,j;

    for(i=0;___①___;i++)

    {

        j=i*10+5;

        if(___②___)

            continue;

        printf("%d\",j);

    }

}

①    A.i<=100  .i<100  .i<=10  .i<10

②    A.j/3!=0   .j%3!=0  .j/3==0  D.j%3==0

( 知识点:for语句; 难度系数:2; 答案:① D    ② B )

11.已知下列程序段的输出结果是###*#,请填空。

main()

{

    int i;

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

    {

        if(___ ___)

        {

            printf("#");

            continue;

        }

        printf("*"); 

    }

}

A.i%2  .i%3  .i%4  .i%5

( 知识点:for语句; 难度系数:3; 答案:C )

12.该程序运行后的输出图形如下所示,请填空。

*

**

***

****

main( )

{

 

  ___ ___;j++)

  

 

}

A.j<=4  .j<=3  .j<=4-i  .j<=i

( 知识点:循环的嵌套; 难度系数:2; 答案:C )

13.该程序的功能是:输出10至1000之间的每位数之积等于每位数之和的所有整数,请填空。

main()

{

    int n,k=1,s=0,m;

for(n=10;n<=1000;n++)

    {

        k=1;s=0;

        m=n;

        while(___①___)

        {

            k*=m%10;

            s+=m%10;

            ___②___;

        }

        if(k==s)

        printf("%d\",n);

    }

}

①    A.m>=0  .m>0   C.n>=0   D.n>0

②    A.n=n/10  .n=m/10  .m=m/10  .m=n/10

( 知识点:循环的嵌套; 难度系数:3; 答案:① B    ② C )

14.该程序运行后的输出图形如下所示,请填空。

   **

  ****

 ******

********

main()

{

  ___①___;j++)

  

  ___②___;j++)

  

 

}

①    A.j<1-i   .j<2-i   .j<3-i   .j<4-i

②    A.j<=2*i+1  .j<2*i+1  .j<=2*i  .j<2*i

( 知识点:循环的嵌套; 难度系数:3; 答案:① C    ② A )

15.___ ___循环的循环体至少执行一次。

A.while  .do...while        C.for  .以上三种

( 知识点:几种循环的比较; 难度系数:1; 答案:B )

16.可以用break语句跳出循环体的循环是___ ___。

A.while  .do...while        C.for  .以上三种

( 知识点:几种循环的比较; 难度系数:1; 答案:D )

17.该程序的功能是:从键盘输入一个整数,判断这个数是否为素数,请填空。

main()

{

 

 

  

   ___ ___;

 

  该数是素数");

  该数不是素数");

}

A.continue  .break   .i++   .i--

( 知识点:break语句; 难度系数:1; 答案:B )

18.已知下列程序段的输出结果是1,请填空。

main()

{

    int i;

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

    {

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

        ___ ___;

    }

}

A.break   .continue  .i++   .i--

( 知识点:break语句; 难度系数:1; 答案:A )

19.已知下列程序段的输出结果是13,请填空。

main()

{

    int i;

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

    {

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

        ___ ___;

    }

}

A.break   .continue  .i++   .i--

( 知识点:continue语句; 难度系数:1; 答案:B )

20.已知下列程序段的输出结果是*#*#,请填空。

main()

{

 

  

 

   ___ ___;

 

}

A.k++  .k--  .break  .continue

( 知识点:continue语句; 难度系数:1; 答案:D )

21.该程序的功能是:求1+1/2+1/3+1/4+……+1/20的和,请填空。

main()

{

    int n;

    float s=0;

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

    {

        ___ ___;

    }

    printf("%f",s);

}

A.s=1/n  .s=1.0/n  .s+=1/n  .s+=1.0/n

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:D )

22.该程序的功能是:求三位的水仙花数(即每位数字的3次方之和等于它本身),请填空。

main()

{

    int i,j,k,n;

    printf(" '水仙花'数是:");

for(n=100;n<1000;n++)

    {

        i=n/100;

        j=n/10-i*10;

        k=___①___;

        if(___②___==i*i*i+j*j*j+k*k*k)

        {

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

        }

    }

}

①    A.n/10   .n%10  .n/10-j*10   .n%10-j*10

②    A.100*i+10*j+k B.100i+10j+k C.100*k+10*j+i  .100k+10j+i

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:① B    ② A )

五、阅读程序,选择结果

1.下面程序的运行结果是:(  )。

main()

{

}

A.2  .1  .0  .-1

( 知识点:while语句; 难度系数:1; 答案:D )

2.下面程序的运行结果是:(  )。

main()

{

    int a=1,b=2,c=2,t;

    while(a    {

        t=a;

        a=b;

        b=t;

        c--;

    }

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

}

A.1,2,0  .2,1,0  .1,2,1  .2,1,1

( 知识点:while语句; 难度系数:1; 答案:A )

3.下面程序的运行结果是:(  )。

main()

{

    int num=0;

while(num<=2)

    {

        num++;

        printf("%d\",num);

    }

}

A.1        B.1 2        C.1 2 3        D.1 2 3 4

( 知识点:while语句; 难度系数:1; 答案:C )

4.下面程序的运行结果是:(  )。

main()

{

    int x=3;

    do

    {

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

    }while(!(--x));

}

A.1  .3 0  .1 -2  .死循环

( 知识点:do...while语句; 难度系数:2; 答案:C )

5.下面程序的运行结果是:(  )。

main()

{

    int i=0,sum=1;

    do

    {

        sum+=i++;

}while(i<5);

    printf("%d",sum);

}

A.16  .11  .10  .7

( 知识点:do...while语句; 难度系数:1; 答案:B )

6.下面程序的运行结果是:(  )。

main()

{

    int i=5,j=0;

    do

    {

        j=j+i;

        i--;

}while(i>2);

    printf("%d",j);

}

A.11  .12  .13  .14

( 知识点:do...while语句; 难度系数:1; 答案:B )

7.下面程序的运行结果是:(  )。

main()

{

    int x=10,y=10,i;

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

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

}

A.10 1 9 2  .9 8 7 6  .10 9 9 0  .10 10 9 1

( 知识点:for语句; 难度系数:1; 答案:D )

8.下面程序的运行结果是:(  )。

main()

{

    int i,sum;

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

        sum+=i;

    printf("%d",sum);

}

A.15  .14  .不确定  .0

( 知识点:for语句; 难度系数:1; 答案:C )

9.下面程序的运行结果是:(  )。

main()

{

    int x,i;

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

    {

        x=i;

        if(++x%2==0)

            if(++x%3==0)

                if(++x%7==0)

                    printf("%d",x);

    }

}

A.3981  .4284  .2668  .2870

( 知识点:for语句; 难度系数:2; 答案:D )

10.下面程序的运行结果是:(  )。

main()

{

    int i=0,a=0;

while(i<20)

    {

        for(;;)

        {

            if((i%10)==0)

                break;

            else

                i--;

        }

        i+=11; a+=i;

    }

    printf("%d",a);

}

A.21  .32  .22  .11

( 知识点:循环的嵌套; 难度系数:2; 答案:B )

11.下面程序的运行结果是:(  )。

main()

{

    int y=2,a=1;

    while(y--!=-1)

    {

        do

        {

            a*=y;

            a++;

        }while(y--);

    }

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

}

A.1,-2  .1,-1  .0,-2  .0,-1

( 知识点:循环的嵌套; 难度系数:2; 答案:A )

12.下面程序的运行结果是:(  )。

main()

{

    int k,j,s;

for(k=2;k<6;k++,k++)

    {

        s=1;

     for(j=k;j<6;j++)

            s+=j; 

    }

    printf("%d",s); 

}

A.8  .9  .10  .11

( 知识点:循环的嵌套; 难度系数:2; 答案:C )

13.下面程序的运行结果是:(  )。

main()

{

    int k,s;

for(k=0,s=0;k<10;k++,s--)

     if(s>k)

            break;

        else

            s+=k;

    printf("%d,%d",k,s);

}

A.7,8  .7,9  .6,8  .6,9

( 知识点:break语句; 难度系数:2; 答案:D )

14.下面程序的运行结果是:(  )。

main()

{

    int a,b;

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

    {

     if(b>=20)

            break;

        if(b%3==1)

        {

            b+=3;

            continue;

        }

        b-=5;

    }

    printf("%d",a);

}

A.7  .8  .9  .10

( 知识点:break语句; 难度系数:3; 答案:B )

15.下面程序的运行结果是:(  )。

main()

{

    int y=10;

for(;y>0;y--)

        if(y%3==0)

        {

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

            continue;

        }

}

A.741  .852  .963  .8754321

( 知识点:continue语句; 难度系数:2; 答案:B )

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

main()

{

 

 

  

 

  

}

A.8  .9  .10  .11

( 知识点:continue语句; 难度系数:2; 答案:A )

17.下面程序的运行结果是:(  )。

main()

{

    int n,s=0;

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

    {

        s+=n;

    }

    s+=n;

    printf("%d",s);

}

A.55  .56  .65  .66

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:D )

18.下面程序的运行结果是:(  )。

main()

{

    int n,s=1,t=1;

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

    {

        t*=n;

        s+=t;

    }

    printf("%d",s);

}

A.33  .34  .153  .154

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:B )

19.下面程序的运行结果是:(  )。

main()

{

    int a=12,b=8,temp;

    while(b!=0)

    {

        temp=a%b;

        a=b;

        b=temp;

    }

    printf("%d",a);

}

A.12  .8  .4  .2

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:C )

20.下面程序的运行结果是:(  )。

main()

{

    int a,b,num1=8,num2=16,temp;

if(num1    {

        temp=num1;

        num1=num2;

        num2=temp;

    }

    a=num1,b=num2;

    while(b!=0)

    {

        temp=a%b;

        a=b;

        b=temp;

    }

    printf("%d",num1*num2/a);

}

A.16  .8  .4  .2

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:A )

21.下面程序的运行结果是:(  )。

main()

{

    int n=316,temp,s=0;

    while(n!=0)

    {

        temp=n%10;

        s+=temp;

        n=n/10;

    }

    printf("%d,%d",s,temp);

}

A.9,3  .9,6  .10,3  .10,6

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:C )

22.下面程序的运行结果是:(  )。

main()

{

    int a=3,n=3,count=1,s=0,t=0;

while(count<=n)

    {

        t=t+a;

        s=s+t;

        a=a*10;

        ++count;

    }

    printf("%d,%d",s,count);

}

A.369,3  .369,4  .366,3  .366,4

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:B )

23.下面程序的运行结果是:(  )。

main()

{

    int i=0,a=0,b=0,c=0;

    char d[]="1aD*56H#3y";

    while(d[i]!='\\0')

    {

     if(d[i]>='a'&&d[i]<='z'&&d[i]>='A'&&d[i]<='Z')

            a++;

     else if(d[i]>='0'&&d[i]<='9')

            b++;

        else

            c++;

        i++;

    }

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

}

A.4,4,2  .4,2,4  .0,4,6  .0,6,4

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:C )

24.下面程序的运行结果是:(  )。

main()

{

    int i=0,a=0,b=0,c=0,d=0;

    char s[]="8rG69i%@Hu";

    while(s[i]!='\\0')

    {

     if(s[i]>='a'&&s[i]<='z')

            a++;

     else if(s[i]>='A'&&s[i]<='Z')

            b++;

     else if(s[i]>='0'&&s[i]<='9')

            c++;

        else

            d++;

        i++;

    }

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

}

A.2,2,3  .2,3,3  .3,3,2  .3,2,3

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:A )

25.下面程序的运行结果是:(  )。

main()

{

    int i;

    int fib[6]={1,1};

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

        fib[i]=fib[i-1]+fib[i-2];

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

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

}

A.1 1 2  .1 2 3  .2 3 5  .3 5 8

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:C )

26.下面程序的运行结果是:(  )。

main()

{

    int i;

    int fib[20]={1,1};

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

        fib[i]=fib[i-1]+fib[i-2];

        printf("%d",fib[9]);

}

A.34  .55  .  .144

( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:B )

文档

C语言单元复习题 第06部份 循环

第6章循环程序设计一、单选题1.以下关于循环的描述中,错误的是:()。A.可以用for语句实现的循环一定可以用while语句实现B.可以用while语句实现的循环一定可以用for语句实现C.可以用do...while语句实现的循环一定可以用while语句实现D.do...while语句与while语句的区别仅仅是关键字while的位置不同(知识点:循环的基本概念;难度系数:1;答案:D)2.以下关于循环的描述中,错误的是:()。A.while、do...while和for语句的循环体都可以是空
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top