C语言考试题库(复习必备)

欢迎大家交流C语言相关知识、以及C语言课程设计,百度文库代下载(可下载付费文件)。鄙人微信18476275715

单选

1以下程序段中,能够正确地执行循环的是()。

A、static int a; while(a)

B、int s=6; do s-=2; while(s);

C、for(i=1;i>10;i++)

D、int s=6; m:if(s<100)     exit(0);    else s-=2; goto m:

2

以下描述中正确的是()。

A、do-while 循环中,根据情况可以省略 while

B、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

C、do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号

D、在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作

3以下程序段的输出结果是         

int n=10;

while(n>7)

       {  n--;

          Printf("%d", n );

    }

 

A、1098

B、10987

C、987

D、9876

4C语言中 while 和 do-while 循环的主要区别是()。

A、while的循环控制条件比 do-while的循环控制条件更严格

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

C、do-while 的循环体不能是复合语句

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

5从循环体内某一层跳出,继续执行循环外的语句是

A、break语句

B、return语句

C、continue语句

D、空语句

6设j和k都是int类型,则for循环语句 

for(j=0,k=-1;k=1;j++,k++) printf("****\n");()。

A、循环体一次也不执行

B、是无限循环

C、循环结束的条件不合法

D、循环体只执行一次

7以下不是无限循环的语句为()。

A、for(;;x++=i);

B、while(1){x++;}

C、for(y=0,x=1;x>++y;x=i++) i=x;

D、for(i=10;;i--) sum+=i;

8以下程序的运行结果是()。

main()

{

  int  i=1,sum=0;

  while(i<10)  sum=sum+1;i++;

  printf("i=%d,sum=%d",i,sum);

}

A、i=10,sum=9

B、运行出现错误

C、i=2,sum=1

D、i=9,sum=9

9在下述程序中,判断i > j共执行了多少次

#include

main()

{

   int i = 0, j = 10, k = 2, s = 0;

   for( ; ; )

   {

      i += k;

      if(i > j)

      {

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

         break;

      }

      s += i;

   }

}

 

A、4

B、8

C、6

D、7

10语句while(!E);中的表达式!E等价于()。

A、E!=1

B、E==0

C、E==1

D、E!=0

11有以下程序段,其输出结果是

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

        c = ( a -= a - 5), (a = b, b+3);

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

A、0,0,-10

B、0,0,5

C、-10,3,-10

D、3,3,-10

12执行下列程序后,其输出结果是()。

main()

{int  a=9;

 a+=a-=a+a;

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

}

A、18

B、-18

C、-9

D、9

13下列程序段的输出结果为()。

float k=0.8567;

printf("%06.1f%%",k*100);

A、0085.7%

B、.857

C、0085.6%

D、0085.6%%

14下列程序段的输出结果为()。 int x=3,y=2; printf("%d",(x-=y,x*=y+8/5));

A、5

B、1

C、3

D、7

15当运行以下程序时,在键盘上从第一列开始,输入9876543210(此处表示Enter),则程序的输出结果是

main()

        {  int  a;    float    b,  c;

           scanf("%2d%3f%4f", &a, &b, &c);

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

        }

 

A、a=10,b=432,c=8765

B、a=98,b=765.0,c=4321.0

C、a=98,b=765,c=4321

D、a=98,b=765.000000,c=4321.000000

判断

1while和do…while循环不论什么条件下它们的结果都是相同的.

2若有说明int c;则while(c=getchar());是正确的C语句。

3循环结构中的continue语句是使整个循环终止执行

4参加位运算的数据可以是任何类型的数据。

5一个include 命令可以指定多个被包含的文件。

填空

1以下程序的输出结果是_____。

main()

        {   int  x = 2;

while ( x-- );

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

        }

2下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。

main()

{ int i, x, y=1;

scanf("%d", &x);

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

if_____{ y=0; break;}

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

}

3若依次输入字符AB,在以下while语句执行后ch的值是_____。

while( ch = getchar() == 'A');

4阅读下面程序,程序执行后的输出结果为_____。

#include "stdio.h"

main()

{

char a,b;

for(a=′0′,b=′9′;a

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

printf("\n");

}

5以下程序段的输出结果是_____。

int  i = 0, sum = 1;

        do  

{  sum += i++;

} while( i < 5);

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

程序填空

1*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作

      为终止标记。

 

-------------------------------------------------------*/

#include

main()

{

  int x,i=0,j=0;

  float s1=0,s2=0,av1,av2;

  scanf("%d",&x);

  /**********FILL**********/

    while(_____)

  {

     if(x%2==0)

     {

        s1=s1+x;

        i++;

     }

     /**********FILL**********/

     _____

     {

        s2=s2+x;

        j++;

     }

    /**********FILL**********/

     _____

   }

   if(i!=0)

      av1=s1/i;

   else

       av1=0;

   if(j!=0)

    /**********FILL**********/

     _____

   else

     av2=0;

   printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);

2/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:输出100到1000之间的各位数字之和能被15整除的所有数,

      输出时每10个一行。

 

-------------------------------------------------------*/

#include

main()

{

  int m,n,k,i=0;

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

  {

    /**********FILL**********/

    _____

    n=m;

    do

    {

     /**********FILL**********/

       k=k+_____ ;

       n=n/10;

     }

     /**********FILL**********/

     _____;

     if (k%15==0)

     {

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

        /**********FILL**********/

        if(i%10==0) _____;

      }

   }

}

程序改错

【程序改错】

--------------------------------------------------------

 

功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,

      输出时只输出整数部分,输出项数不得多于或少于20。

 

------------------------------------------------------*/

#include

fun()

{

  int i;

  float f1=1,f2=1,f3;

  /**********ERROR**********/

  printf("%8d",f1);

  /**********ERROR**********/

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

  {

    f3=f1+f2;

    /**********ERROR**********/

    f2=f1;

    /**********ERROR**********/

    f3=f2;

    printf("%8.0f",f1);

  }

  printf("\n");

}

 

main()

{

  fun();

}

 

你可能感兴趣的:(C语言考试题库(复习必备))