1、下列if语句中,不正确的是(      )
A.if (x<y)scanf ("%d",&x) else scanf ("%d", &y);
B.if (x<y);
C.if (x==y)x+=y;
D.if (x<y){x++;y++;}
2、若有int x,y;,执行程序段:(      )
for(x=1,y=1;y<50;y++){
if (x>=10)
    break; 
if(x%2==1){
x+=5;
continue;
}
x-=3;
}  变量x的值最终为(      )
A)11    B)12    C)13    D)10
3、若有int x=3;,执行程序段: 
do {
printf("%3d",x-=2);
}while(!(--x));
输出的结果是(    )
A)1  3    B)1  -1    C)1  -2    D)1  -3
4、 有如下程序段: 
int x=1,y=1;
int m,n;
m=n=1;
switch (m) { 
case 0:x=x*2; 
case 1: 
{   
switch (n)
{
case 1:x=x*2;
case 2:y=y*2;break;
case 3:x++;
}
}
case 2:x++;y++;
case 3:x*=2;y*=2;break;
default:x++;y++;
执行完成后,x和y的值分别是(    )。 
A)x=6  y=6    B)x=2  y=1    C)x=2  y=2    D)x=7  y=7
5、以下描述不正确的是
A.使用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成
B.while循环是先判断表达式,后执行循环语句 
C.do-while 和for循环均是先执行循环语句,后判断表达式
D. for、while 和do-while循环中的循环体均可以由空语句构成
6、当a=1,b=3,c=5,d=4时,执行完下面的一段程序后x的值为(    )
if(a<b)
if(c<d)  x=1;
else
if(a<c)
if(b<d)  x=2;
else x=3;
else x=6;
else x=7;
A.1      B.2    C.3      D.6
7、设i,j均为int类型的变量,则以下程序段中执行完成后,打印出的"OK"数是多少(      )
for (i=5;i>0;--i){
for(j=0;j<4;j++){ printf("%s","OK");} 
}
A.20      B. 24    C. 25    D. 30
8、下面有关for循环的正确描述是(    )
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判定表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环体语句中,可以包含多条语句,但要用花括号括起来
9、C语言中(      )
A. 不能使用do-while语句构成的循环
B. do-while语句构成的循环必须用break语句才能退出
C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环
10、C语言中while和do-while循环的主要区别是(    )
A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格
C. do-while允许从外部转到循环体内
D. do-while的循环体不能是复合语句
11、以下程序段:(    )
int x=-1;
do
{
    x=x*x;
}
while (!x);
A. 是死循环                    B. 循环执行二次
C. 循环执行一次                D. 有语法错误
12、下列语句段中不是死循环的是(    )
A. i=100;
  while (1)
  {
      i=i%100+1;
      if (i==20) break;
  }
B. for (i=1;;i++)
      sum=sum+1;
C. k=0;
  do
  {
      ++k;
  } while (k<=0);
D. s=3379;
  while (s++%2+3%2)
  s++;
13、与以下程序段等价的是(    )
while (a)
{
    if (b) continue;
    c;
}
A. while (a)                        B. while (c)
  { if (!b) c; }                  { if (!b) break; c; }
C. while (c)                        D. while (a)
  { if (b) c; }                      { if (b) break; c; }
14、以下程序的输出结果是(    )
#include <stdio.h>
main()
{
    int i;
    for (i=4;i<=10;i++)
    {
        if (i%3==0) continue;
printf(”i);
    }
}
A. 45                B. 457810            C. 69            D. 678910
15、以下程序的输出结果是(      )
#include <stdio.h>
main()
{
    int num=0;
    while (num<=2)
    {
        num++;
        printf("%d\n",num);
    }
}
A. 1                        B. 1                C. 1                D. 1
                        2                  2                  2
                                        3                  3
                                                        4
16,由以下while构成的循环,循环体执行的次数是
    int k=0;
    while ( k=1 ) k++;
  A)  有语法错,不能执行
  B)  一次也不执行
  C)  执行一次
D)  无限次
17,关于"while(条件表达式)循环体",以下叙述正确的是
  A)  循环体的执行次数总是比条件表达式的执行次数多一次
  B)  条件表达式的执行次数总是比循环体的执行次数多一次
  C)  条件表达式的执行次数与循环体的执行次数一样
D)  条件表达式的执行次数与循环体的执行次数无关
18,若要实现total=1+2+3+4+5求和,以下程序段错误的是
  A)  int  i=1,total=1;
while(i<5)
{  total+=i;
    i+=1;
}
  B)  int  i=1,total=0;
while(i<=5)
{  total+=i;
  i+=1;
}
  C)  int  i=0,total=0;
while(i<5)
{  i+=1;
  total+=i;
}
  D)  int  i=0,total=0;
while(i<=5)
{  total+=i;
  i+=1;
}
19,#include <stdio.h>
    main()
    {  int  i, sum;
      for( i=1; i<6;  i++ )  sum+=i;
      printf("%d\n", sum);
    }
程序运行后的输出结果是
  A)  随机值
  B)  0
  C)  15
D)  16
二、程序填空
1、若有int i=5,j=0;则执行完语句if(j=0)i++;else i--;后,i的值为________________
2、下列C语言程序运行后,a的值应为_________________
int a=11;
switch(a)
{
            case 9:  a+=1;       
      case 10: a+=2;             
case 11: a+=3;
            default: a+=4;}
3、写出下面程序的运行结果。
#include<stdio.h>
void main()
{
while语句怎么退出
  int x=15;
  while (x<20)
{
  x++;
  if (x/3!=0)
{x++;
  break;
}
else continue;
}
运行后X的值为______________
4、若x是int型变量,以下程序的输出结果是_______________
for (x=3;x<6;x++)
printf ((x%2)?("**%d"):( "##%d\n"),x);
printf ("\n");
5、以下程序的运行结果是__________________
#include <stdio.h>
main()
{
    int s=0,k;
    for (k=7;k>=0;k--)
    {
        switch(k)
        {
            case 1:
            case 4:
            case 7: s++; break;
            case 2:
            case 3:
            case 6: break;
            case 0:
            case 5: s+=2; break;
        }
    }
  printf("%d\n",s);
}
6、以下程序的运行结果是__________________
#include <stdio.h>
main()
{
    int i=1,s=3;
    do
    {
        s+=i++;
        if (s%7==0)
            continue;
        else
            ++i;
    } while (s<15);
    printf("%d\n",i);
}
7、以下程序的运行结果是___________________
#include <stdio.h>
main()
{
    int i,j;
    for (i=4;i>=1;i--)
    {
        printf("*");
        for (j=1;j<=4-i;j++)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。