if和switch讲解习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B) 可以通过编译但不能通过连接
C) 输出***
D)输出$$$
5.若运行时给变量x输入12,则以下程序的运行结果是(A)。
main()
{int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
}
A)0B)22C) 12D) 10
6.阅读以下程序:
main()
{int x;
scanf("%d",&x);
if(x--<5) printf("%d", x);先判断x--<5 即为5<5不成立,后x—为4
else printf("%d", x++);x++为5
}
程序运行后,如果从键盘上输人5,则输出结果是(C)。
A)3B)4C) 5D) 6
7.有如下程序
if(b<0) c=0;
else c++;
printf(“%d\n”,c);
}
A)0B)1C)2D)3
3.以下程序的输出结果是(C)。
main()
{int a=100,x=10,y=20,ok1=5,ok2=0;
if(x<y)成立
if(y!=10)成立
if(!ok1)不成立
a=1;
else
if(ok2) a=10;不成立
a=-1;
printf(“%d\n”,a);
}
A) 1B)10C)-1D) 值不确定
4.请阅读以下程序:
main()
{
int a=3,b=1,c=0;
if(a=b+c) printf(“***\n”);//a=b+c=1为赋值语句
else printf(“$$$\n”);
}
以上程序(C)。
A) 有语法错不能通过编译
}
case 2:
a++; b++; break;
}
printf(“a=%dБайду номын сангаас b=%d\n”, a, b);
}
上面程序的输出结果是(A)。
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
default: printf(“error.”);
}
}
A)>=85.B)>=60.C)>=60.<60.error.D)error.
9.请读程序:
main()
{
int x=1, y=0, a=0, b=0;
switch(x)
{
case 1:
switch(y)
{case 0:a++;break;
case 1:b++;break;
main( )
{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)a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2
2若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(D)。
A)a<>0B)!aC)a=0D)a
1.if(a!=0)等价于if(a)
2.一切非零的数字都当做为真
3-1.以下程序的输出结果为(C)。
main()
{
int a=2, b=-1, c=2;
if(a<b)if(表达式)语句//如果表达式不成立,则后面的语句不执行
1.已知int x=10, y=20, z=30;以下语句执行后x, y, z的值是(B)。
if(x>y)
z=x;x=y;y=z;
A) x=10,y=20,z=30B)x=20,y=30,z=30
C) x=20,y=30,z=10D) x=20,y=30,z=20
考点:if只能控制一条语句(如果有大括号,即控制整个符合语句,无大括号就只控制到第一个分号处!)
8.若输入B,以下程序的输出结果是(C)。
main( )
{char grade;
scanf(“%c”,&grade);
switch(grade)
{
case‘A’:printf(“>=85.”);
case‘B’:
case‘C’:printf(“>=60.”);
case‘D’:printf(“<60.”);
相关文档
最新文档