Dotcpp   >   练题 - 第209页

全部知识点

第4161题

有以下程序:

#include <stdio.h>
main()
{
 char c; while((c=getchar())!='\n')
 {
 switch(c-'2')
 {
 case 0:
 case 1:putchar(c+4);
 case 2:putchar(c+4);break;
 case 3:putchar(c+3);
 default:putchar(c+2);break;
 }
 }
 printf("\n");
 }

程序运行后从第一列开始输入以下数据:2473<回车>程序的输出结果是( )。

第4162题

有以下程序

#include <stdio.h>
main()
{
 int a,b;
 for(a=0; a<3; a++) 
 {
 scanf("%d", &b);
 switch(b)
 {
 default: printf("%d,", ++b);
 case 1: printf("%d,", ++b);
 case 2: printf("%d,", ++b);
 }
 }
}

执行时输入:1 2 3 <回车>,则输出结果是( )。 

第4163题

有以下程序:

#include <stdio.h>
main()
{
 int i=1,k=0;
 for(;i<6;)
 {
 switch(i%3)
 {
 case 0:k++;
 case 1:k++;break;
 case 2:k++;continue;
 }
 i+=1;
 }
 printf("%d\n",k);
}

程序的运行情况是( )。

第4164题

有以下程序:

#include <stdio.h>
main()
{
 int s;
 scanf("%d",&s);
 while(s>0)
 {
 switch(s)
 {
 case 1:printf("%d",s+5);
 case 2:printf("%d",s+4);break;
 case 3:printf("%d",s+3);
 default:printf("%d",s+1);break;
 }
 scanf("%d",&s);
 }
}

运行时,若输入1 2 3 4 5 0<回车>,则输出结果是( )。 

第4165题

有以下程序:

int i,n;
for(i=0; i<8; i++)
{
 n=rand()%5; 
 switch(n)
 {
 case 1:
 case 3:printf("%d\n",n);break;
 case 2:
 case 4:printf("%d\n",n);continue;
 case 0:exit(0);
 }
 printf("%d\n",n);
}

以下关于程序执行情况的叙述中,正确的是( )。

第4166题

有以下程序:

#include <stdio.h>
main()
{
 int a[]={2,3,5,4},i;
 for(i=0;i<4;i++)
 switch(i%2)
 {
 case 0:
 switch(a[i]%2)
 {
 case 0:a[i]++;break;
 case 1:a[i]--;
 }break;
 case 1:a[i]=0;
 }
 for(i=0;i<4;i++)printf("%d",a[i]);
 printf("\n");
}

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

第4167题

有以下程序

#include <stdio.h>
main()
{
 int x=1,y=0,a=0,b=0;
 switch(x)
 {
 case 1:
 switch(y)
 {
 case 0:a++;break;
 case 1:b++;break;
 }
 case 2:a++;b++;break;
 case 3:a++;b++;break;
 }
 printf("a=%d,b=%d\n",a,b);
}

程序的运行结果是( )。 

第4168题

有以下程序

#include <stdio.h>
main()
{
 int k=5,n=0;
 do
 {
 switch(k)
 {
 case 1:case 3:n+=1;k--;break;
 default:n=0;k--;
 case 2:case 4:n+=2;k--;break;
 }
 printf("%d",n);
 }while(k>0&&n<5);
}

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

第4169题

有以下程序:

#include <stdio.h>
main()
{
 char *s="120119110";
 int n0,n1,n2,nn,i;
 n0=n1=n2=nn=i=0;
 do
 {
 switch(s[i++])
 {
 default:nn++;
 case '0':n0++;
 case '1':n1++;
 case '2':n2++;
 }
 }while(s[i]);
 printf("n0=%d,n1=%d,n2=%d,nn=%d\n",n0,n1,n2,nn);
}

程序的运行结果是( )。 

第4170题

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

第4171题

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

第4172题

有以下程序:

#include<stdio.h>
main()
{
…
while(getchar()!='\n');
…
}

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

第4173题

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

第4174题

有以下程序:

#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}

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

第4175题

有以下程序

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

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

第4176题

有以下程序

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

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

第4177题

有以下程序:

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

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

第4178题

有以下程序:

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

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

第4179题

若有以下程序

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

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

第4180题

有以下程序:

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

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