【习题】
一、选择题
1.已有定义语句,int x=3,y=4;则执行表达式(x++==3)||(y++==4)
后,变量 y 的值是( )。
A.3 B.4 C.5 D.6
2.下列运算符中优先级最高的是( )。
A.== B.+ C.= D.<=
3.若有 a=1, b=0, c=2, d=3,则条件表达式 a<b?a:c<d?c:d 的值是
A.0 B.1 C.2 D.3
4.在 C 语言中逻辑值为“真”的是
A.true B.大于 0 的数 C.非 0 的整数 D.非 0 的数
5.设有: 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
6.若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这
一关系的表达式是( )。
A.a<>0 B.!a C.a=0 D.a
7.有如下程序,该程序的输出结果是( )。
#include <stdio.h>
main(){
int a=2,b= -1,c=2;
if(a<b)
if(b<0) c=0;
else c++;
printf("%d\n",c);}
A.4 B.3 C.2 D.1
8.请阅读以下程序,判断输出结果( )。
#include <stdio.h>
main(){
int a=5,b=5,c=0;
if(a==b+c) printf(“我是 if 语句!”);
else printf(“我是 else 语句!”);}
A.编译不通过 B.输出结果是:我是 if 语句!
C.输出结果是:我是 else 语句! D.编译没有错,但是什么都不输出。
9.若执行以下程序时从键盘上输入 9,则输出结果是( )。
#include<stdio.h>
main(){
int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);}
A.11 B.10 C.9 D.8
10.以下不正确的语句形式是( )。
A.if(x>y&&x!=y); B.if(x==y)x+=y;
C.if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
D.if(x<y){x++;y++;}
11.已知 int x=1,y=2,z=3; 执行语句 if(x>y) z=x; x=y; y=z; 后
x,y,z 的值是( )。
A.x=1,y=2,z=3 B.x=2,y=3,z=3
C.x=2,y=3,2=1 D.x=2,y=3,z=2
12.以下 if 语句语法正确的是( )。
A.if(a>0) printf(“%f”,a) else printf(“%f”,-a) ;
B.if(a>0) {a=a+b;printf(“%f”,a);}; else printf(“%f",-a);
C.if(a>0) {a=a+b;printf(“%f”,a);} else printf(“%f”,-a);
D.if(a>0) { a=a+b;printf(“%f”,a)} else printf(“%f”,-a);
13.以下关于 if 语句的错误描述是
A.条件表达式可以是任意的表达式
B.条件表达式只能是关系表达式或逻辑表达式
C.条件表达式的括号不能省
D.与 else 配对的 if 语句是其之前最近的未配对的 if 语句
14.C 语言的 switch 语句中,case 后( )。
A.只能为常量 B.只能为常量或常量表达式
C.可为常量及表达式或有确定值的变量及表达式
D.可为任何量或表达式
15.下面程序输出的结果是( )。
main(){
int a=1,b=2;
switch(a){
case 1: printf("外 switch 部分\n");
switch(b) {
case 2: printf("内 switch 部分\n"); }}}
A. 提示错误 B. 外 switch 部分
C. 内 switch 的部分 D. 外 switch 部分
内 switch 部分
二、判断题
1.在 if 语句的三种形式中,如果要想在满足条件时执行一组(多个)语
句,则必须把这一组语句用{}括起来组成一个复合语句。( )
2.if(a=5) 是正确的 if 语句。 ( )
3.在 switch 语句中,每一个的 case 常量表达式的值可以相同。( )
4.在 switch 语句中,多个 case 可以共用一组执行语句。( )
5.case 语句后如没有 break,顺序向下执行。( )
三、编程题
1.输入三个数,按照从大到小输出。
2.输入一个 5 位的正整数,判断是否是回文数。(所谓回文数,是前后
对称的数字相同,如:12321)
3.输入一个字符,如果是大写字母,转换为小写,如果是小写字母转换
为大写并输出,其它字符原样输出。
4.输入年月日,输出该日期是今年的第几天。

