当前位置:文档之家› c++语言 选择结构程序设计

c++语言 选择结构程序设计

if_else_if形式 格式:
执行流程:
if(表达式1) else if (表达式2) else if (表达式3)
…… else if (表达式n) else 语句n+1;
语句1; 语句2; 语句3;
语句n;
例如:请编写表程达序式1段实现F判断输入字符的种类: 数字、大写字母、表达小式写2字母或F其他字符。
例 输入两数并判断其大小关系
#include <iostream>
using namespace std;
void main ( )
{
int x, y;
cout<<"Enter integer x, y: ";
cin>>x>>y;
if (x != y)
if (x > y) cout<< "X > Y\n"; 运行结果:
使用switch语句注意事项
(4) 每个case后面必须是“常量表达式”,表达式中不 能包含变量。
例:按成绩分成A、B、C、D、E、F几个等级。
char score;
cout<<" Enter Score: "; cin>>score;
case 后面包含变量
switch (score)
{
case score >= 90 :
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;
第3章 选择结构程序设计
第3章:选择结构程序设计
程序结构
顺序结构 选择结构 循环结构
前面已讨论 本章讨论 下章讨论
控制语句 用来实现一定的控制功能的语句称为控制语句 。C++
语言用控制语句来实现选择结构和循环结构。C++语言有 九种控制语句。可分成以下三类:
分支 循环 辅助控制
if( )~else~ switch for( )~ while( )~ do~while( ) continue break goto return
else 语句2;
语句1
语句2
执行流程:
例如:下面的程序段是用简单的if语句实现输入两个整数, 输出其中的大数。
int a, b, max; cout<<“请输入两个整数:”; cin<<a<<b; max=a; if (max < b)
max=b; cout<<max;
例如:下面的程序段用if…else形式实现输出两个整数中的最 大数。
}
}
}
使用switch语句注意事项 (7) case子句和default子句如果都带有break子句,那
么它们之间顺序的变化不会影响switch语句的功能。
else statement3
内嵌if
if (expr1)
if (expr2) statement1
else
statement2
内嵌if
else
if (expr3) statement3 内嵌if
else
statement4
2.
switch语句(开关分支语句) 一般形式:
执行过程:
switch ( 表达式) { case E1:
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");
}
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以下;
(3) 每个case后面“常量表达式”的值,必须各不相同, 否则会出现相互矛盾的现象。
ics{nwis{}ncctwiaacc>tiaaassct>eessh,caeehb12;(12::a(=::)ibb4){;==bbbb==+*bb22+-;;
1; break; 1b; rebarke;ak; break;
=。
cout<<“x = 0\n”;
cout<<“x = 0\n”;
else
else
cout<<“x != 0\n”;
cout<<“x != 0\n”;
} 运行结果:x = 0
} 运行结果:x != 0
if_else 配对原则
C++语言规定,在缺省{ }时,else总是和它
上面例离: 它最近的未配对的i例f配: 对
else
cout<<"X < Y\n"; Enter integer x, y: 12, 23
else
X<Y
cout<<"X == Y\n";
Enter integer x, y: 12, 6
}
X>Y
Enter integer x, y: 12, 12
X==Y
if语句嵌套: 一般形式:
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";
else
} 运行结果:a = 0
a--; cout<<"a = %d\n";
}
运行结果:a = 1
float a, b = 4.0;
不可为浮点型
cin>>a;
表达式sΒιβλιοθήκη itch ( a ){case 1: b = b + 1; break;
case 2: b = b - 1; break;
}
cout<<“b=“<<b;
使用switch语句注意事项
(2) case后面语句(组)可加{ }也可以不加{ },但一 般不加{ }。
课堂练习
1.编程实现根据输入x的值,输出y。 x和y满足数学分段函数关系如下:
课堂练习
2.编程实现判断成绩的等级。根据输入的成绩, 判断输出成绩的等级:
90分以上(包含90):A; 80-89:B; 70-79:C; 60-69:D 60分以下(不包含60):F。
if语句注意事项
(例1): iiff语(a 句> b后) 面的表达式必例须: i用f (括a >号b括) 起来 。 (2) 表达a+式+;通常是逻辑表达式{或关系表达式,但也 可以是其它任b+何+;表达式,如赋值表达a式++等; ,甚至也可以是 一就个是变假例量。:。e{ls只e 要表达式非零时,表例}达: b式+的+;值就为真,否则 语句,(3例如)#uifis:果在ni(ncaiab要iflgu=f=x=nd想语5>a0e1)m;;在句<0语ei满o的句sspt;足三arce条种ea/所/m表s件形以t>d达其时;式式后的执中的值例行,语永:句e{一所#u远lii总ssnf为组i有en是c(非xlg(的要u0多>nd,执语ae0个行m)<句的ei)os语应sptar句为ceea,单mst则个>d;必 须把这一vifo组}i(db语)mco句语aui句t用n<;({<)“}x括>//起0等”价来; 于组if成(b !一=v0个oa) i语cd=复o句mu0合;t;a<i语<n“句(x)>。0但”;要注 意的是在{ }之后不能再加分号。 { b = 1; (4) 在intixf语= 句0; 中,如果表达式}是i一nt个x =判0断; 两个数是 否相等的关if (系x 表==达0)式,要当心不要将i=f=(写x =成0了) 赋值运算符
例:当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;
相关主题