第四章测试
1.若x=3,y=z=4,则下列表达式的值分别为(  )。 (1)z>=y>=x?1:0 (2)z>=y&& y>=x
A: 0  0 B: 1  1 C: 0  1 D: 1  0
答案:C
2.在嵌套使用if语句时,C语言规定else总是(   )。
A:和之前与其最近的if配对 B:和之前与其最近的且不带else的if配对   C:和之前与其具有相同缩进位置的if配对 D:和之前的第一个if配对 3.判断字符型变量ch为大写字母的表达式是(  )。
A:(ch>=’A’)AND(ch<=’Z’) B:(ch>=’A’)&&(ch<=’Z’)  C:    ’A’<=ch<=’Z’  D:(ch>=’A’)||(ch<=’Z’) 4.逻辑运算符的运算对象的数据类型(   )。
A:任何类型的数据 B:只能是整型或字符型  C:只能是0或1  D:只能是.T.或.F. 5.以下是if语句的基本形式:  if(表达式) 语句  其中“表达式”(   )。
A:必须是逻辑表达式   B:必须是逻辑表达式或关系表达式   C:可以是任意合法的表达式 D:必须是关系表达式 6.下列条件语句中,功能与其他语句不同的是(    )。 
A:if(a==0) printf("%d",x); else printf("%d",y); B:if(a==0) printf("%d",y); else printf("%d",x); C:if (a!=0) printf("%d",x); else printf("%d",y); D:if(a) printf("%d",x); else printf("%d",y); 7.以下程序段中与语句“k=a>b?(b>c?1:0):0;”功能等价的是(  )。
A:if(a>b)  k=1;        else if(b>c)  k=1;                else k=0; B:if((a>b)&&(b>c))     k=1;else      k=0;   C:if(a<=b)      k=0;    else     if(b<=c)  k=1; D:f((a>b)||(b>c))      k=1; else       k=0; 8.下面程序的输出结果是(   )。#include "stdio.h"main( ){ int x=40,y=4,z=4; x=y==z; printf("%d ",x); x=x==(y-z); printf("%d ",x);}
A:4  0  B:1  1 C:4  1 D:1  0 9.下列各语句序列中,能够将变量u和s中的较大值赋值到变量t中的是(   )。
A:t=u ; if(u>s)t=s; B:if(u>s)t=u ; t=s; C:t=s ; if(u>s)t=u; D:if(u>s)t=s ; else t=u;   10.以下程序执行后的输出结果是(     )。#include "stdio.h"main( ){int a=5,b=4,c=3,d=2;    if(a>b>c)    printf("%d",d);    else if ((c-1>=d)==1)    printf("%d",d+1);    else    printf("%d",d+2);  }
A:4 B:2 C:3 D:编译时有错误,无结果 11.以下程序执行后的输出结果是(      )。#include "stdio.h"main( ){   char x='d';   x=(x>='a'&&x<='z')?(x-32):x;   printf("%c", x);} 
A:a B:d C:z D:D 12.若有定义:float x=1.5; int a=1, b=3, c=2;,则正确的switch语句是(   )。
A:switch(x)  { case 1.0: printf("*"); case 2.0: printf("**");}  B:switch(a+b){  case 1: printf("*");  case 1+2: printf("**");} C:switch((int)x);{  case 1: printf("*");  case 2: printf("**");} D:switch(a+b){  case 1: printf("*");  case c: printf("**");} 13.以下程序的输出结果是(   )。#include "stdio.h"main(){   int a=2,b=2,c;   c=a>=b;   printf("c=%d",c);}
A:c=1 B:不确定 C:c=0 D:c=2 14.下列程序执行后的输出结果是(  )。#include "stdio.h"main( ){  int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf("%d",x);}
A:-3 B:1 C:-1 D:-4 15.以下程序执行后的输出结果是(  )。#include "stdio.h"main( ){    int p,a=5;  if(p=a!=0)    printf("%d",p);  else   printf("%d",p+2);}
A:5 B:3 C:1 D:0 16.以下程序的运行结果是(  )。#include "stdio.h"main( ){  int a=2,b=3,c ;  c=a;  if(a>b) c=1;  else if(a==b)       c=0;     else                c=-1;  printf("%d",c);} 
A:2 B:-1 C:0 D:1 17.有以下程序#include "stdio.h"main( ){int x;scanf("%d",&x);if(x>15) printf("%d  ",x-5);if(x>10) printf("%d  ",x);if(x>5) printf("%d\n",x+5);} 若程序运行时从键盘输入12<回车>,则输出结果为(   )。
A:17 B:12 C:12   17 D:7 18.若有表达式(p)?(--x):(++y),则其中与w等价的表达式是(  )。
A:p!=0 B:p!=1 C:p==0 D:p==1 19.有以下程序#include "stdio.h"main( ){ int a, b, c; a=10; b=50; c=30; if (a>b) a=b, b=c; c=a; printf("a=%d b=%d c=%d", a,b,c); } 程序的输出结果是(   )。
A:a=10 b=30 c=10  B:a=50 b=30 c=50 C:a=10 b=50 c=30 D:a=10 b=50 c=10  20.有以下程序#include "stdio.h"main( ){ int x=1, y=2, z=3; if(x>y)   if(y<z)      printf("%2d", z+1);   else      printf("%2d", y+1); printf("%2d", x+1);}   程序的运行结果是(   )。  
A:4  2 B:2 C:3  2 D:1

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部