type
status
date
slug
summary
tags
category
icon
password
1、下列程序的输出结果是(D ).
main( )
{  int a=0,b=0,c=0;
if(++a>0||++b>0)
++c;
printf("a=%d,b=%d,c=%d",a,b,c);
}
  • A a=0,b=0,c=0
  • B a=1,b=1,c=1
  • C a=1,b=0,c=1
  • D a=0,b=1,c=1
 
2、执行下述程序时,若从键盘输入6和8,结果为(B ).
main( )
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a<b) s=b;
s*=s;
printf("%d",s);
}
  • A 36
  • B 64
  • C 48
  • D 以上都不对
 
3、以下程序的输出结果是(A ).
main( ){ int a=15,b=21,m=0;  switch(a%3)  { case 0:m++;break;    case 1:m++;     switch(b%2)      { default:m++;        case 0:m++;break; }       }  printf("%d\n",m); }
  • A 1
  • B 2
  • C 3
  • D 4
 
4、以下叙述中不正确的是(D ).
  • A 在C程序中,逗号运算符的优先级最低
  • B 在C程序中,APH和aph是两个不同的变量
  • C 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
  • D 当从键盘输入数据时,对于整型变量只能输入整数,对于浮点型变量只能输入实数
 
5、能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是(D ).
  • A a>=10 or a<=0
  • B a>=0|a<=10
  • C a>=10 &&a<=0
  • D a>=10‖a<=0
 
6、设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x‖++y&&++z;,则执行这个语句后t的值为(B ).
  • A 2
  • B 1
  • C 0
  • D 不定值
 
7、若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是(B ).
  • A 4
  • B 3
  • C 2
  • D 1
 
8、下列关于标识符的说法中错误的是(D ).
  • A 合法的标识符是由字母、数字和下划线组成
  • B C语言的标识符中,大写字母和小写字母被认为是两个不同的字符
  • C C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符
  • D 用户标识符与关键字不同时,程序在执行时将给出出错信息
 
9、下列程序的运行结果是(D ).
main( )
{ int x=-9,y=5,z=8;
if(x<y)
if(y<0)z=0;
else z+=1;
printf("%d\n",z);
}
  • A 6
  • B 7
  • C 8
  • D 9
 
10、以下程序输出结果是(A )
main( )
{ int a=5,b=4;
printf("%d\n", a>b?a+b:a-b);
}
  • A 9
  • B 1
  • C 10
  • D 无法确定
 
11、关于if后一对圆括号中的表达式,以下叙述中正确的是(D ).
  • A 只能用逻辑表达式
  • B 只能用关系表达式
  • C 既可以用逻辑表达式也可以用关系表达式
  • D 可以用任意表达式
 
12、下列各值中,能使表达式m%3==2&&m%5==3&&m%7==2为真的m是(A ).
  • A 8
  • B 23
  • C 17
  • D 6
 
13、有如下程序:main(A ){ int x=1,a=0,b=0;  switch(x)  { case 0: b++;    case 1: a++;    case 2: a++;b++;    }  printf("a=%d,b=%d\n",a,b); }该程序的输出结果是( ).
  • A a=2,b=1
  • B a=1,b=1
  • C a=1,b=0
  • D a=2,b=2
 
14、阅读下面的程序,该程序(D ).
main( ){ int a=5,b=0,c=0;  if(a=b+c) printf("***\n");  else  printf("$$$\n"); }
  • A 有语法错不能通过编译
  • B 可以通过编译但不能通过连接
  • C 输出***
  • D 输出$$$
 
15、若有定义:int x=3,y=2,z=2;,则表达式:z*=(x>y?++x:y++)的值是(D).
  • A 4
  • B 0
  • C 1
  • D 8
 
16、若运行时给变量x输入12,则以下程序的运行结果是(A ).
main( ){ int x,y;  scanf("%d",&x);  y=x>12?x+10:x-12;  printf("%d\n",y);   }
  • A 0
  • B 22
  • C 12
  • D 10
17、下列关于复合语句和空语句的说法错误的是(C  ).
  • A 复合语句是由"{"开头,由"}"结尾的
  • B 复合语句在语法上视为一条语句
  • C 复合语句内,可以有执行语句,不可以有定义部分
  • D C程序中的所有语句都必须由一个分号作为结束
 
18、已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是(B ).
  • A 0
  • B 1
  • C 2
  • D 1
 
19、以下程序的运行结果是(B ).
main( ){  int a,b,d=241;   a=d/100%9;   b=(-1)&&(-1);   printf("%d,%d",a,b);}
  • A 6,1
  • B 2,1
  • C 6,0
  • D 2,0
 
20、有如下程序
main( ){ float x=2.0,y; if(x<0.0) y=0.0; else if(x>10.0) y=1.0/x; else y=1.0; printf("%f\n",y);}该程序的输出结果是(C ).
  • A 0.000000
  • B 0.250000
  • C 0.500000
  • D 1.000000
 
21、设变量x和y均已正确定义并赋值.以下if语句中,在编译时将产生错误信息的是(C ).
  • A if(x++);  else y++;
  • B if(x>y&&y!=0);
  • C if(x>0)x--  else x++;
  • D if(y<0){;}
 
22、设有:
int a=1,b=2,c=3,d=4,m=2,n=2;
执行 (m=a>b)&&(n=c>d)后n的值是( ).
  • A 1
  • B 2
  • C 3
  • D 4
notion image
 
23、若执行下面的程序时,从键盘上输入5和2,则输出结果是(C ).
main( ){ int a,b,k;  scanf("%d%d ",&a,&b);  k=a;  if(a<b) k=a%b;  else k=b%a;  printf("%d\n ",k);  }
  • A 5
  • B 3
  • C 2
  • D 1
 
24、已知int x=1,y=2,z=3;以下语句执行后x,y,z的值是(B ).    
if(x>y) z=x; x=y; y=z;
  • A x=1, y=2, z=3
  • B x=2, y=3, z=3
  • C x=2, y=3, z=1
  • D x=2, y=3, z=2
 
25、有以下程序
main( ){int i=1,j=1,k=2; if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k); }执行后输出结果是(C ).
  • A 1,1,2
  • B 2,2,1
  • C 2,2,2
  • D 2,2,3
 
26、设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是(A ).
  • A x&&y
  • B x<=y
  • C x‖++y&&y-z
  • D !(x<y&&!z‖1)
 
27、有如下程序
main( ){ float x=2.0,y;  if(x<=0.0) y=0.0;  else if(x<10.0) y=1.0/x;  else y=1.0;  printf("%f\n",y);}
该程序的输出结果是(C ).
  • A 0.000000
  • B 0.250000
  • C 0.500000
  • D 1.000000
 
28、定义int x=10,y,z;执行y=z=x;x=y==z;后,变量x的值为(B ).
  • A 10
  • B 1
  • C 0
  • D 100
 
29、当把以下4个表达式用作if语句的条件表达式时,有一个选项与其他3个选项含义不同,这个选项是(D ).
  • A k%2
  • B k%2==1
  • C (k%2)!=0
  • D !k%2==1
 
30、有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为(D ).
  • A True
  • B False
  • C 0
  • D 1
 
31、以下程序的输出结果是(A ).
main( ){ int a=15,b=21,m=0;  
switch(a%3)  
{ case 0:m++;break;    
case 1:m++;      
switch(b%2)      
{ default:m++;       
case 0:m++;break;      
 }   
}     
printf("%d\n",m);
}
  • A 1
  • B 2
  • C 3
  • D 4
 
32、请阅读以下程序:
main( ){ int x=1,y=0,a=0,b=0;  
switch(x)  
{ case 1:switch(y)           
{ case 0:a++;break; }    
case 2:a++,b++;break;    
}   
printf("a=%d,b=%d\n",a,b); 
}
上面程序的输出结果是(A ).
  • A a=2,b=1
  • B a=1,b=1
  • C a=1,b=0
  • D a=2,b=2
 
33、若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是(B ).
  • A (exp==0)
  • B (exp!=0)
  • C (exp==1)
  • D (exp!=1)
notion image
 
C语言程序设计 测验题四C语言程序设计 测验题二
Loading...