Dotcpp  >  试卷列表  >  C语言循环结构

C语言循环结构


第1题

在以下给出的表达式中,与while(E)中的(E)不等价的表达式是()。

共 1 分 

第2题

要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是()。

共 1 分 

第3题

对于“while(!E)s;”,若要执行循环体s,则E的取值应为()。

共 2 分 

第4题

关于do循环体while(条件表达式);以下叙述中正确的是()。

共 1 分 

第5题

有以下程序:

1
2
3
4
5
6
7
#include<stdio.h>
main()
{
while(getchar()!='\n');
}

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

共 2 分 

第6题

若要实现total=1+2+3+4+5求和,以下程序段错误的是()。

共 2 分 

第7题

有以下程序:

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}

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

共 2 分 

第8题

有以下程序

1
2
3
4
5
6
7
#include<stdio.h>
main()
{
int k=5;
while(--k)printf("%d\n",k-=3);
printf("\n");
}

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

共 2 分 

第9题

有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
int a=7;
while(a--);
printf("%d\n", a);
}

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

共 2 分 

第10题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
main()
{
    char *s="12134";
    int k=0,a=0;
    while(s[k+1]!='\0')
    {
        k++;
        if(k%2==0)
        {
            a=a+s[k]-'0'+1;
            continue;
        }
        a=a+(s[k]-'0');
    }
    printf("k=%d a=%d\n",k,a);
}

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

共 2 分 

第11题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
    int a=1,b=2;
    while(a<6)
    {
        b+=a;
        a+=2;
        b%=10;
    }
    printf("%d,%d\n",a,b);
}

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

共 2 分 

第12题

若有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
    int a=-2,b=0;
    while(a++) ++b;
    printf("%d,%d\n",a,b);
}

则程序的输出结果是()。

共 2 分 

第13题

有以下程序:

1
2
3
4
5
6
7
#include<stdio.h>
main()
{
    int a=-2,b=0;
    while(a++&&++b);
    printf("%d,%d\n",a,b);
}

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

共 2 分 

第14题

以下叙述正确的是()。

共 2 分 

第15题

以下程序段中,循环次数不超过10的是()。

共 2 分 

第16题

以下能够实现计算5!的程序段是()。

共 2 分 

第17题

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

1
2
3
4
i=0;
do printf("%d,",i);
while(i++);
printf("%d\n",i);

其输出结果是()。

共 2 分 

第18题

若有以下程序

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
main()
{
    int a=-2,b=0;
    do
    {
        ++b;
    }while(a++);
    printf("%d,%d\n",a,b);
}

则程序的输出结果是()。

共 2 分 

第19题

有以下程序:

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
main()
{
    int x=23;
    do
    {
        printf("%2d\n",x--);
    }
    while(!x);
}

程序的执行结果是()。

共 2 分 

第20题

有以下程序:

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
main()
{
    int i=0,sum=1;
    do
    {
        sum += i++;
    }while(i<6);
    printf("%d\n",sum);
}


程序的输出结果是()。

共 2 分 

第21题

有以下程序:

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
    int sum=0,x=5;
    do{ sum+=x; } while(!--x);
    printf("%d\n",sum);
}

程序的运行结果是()。

共 2 分 

第22题

有以下程序(注:字符a的ASCII码值为97):

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
main()
{
    char *s={"abc"};
    do
    {
        printf("%d",*s%10);
        ++s;
   }while(*s);
}

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

共 2 分 

第23题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    char c;
    do
    {
        c = getchar();
        putchar(c);
    }while(c!='#');
    printf("\n");
}

执行时如输入:abcdefg##<回车>,则输出结果是()。

共 2 分 

第24题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
main()
{
    int i=5;
    do
    {
    if(i%3==1)
        if(i%5==2)
        {
            printf("*%d",i);
            break;
        }
    i++;
    while(i!=0);
    printf("\n");
}

程序运行的结果是()。

共 2 分 

第25题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
main()
{
    int x=0,y=6;
    do
    {
        while(--y)x++;
    }
    while(y--);
    printf("%d,%d\n",x,y);
}

程序的运行结果是()。

共 2 分 

第26题

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

共 2 分 

第27题

若变量已正确定义

1
for(x=0,y=0;(y!=99&&x<4);x++)

则以上for循环()。

共 2 分 

第28题

若变量已正确定义,则以下for循环():

1
for(x = 0,y = 0;(y!=123)&&(x<4);x++);
共 2 分 

第29题

若k是int类型变量,且有以下for语句:

1
for(k=-1;k<0;k++)printf("****\n");

下面关于语句执行情况的叙述中正确的是()。

共 2 分 

第30题

若i和k都是int类型变量,有以下for语句:

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

下面关于语句执行情况的叙述中正确的是()。

共 2 分 

第31题

有如下程序段:

1
2
3
int k;
for(k=2;k==0;)
    printf("%d",k--);

则for循环体执行的次数是()。

共 2 分 

第32题

以下不构成无限循环的语句或者语句组是()。

共 2 分 

第33题

以下程序段中,与其他三个功能不同的程序段是()。

共 2 分 

第34题

有以下程序:

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
    int i=4;
    for(printf("%d",i);i<2;i++)printf("%d",i);
    printf("\n");
}

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

共 2 分 

第35题

有以下程序:

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
    int i,a;
    for(i=0;i<=10;i++)a=i;
    printf("%d,%d\n",i,a);
}

程序的运行结果是()。

共 1 分 

第36题

有如下程序

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
{
    int i = 1;
    for (printf("%d",i); i<4; i++)
        printf("%d",i);
    printf("\n");
}

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

共 1 分 

第37题

以下函数的功能是计算a的n次方作为函数值返回:

1
2
3
4
5
6
7
double fun(double a,int n)
{
    int i;
    double s=1.0;
    for(i=1;i<=n;i++)s=______;
    return s;
}

为实现上述功能,函数中下画线处应填入的是()。

共 1 分 

第38题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    int a=1,b=2;
    for(;a<8;a++)
    {
        b+=a;
        a+=2;
    }
    printf("%d,%d\n",a,b);
}

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

共 1 分 

第39题

有以下程序:

1
2
3
4
5
6
7
#include<stdio.h>
main()
{
    int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
    for(i=0;i<5;i++)s=s+a[b[i]];
    printf("%d\n",s);
}

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

共 1 分 

第40题

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

1
2
3
4
5
6
7
8
9
10
11
#define MIN -2147483647
int fingmax (int x[],int n)
{
    int i,max;
    for(i=0;i<n;i++)
    {
        max=MIN;
        if(max<x[i])max=x[i];
    }
    return max;
}

造成错误的原因是()。

共 1 分 

第41题

设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是()。

共 1 分 

第42题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    int a=1,b=0;
    for(;a<5;a++)
    {
        if(a%2==0)break;
        b+=a;
    }
    printf("%d\n",b);
}

程序的运行结果是()。

共 1 分 

第43题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
main()
{
    int x=8;
    for(;x>0;x--)
    {
        if(x%3)
        {
            printf("%d,",x--);
            continue;
        }
        printf("%d,",--x);
    }
}

程序的运行结果是()。

共 1 分 

第44题

有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
    int y=9;
    for(;y>0;y--)
        if(y%3==0) printf("%d",--y);
}

程序的运行结果是()。

共 1 分 

第45题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    int i;
    for(i=1;i<=40;i++)
    {
        if(i++%5==0)
        if(++i%8==0)printf("%d",i);
    }
    printf("\n");
}

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

共 1 分 

第46题

有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
    int i,sum;
    for(i=1;i<6;i++)sum+=i;
    printf("%d\n",sum);
}

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

共 1 分 

第47题

若有以下程序

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    int a=6,b=0,c=0;
    for(;a;)
    {
        b+=a;
        a-=++c;
    }
    printf("%d,%d,%d\n",a,b,c);
}

则程序的输出结果是()。

共 1 分 

第48题

有以下程序:

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
main()
{
    int i,j;
    for(i=3;i>=1;i--)
    {
        for(j=1;j<=2;j++)printf("%d",i+j);
        printf("\n");
    }
}

程序运行的结果是()。

共 1 分 

第49题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
main()
{
    int i,j,m=1;
    for(i=1;i<3;i++)
    {
        for(j=3;j>0;j--)
        {
            if(i*j>3)break;
            m*=i*j;
        }
    }
    printf("m=%d\n",m);
}

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

共 1 分 

第50题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <math.h>
main()
{
    int i,j,x = 0;
    for(i = 0;i < 2;i++)
    {
        x++;
        for(j = 0;j <= 3;j++)
        {
            if(j%2==0)continue;
            x++;
     }
     x++;
    }
    printf("x = %d\n",x);
}

程序的运行结果是()。

共 1 分 

第51题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <math.h>
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);
}

程序的运行结果是()。

共 1 分 

第52题

有以下程序:

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
{
int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)t+=b[i][b[j][i]];
printf("%d\n",t);
}

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

共 1 分 

第53题

以下程序段中的变量已正确定义

1
2
3
for( i=0; i<4; i++,i++ )
for( k=1; k<3; k++ );
printf("*" );

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

共 1 分 

第54题

有以下程序

1
2
3
4
5
6
7
8
#include <stdio.h>
main()
{
    int i,j,m=55;
    for(i=1;i<=3;i++)
        for(j=3;j<=i;j++)m=m%j;
    printf("%d\n",m);
}

程序的运行结果是()。

共 1 分 

第55题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    int i,j;
    for(i=1;i<4;i++)
    {
        for(j=i;j<4;j++)
            printf("%d*%d=%d  ",i,j,i*j);
        printf("\n");
    }
}

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

共 1 分 

第56题

有以下程序

1
2
3
4
5
6
7
8
9
#include<stdio.h>
main(){
    int i,j;
    for(i=3;i>=1;i--)
    {
        for(j=1;j<=2;j++){printf("%d",i+j);}
         printf("\n");
    }
}

程序的运行结果是()。

共 1 分 

第57题

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

共 1 分 

第58题

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

共 2 分 

第59题

有如下程序:

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
    int i,data;
    scanf("%d",&data);
    for(i=0;i<5;i++)
    {
        if(i < data) continue;
        printf("%d,",i);
    }
    printf("\n");
}

程序运行时,从键盘输入:3<回车>后,程序输出结果为()。

共 2 分 

第60题

有如下程序:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
    int i,data;
    scanf("%d",&data);
    for(i=0;i<5;i++)
    {
        if(i>data) break;
        printf("%d,",i);
    }
}

程序运行时,从键盘输入:3<回车>后,程序输出结果为()。

共 2 分 

第61题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
12
#include
main()
{
    int i;
    for(i=1;i<=5;i++)
    {
        if(i%2)printf("*");
        else continue;
        printf("#");
    }
    printf("$\n");
}

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

共 2 分 

第62题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
    int a=1, b=0;
    for(; a<5;a++)
    {
        if(a%2 == 0)break;
        continue;
        b += a;
    }
    printf("%d \n",b);
}

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

共 1 分