c语言程序设计选择结构程序设计.docx
- 文档编号:29414489
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:17
- 大小:23.46KB
c语言程序设计选择结构程序设计.docx
《c语言程序设计选择结构程序设计.docx》由会员分享,可在线阅读,更多相关《c语言程序设计选择结构程序设计.docx(17页珍藏版)》请在冰豆网上搜索。
c语言程序设计选择结构程序设计
第一章CH4选择结构程序设计
4.1读程序
1.有如下代码:
#include
main()
{charch;
ch=getchar();
switch(ch)
{case‘A’:
printf(“%c”,’A’);
case‘B’:
printf(“%c”,’B’);break;
default:
printf(“%s\n”,”other”);}
}
当从键盘输入字母A时,运行结果为:
AB
详见switch语句
switch(表达式)
{case常量1:
语句1
case常量2:
语句2
┇┇┇
case常量n:
语句n
default:
语句n+1
}
其中表达式,常量1,…,常量n都为整型或字符型
case相当于给出执行程序的入口和起始位置,若找到匹配的常量,则从此处开始往下执行程序,不再匹配常量,直至遇到break或switch结束
本题过程:
首先从键盘接收一个字符’A’并将其放在变量ch中。
执行switch语句。
Switch后面的条件表达式为ch,因此表达式的值即为字符’A’.用字符’A’依次与下面的case中的常量匹配。
与第1个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。
)因此先执行printf(“%c”,’A’),屏幕上输出A;再往下继续执行printf(“%c”,’B’),屏幕上输出B;再继续执行break,此时跳出switch语句。
2.有如下代码:
#include
main()
{inta=1,b=0;
scanf(“%d”,&a);
switch(a)
{case1:
b=1;break;
case2:
b=2;break;
default:
b=10;}
printf("%d",b);
}
若键盘输入5,运行结果为:
10
本题过程:
首先用scanf函数为变量a赋值为5。
执行switch语句。
switch后面的条件表达式为a,因此表达式的值即为5.用5依次与下面case中的常量匹配。
没有找到匹配的常量,因此两个case后的语句都不执行。
执行default后面的语句b=10;将10赋给变量b。
输出变量b,结果为10
3.有如下代码:
#include
main()_
{chargrade=’C’;
switch(grade)
{
case‘A’:
printf(“90-100\n”);
case‘B’:
printf(“80-90\n”);
case‘C’:
printf(“70-80\n”);
case‘D’:
printf(“60-70\n”);break;
case‘E’:
printf(“<60\n”);
default:
printf(“error!
\n”);
}
}
运行结果为:
70-80
60-70
本题过程:
首先从键盘接收一个字符’C’并将其放在变量grade中。
执行switch语句。
switch后面的条件表达式为grade,因此表达式的值即为字符’C’.用字符’C’依次与下面的case中的常量匹配。
与第3个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。
)因此先执行printf(“70-80\n”);,屏幕上输出70-80,并换行;再往下继续执行printf(“60-70\n”),屏幕上输出60-70,并换行;再继续执行break,此时跳出switch语句。
4.在嵌套使用if语句时,C语言规定else总是___C___。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对
C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对
5.假定所有变量均已正确说明,下列程序段运行后x的值是___B___。
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A、34B、4C、35D、3
6.有如下程序
main()
{
inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
该程序的输出结果是___C___。
A、0B、1C、2D、3
7.有以下程序
main()
{intk=5,n=0;
while(k>0)
{switch(k)
{default:
break;
case1:
n+=k;
case2:
case3:
n+=k;
}
k--;
}
printf("%d\n",n);
}
程序运行后的输出结果是___D___。
A、0B、4C、6D、7
8.有以下程序
main()
{
inti;
for(i=0;i<3;i++)
switch(i)
{
case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
执行后输出结果是___A___。
A、011122B、012C、012020D、120
9.如下程序
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
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
10.以下程序的输出结果是___A___。
main()
{inta=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A、31B、13C、10D、20
11.下列叙述中正确的是___D___。
A、break语句只能用于switch语句
B、在switch语句中必须使用default
C、break语句必须与switch语句中的case配对使用
D、在switch语句中,不一定使用break语句
12.设a为整型变量,不能正确表达数学关系:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 选择 结构 程序设计