C语言试卷

第381题

若有定义:int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是( )。 

第382题

有如下嵌套的if语句:

if(a<b) if(a<c)k="a;" else="" k="c;" if(b<c)k="b;"

以下选项中与上述if语句等价的语句是( )。

第383题

以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( )。

第384题

有语句:k=x

第385题

若有定义:

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

有C语言表达式 (a++ && b++)? c++ : d++,以下关于其执行顺序的叙述 正确是( )。

第386题

若有定义:

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

以下关于C语言表达式:(++aǁ++b)? ++c:++d执行顺序的叙述正确的是 ( )。

第387题

有以下程序:

#include <stdio.h>
main()
{
 char a='H';
 a=(a>='A'&&a<='z')?(a-'A'+'a'):a;
 printf("%c\n",a);
}

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

第388题

有以下程序

#include <stdio.h>
main()
{
 int x;
 for(x=3;x<6;x++)
 printf((x%2)?("*%d"):("#%d"),x);
 printf("\n");
}

程序的输出结果是( )。 

第389题

有以下程序:

#include <stdio.h>
int m1(int x,int y)
{
 return x<=y?x:y;
}
int m2(int x,int y)
{
 return x<=y?y:x;
}
int fun(int a,int b){
 return a+b;
}
main()
{
 int x=2,y=3,z=1;
 printf("%d\n",fun(m1(x,y),m2(y,z)));
}

程序的运行结果是( )。 

第390题

有以下程序:

#include <stdio.h>
main()
{
 int a=0,b=0,c=0,d=0;
 (++a||++b)?++c:++d;
 printf("%d,%d,%d,%d\n",a,b,c,d);}

程序的运行结果是( )。 

第391题

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

第392题

若有定义:

float x=1.5;
int a=1,b=3,c=2;

则正确的switch语句是( )。

第393题

若有定义语句int a,b;double x;则下列选项中没有错误的是( )。

第394题

有以下程序:

#include <stdio.h>
main()
{
 int k,n=0;char c,str[]="teach";
 for(k=0;str[k];k++)
 {
 c=str[k];
 switch(k)
 {
 case 1: case 3: case 5: putchar(c); printf("%d",++n); break;
 default:putchar('N');
 }
 }
}

程序的运行结果是( )。

第395题

有以下程序:

#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<回车>程序的输出结果是( )。

第396题

有以下程序

#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 <回车>,则输出结果是( )。 

第397题

有以下程序:

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

程序的运行情况是( )。

第398题

有以下程序:

#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<回车>,则输出结果是( )。 

第399题

有以下程序:

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

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

第400题

有以下程序:

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

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