当前位置:
文档之家› 语言选择结构程序设计ppt课件
语言选择结构程序设计ppt课件
default :
cout<<" F"; break;
}
课堂练习2.
写程序实现输入一个整数,如果分数为: 90-100输出“A”; 80-89 输出“B”; 70-79 输出“C”; 60-69 输出“D”; 59以下输出“F”; 其它, 输出“输入错误”。
使用switch语句注意事项
(5)多个case子句,可共用同一语句(组)。
cin>>x>>y;
if (x != y)
if (x > y) cout<< "X > Y\n"; 运行结果:
else
cout<<"X < Y\n"; Enter integer x, y: 12, 23
else
X<Y
cout<<"X == Y\n";
Enter integer x, y: 12, 6
一般形式: 执行过程:
{ case E1: 语句组 1;
break;
switch
case E2: 语句组 2;
表达式
break;
E1 语句组1
E2 语句组2
case En
…... 语句组n
……. cadseefaultEn: 语句组 语句组 n;
break;
[default:
语句组 ;
break;]
本章讨论
3.1 选择结构的程序设计
1. if语句
➢ 简单if语句形式 格式:
if (表达式) 语句;
T
表达式
F
语句
执行流程:
例如:➢:请i请用f_用ief_ls简eels形单e形式if语式句实形现式输实出现两输个入整两数个中整的数最,大输数出。其中
的大数。格式:
T 表达式
F
if (表达式) 语句1;
1; break; 1b; rebarke;ak; break;
}
case 1: b = b + 2; break;
}
cout<<"b =", b);
c//a{se}可1在加前可面不已加使用
课堂练习1:
使用switch语句按照考试成绩的等级打印出百分制 分数段。
成绩等级对应的分数段如下:
A:90-100; B:80-89 ; C:70-79 ; D:60-69 ; F:59以下;
使用switch语句注意事项
(4) 每个case后面必须是“常量表达式”,表达式中不能 包含变量。
例:按成绩分成A、B、C、D、E、F几个等级。
char score;
cout<<" Enter Score: "; cin>>score;
case 后面包含变量
switch (score)
{
case score >= 90 :
}
}
}
使用switch语句注意事项 (7) case子句和default子句如果都带有break子句,那么 它们之间顺序的变化不会影响switch语句的功能。
#include <iostream>
#include <iostream>
}
cout<<“b=“<<b;
使用switch语句注意事项
(2) case后面语句(组)可加{ }也可以不加{ },但一般不 加{ }。
(3) 每个case后面“常量表达式”的值,必须各不相同, 否则会出现相互矛盾的现象。
ics{nwis{}ncctwiaacc>tiaaassct>eessh,caeehb12;(21::a(=::)ibb4){;==bbbb==+*bb22+-;;
T
表达式3
F
T
T
表达式n
F
T
语句1
语句2
语句3
语句n 语句 n+1
例如:下面的程序段是判断输入字符的种类。 char c; cout<<“请输入字符:”; cin>>c; if (c >= '0' && c <= '9') cout<<"The character is a digit\n"; else if (c >= 'A' && c <= 'Z') cout<<"The character is a capital letter\n"; else if (c >= 'a' && c <= 'z') cout<<"The character is a lower letter\n"; else cout<<"The character is other character\n";
}
X>Y
Enter integer x, y: 12, 12
X==Y
➢ if语句嵌套: 一般形式:
if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) statement1
else if (expr3) statement3 else statement4
else 语句2;
语句1
语句2
执行流程:
例如:下面的程序段是用简单的if语句实现输入两个整数, 输出其中的大数。
int a, b, max; cout<<“请输入两个整数:”; cin<<a<<b; max=a; if (max < b)
max=b; cout<<max;
例如:下面的程序段用if…else形式实现输出两个整数中的最 大数。
cout<<“x != 0\n”;
} 运行结果:x = 0
} 运行结果:x != 0
if_else 配对原则
C++语言规定,在缺省{ }时,else总是和它
上面例离: 它最近的未配对的i例f配: 对
#include <iostream>
#include <iostream>
if u(…sin…g)namespace std; voifid(…m…ai)n ( ) { if (……)
cout<<" A"; break;
case score >= 80 && score < 90 : cout<<" B"; break;
case score >= 70 && score < 80 : cout<<" C"; break;
case score >= 60 && score < 70 : cout<<" E"; break;
使用switch语句注意事项
(6) case后面的“常量表达式”仅起语句标号作用,并不 进行条件判断。系统一旦找到入口标号,就从此标号开始执 行,不再进行标号判断,所以必须加上break语句,以便结 束switch语句。
void main ( )
运行结果:
{
No void main ( )
运行结果:
(2) 表达式a+通+;常是逻辑表达式或关{ 系表达式,但也可以
是其它任何表b+达+;式,如赋值表达式等,a+甚+;至也可以是一个
变量。只要els表e 达式非零时,表达式的值b+就+;为真,否则就是
假。 例: {
例}:
,这如一(3果组) 在例要语#uviiffios:想句n}fii((n语dcabiab在用flg)um=c句=x=nod满{语5a>ua0e1的})i句mt;足;n括<0语<三;ei(条o起<句s)s种p“t件;来axr形ce>时组ea//所//式m0等表s执成t以”>价达d中;其行;一于式,后一i的个f的所(值例b组复语!永有=:句(e{合#uv远0多l的iio总ss)afn为语iei语cn个d是c=(语非ox句lg句要umu0)0句>;nd语t;,执。a<ae0i应行<m句n)<但“的ei为(,xos要)sp>单t则a注r0ce个必”ea意;m语s须t的>d句把;是
char ch;
{
No
ch = getch ( ); switch ( ch )
//假设输入为:Ncchha=r
ch; getch
(
);
//假设输入为AL:LN
{
switch ( ch )
case 'Y' : printf ("Yes\n"); brea{k;
case 'N' : printf ("No\n"); break;case 'Y' : printf ("Yes\n"); break;
➢ if_else_if形式 格式:
执行流程:
if(表达式1)
语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3;
……
else if (表达式n) 语句n;