语言选择结构程序设计ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(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句把;是
else
} 运行结果:a = 0
a--; cout<<"a = %d\n";
}
运行结果:a = 1
例 输入两数并判断其大小关系
#include <iostream>
using namespace std;
void main ( )
{
int x, y;
cout<<"Enter integer x, y: ";
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1)
if (expr2) statement1
else
statement2
内嵌if
else
if (expr3) statement3 内嵌if
else
statement4
2. switch语句(开关分支语句) switch ( 表达式)
使用switch语句注意事项
(4) 每个case后面必须是“常量表达式”,表达式中不能 包含变量。
例:按成绩分成A、B、C、D、E、F几个等级。
char score;
cout<<" Enter Score: "; cin>>score;
case 后面包含变量
switch (score)
{
case score >= 90 :
本章讨论
3.1 选择结构的程序设计
1. if语句
➢ 简单if语句形式 格式:
if (表达式) 语句;
T
表达式
F
语句
执行流程:
例如:➢:请i请用f_用ief_ls简eels形单e形式if语式句实形现式输实出现两输个入整两数个中整的数最,大输数出。其中
的大数。格式:
T 表达式
F
if (表达式) 语句1;
课堂练习
1.编程实现根据输入x的值,输出y。 x和y满足数学分段函数关系如下:
课堂练习
2.编程实现判断成绩的等级。根据输入的成绩, 判断输出成绩的等级: 90分以上(包含90):A; 80-89:B; 70-79:C; 60-69:D 60分以下(不包含60):F。
➢ if语句注意事项
(1)例if:语if句(a后>面b)的表达式必须例用:括if号(a括>起b)来 。
else 语句2;
语句1
语句2
执行流程:
例如:下面的程序段是用简单的if语句实现输入两个整数, 输出其中的大数。
int a, b, max; cout<<“请输入两个整数:”; cin<<a<<b; max=a; if (max < b)
max=b; cout<<max;
例如:下面的程序段用if…else形式实现输出两个整数中的最 大数。
default :
cout<<" F"; break;
}
课堂练习2.
写程序实现输入一个整数,如果分数为: 90-100输出“A”; 80-89 输出“B”; 70-79 输出“C”; 60-69 输出“D”; 59以下输出“F”; 其它, 输出“输入错误”。
使用switch语句注意事项
(5)多个case子句,可共用同一语句(组)。
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;
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 (……)
使用switch语句注意事项
(6) case后面的“常量表达式”仅起语句标号作用,并不 进行条件判断。系统一旦找到入口标号,就从此标号开始执 行,不再进行标号判断,所以必须加上break语句,以便结 束switch语句。
void main ( )
运行结果:
{
No void main ( )
运行结果:
}
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";
intealse=…1…, b = -1;
using namespace std; void main ( ) {
int a = 1, b = -1;
eilfse…(a…> 0) else……if (b > 0)
if (a > 0) {
a++;
if (b > 0)
else
a++;
a--;
}
cout<<"a = %d\n";
int a, b, max; cout<<“请输入两个整数:”; cin<<a<<b; if (a > b)
max=a; else max=b; cout<<max;
课堂练习
编写程序实现汽车超速判断:要求从键盘输 入速度,然后判断其是否超速。如果速度超过 60,则显示“超速”,否则显示“正常”。
1. if语句
在}之后{不能再加分号。
{ b = 1;
(4) 在iifn语t x句=中0;,如果表达式是一} 个in判t x断=两0;个数是否相
等的关系表if (达x 式==,0)要当心不要将==写if成(x了=赋0)值运算符=。
cout<<“x = 0\n”;
cout<<“x = 0\n”;
else
else
cout<<“x != 0\n”;
case 'A' : printf ("All\n"); break;case 'N' : printf ("No\n");
default : printf ("Yes,No or All\n"ca);se 'A' : printf ("All\n"); break;
}
default : printf ("Yes,No or All\n");
第3章 选择结构程序设计
第3章:选择结构程序设计
程序结构
顺序结构 选择结构 循环结构
前面已讨论 本章讨论 下章讨论
➢ 控制语句 用来实现一定的控制功能的语句称为控制语句 。C++语
言用控制语句来实现选择结构和循环结构。C++语言有 九种控制语句。可分成以下三类:
分支 循环 辅助控制
if( )~else~ switch for( )~ while( )~ do~while( ) continue break goto return
}
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
例:当a的值是1、2、3时,将b的值加2,当a的值是4、5 、6时,将b的值减2。
int a, b = 4; cin>>a; switch (a) {
case 1: case 2: case 3: b += 2; break; case 4: case 5: case 6: b -= 2; break; default: b *= 2; break; } cout<<" b = “<<b;
}
}
}
使用switch语句注意事项 (7) case子句和default子句如果都带有break子句,那么 它们之间顺序的变化不会影响switch语句的功能。
#include <iostream>
#include <iostream>
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
}
使用switch语句注意事项
(1) switch后面的“表达式”,可以是int、char和枚举型 中的一种,但不可为浮点型。
float a, b = 4.0;
不可为浮点型
cin>>a;
表达式
switch ( a )
{
case 1: b Baidu Nhomakorabea b + 1; break;
case 2: b = b - 1; break;
一般形式: 执行过程:
{ case E1: 语句组 1;
break;
switch
case E2: 语句组 2;
表达式
break;
E1 语句组1
E2 语句组2
case En
…... 语句组n
……. cadseefaultEn: 语句组 语句组 n;
break;
[default:
语句组 ;
break;]
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以下;
➢ if_else_if形式 格式:
执行流程:
if(表达式1)
语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3;
……
else if (表达式n) 语句n;
else 语句n+1;
例如:请编写表程达序式1段实现F判断输入字符的种类: 数字、大写字母、表达小式写2字母或F其他字符。
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;