《c++语言选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《c++语言选择结构程序设计.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第第第3 3 3 3章章章章 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计第第3 3章:选择结构程序设计章:选择结构程序设计 前面已讨论前面已讨论前面已讨论前面已讨论程序结构程序结构程序结构程序结构顺序结构顺序结构顺序结构顺序结构选择结构选择结构选择结构选择结构循环结构循环结构循环结构循环结构本章讨论本章讨论本章讨论本章讨论下章讨论下章讨论下章讨论下章讨论 控制语句控制语句控制语句控制语句 用来实现一定的控制功能的语句称为用来实现一定的控制功能的语句称为用来实现一定的控制功能的语句称为用来实现一定的控制功能的语句称为控制语句控制语句控制语句控制语句 。C+C+C+C+语言
2、语言语言语言用控制语句来实现选择结构和循环结构。用控制语句来实现选择结构和循环结构。用控制语句来实现选择结构和循环结构。用控制语句来实现选择结构和循环结构。+语言语言语言语言有有有有九种控制语句。可分成以下三类:九种控制语句。可分成以下三类:九种控制语句。可分成以下三类:九种控制语句。可分成以下三类:if()else if()else switchswitchfor()for()while()while()dowhile()dowhile()continuecontinuebreakbreakgotogotoreturnreturn分支分支分支分支循环循环循环循环辅助控制辅助控制辅助控制辅助控
3、制本章讨论本章讨论本章讨论本章讨论3.1 3.1 选择结构的程序设计选择结构的程序设计 1.if1.if语句语句语句语句 简单简单简单简单ifififif语句形式语句形式语句形式语句形式 if (if (if (if (表达式表达式表达式表达式)语句语句语句语句;l l 格式格式格式格式:l l 执行流程:执行流程:执行流程:执行流程:语句语句语句语句表达式表达式表达式表达式T例如:请用简单例如:请用简单例如:请用简单例如:请用简单if if语句形式实现输入两个整数,输出其中的语句形式实现输入两个整数,输出其中的语句形式实现输入两个整数,输出其中的语句形式实现输入两个整数,输出其中的大数。大数
4、。大数。大数。if_elseif_elseif_elseif_else形式形式形式形式 if (if (if (if (表达式表达式表达式表达式)语句语句语句语句1;1;1;1;elseelseelseelse 语句语句语句语句2 2 2 2;l l 格式格式格式格式:l l 执行流程:执行流程:执行流程:执行流程:表达式表达式表达式表达式语句语句语句语句1 1 1 1语句语句语句语句2 2 2 2TFF例:请用例:请用例:请用例:请用if_elseif_else形式实现输出两个整数中的最大数。形式实现输出两个整数中的最大数。形式实现输出两个整数中的最大数。形式实现输出两个整数中的最大数。例如
5、:下面的程序段是用简单的例如:下面的程序段是用简单的例如:下面的程序段是用简单的例如:下面的程序段是用简单的if if语句实现输入两个整数,语句实现输入两个整数,语句实现输入两个整数,语句实现输入两个整数,输出其中的大数。输出其中的大数。输出其中的大数。输出其中的大数。int a,b,max;int a,b,max;cout“cout“请输入两个整数:请输入两个整数:请输入两个整数:请输入两个整数:”;cinab;cinab;max=a;max=a;if(max b)if(max b)max=b;max=b;coutmax;coutmax;例如:下面的程序段用例如:下面的程序段用例如:下面的程
6、序段用例如:下面的程序段用ifelseifelse形式实现输出两个整数中的最形式实现输出两个整数中的最形式实现输出两个整数中的最形式实现输出两个整数中的最大数。大数。大数。大数。int a,b,max;int a,b,max;cout“cout“请输入两个整数:请输入两个整数:请输入两个整数:请输入两个整数:”;cinab;cina b)if(a b)max=a;max=a;else max=b;else max=b;coutmax;coutmax;课堂练习课堂练习 编写程序实现汽车超速判断:要求从键盘输编写程序实现汽车超速判断:要求从键盘输编写程序实现汽车超速判断:要求从键盘输编写程序实现汽
7、车超速判断:要求从键盘输入速度,然后判断其是否超速。如果速度超过入速度,然后判断其是否超速。如果速度超过入速度,然后判断其是否超速。如果速度超过入速度,然后判断其是否超速。如果速度超过6060,则显示,则显示,则显示,则显示“超速超速超速超速”,否则显示,否则显示,否则显示,否则显示“正常正常正常正常”。1.if1.if语句语句语句语句 if_else_if if_else_if if_else_if if_else_if形式形式形式形式 if(if(if(if(表达式表达式表达式表达式1)1)1)1)语句语句语句语句1;1;1;1;else if(else if(else if(else i
8、f(表达式表达式表达式表达式2)2)2)2)语句语句语句语句2;2;2;2;else if(else if(else if(else if(表达式表达式表达式表达式3)3)3)3)语句语句语句语句3;3;3;3;else if(else if(else if(else if(表达式表达式表达式表达式n)n)n)n)语句语句语句语句n;n;n;n;else else else else 语句语句语句语句n+1;n+1;n+1;n+1;l l 格式格式格式格式:l l 执行流程:执行流程:执行流程:执行流程:表达式表达式表达式表达式1 1 1 1F表达式表达式表达式表达式2 2 2 2表达式表达式
9、表达式表达式3 3 3 3FTFTTF表达式表达式表达式表达式n n n n语句语句语句语句n n n n语句语句语句语句n+1n+1n+1n+1T语句语句语句语句3 3 3 3语句语句语句语句2 2 2 2语句语句语句语句1 1 1 1例如:请编写程序段实现判断输入字符的种类:例如:请编写程序段实现判断输入字符的种类:例如:请编写程序段实现判断输入字符的种类:例如:请编写程序段实现判断输入字符的种类:数字、大写字母、小写字母或其他字符。数字、大写字母、小写字母或其他字符。数字、大写字母、小写字母或其他字符。数字、大写字母、小写字母或其他字符。例如:下面的程序段是判断输入字符的种类。例如:下面
10、的程序段是判断输入字符的种类。例如:下面的程序段是判断输入字符的种类。例如:下面的程序段是判断输入字符的种类。char c;char c;cout“coutc;cinc;if if(c=0&c=0&c=9)coutThe character is a digitn;cout=A&c=A&c=Z)coutThe character is a capital lettern;cout=a&c=a&c=z)coutThe character is a lower lettern;coutThe character is a lower lettern;else else coutThe charac
11、ter is other charactern;cout 0 if x 0 cout 0”;cout 0”;例例例例:if(x 0)if(x 0)cout 0”;cout 0”;if(a=5)if(a=5)语句;语句;语句;语句;/表达式的值永远为非表达式的值永远为非表达式的值永远为非表达式的值永远为非0 0,所以其后的语句总是要执行的所以其后的语句总是要执行的所以其后的语句总是要执行的所以其后的语句总是要执行的 if(b)if(b)语句;语句;语句;语句;/等价于等价于等价于等价于if(b!=0)if(b!=0)语句;语句;语句;语句;例例例例:if(a b)if(a b)a+;a+;b+;
12、b+;else else a=0;a=0;b=1;b=1;例例例例:if(a b)if(a b)a+;a+;b+;b+;else else a=0;a=0;b=1;b=1;例例例例:#include#include using namespace std;using namespace std;void main()void main()int x=0;int x=0;if(if(x=0 x=0)cout“x=0n”;cout“x=0n”;else else cout“x!=0n”;cout“x!=0n”;例例例例:#include#include using namespace std;us
13、ing namespace std;void main()void main()int x=0;int x=0;if(if(x=0 x=0)cout“x=0n”;cout“x=0n”;else else cout“x!=0n”;cout“x!=0n”;运行结运行结运行结运行结果:果:果:果:x=0 x=0运行结运行结运行结运行结果:果:果:果:x!=0 x!=0 if ()if ()if ()else else else +语言规定,在缺省语言规定,在缺省语言规定,在缺省语言规定,在缺省 时,时,时,时,elseelseelseelse总是和它总是和它总是和它总是和它上面离它最近的未配对的上面
14、离它最近的未配对的上面离它最近的未配对的上面离它最近的未配对的ifififif配对配对配对配对 例例例例:#include#include using namespace std;using namespace std;void main()void main()int a=1,b=-1;int a=1,b=-1;if (a 0)if (a 0)if (b 0)if (b 0)a+;a+;elseelse a-;a-;couta=%dn;couta=%dn;例例例例:#include#include using namespace std;using namespace std;void ma
15、in()void main()int a=1,b=-1;int a=1,b=-1;if (a 0)if (a 0)if (b 0)if (b 0)a+;a+;elseelse a-;a-;couta=%dn;couta=%dn;运行结运行结运行结运行结果:果:果:果:a=0a=0运行结运行结运行结运行结果:果:果:果:a=1a=1l l if_else if_else if_else if_else 配对原则配对原则配对原则配对原则例例例例 输入两数并判断其大小关系输入两数并判断其大小关系输入两数并判断其大小关系输入两数并判断其大小关系#include#include using namesp
16、ace std;using namespace std;void main()void main()int x,y;int x,y;coutEnter integer x,y:;coutxy;cinxy;if(x!=y)if(x!=y)if(x y)cout Yn;if(x y)cout Yn;else coutX Yn;else coutX Yn;else else coutX=Yn;coutX=Yn;运行结果:运行结果:运行结果:运行结果:Enter integer x,y:12,23Enter integer x,y:12,23 XY XY XY Enter integer x,y:12
17、,12 Enter integer x,y:12,12 X=Y X=Yifififif语句嵌套语句嵌套语句嵌套语句嵌套:l l 一般形式:一般形式:一般形式:一般形式:if(expr1)if(expr1)if(expr2)statement1if(expr2)statement1 else statement2 else statement2elseelse if(expr3)statement3if(expr3)statement3 else statement4 else statement4内嵌内嵌内嵌内嵌if if内嵌内嵌内嵌内嵌if ifif(expr1)if(expr1)if(ex
18、pr2)if(expr2)statement1 statement1 else else statement2 statement2内嵌内嵌内嵌内嵌if ifif(expr1)if(expr1)if(expr2)if(expr2)statement1 statement1elseelse statement3 statement3 内嵌内嵌内嵌内嵌if ifif(expr1)if(expr1)statement1 statement1elseelse if(expr3)if(expr3)statement3 statement3 else else statement4 statement4内
19、嵌内嵌内嵌内嵌if if2.switch2.switch2.switch2.switch语句(开关分支语句)语句(开关分支语句)语句(开关分支语句)语句(开关分支语句)l l 一般形式:一般形式:一般形式:一般形式:switch(switch(表达式表达式表达式表达式)case E case E1 1:语句组语句组语句组语句组 1;1;break;break;case E case E2 2:语句组语句组语句组语句组 2;2;break;break;.case E case En n:语句组语句组语句组语句组 n;n;break;break;default:default:语句组语句组语句组语
20、句组 ;break;break;l l 执行过程:执行过程:执行过程:执行过程:switchswitch表达式表达式表达式表达式语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2语句组语句组语句组语句组n n语句组语句组语句组语句组.E E 1 1casecase E E 2 2casecase E En ncasecase defaultdefaultcasecase l l 使用使用使用使用switchswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (1)switch (1)switch (1)switch (1)switch后面的后面的后面
21、的后面的“表达式表达式表达式表达式”,可以是,可以是,可以是,可以是intintintint、charcharcharchar和枚举和枚举和枚举和枚举型中的一种,但不可为浮点型。型中的一种,但不可为浮点型。型中的一种,但不可为浮点型。型中的一种,但不可为浮点型。float a,b=4.0;float a,b=4.0;cina;cina;switch(a)switch(a)case 1:b=b+1;break;case 1:b=b+1;break;case 2:b=b-1;break;case 2:b=b-1;break;cout“b=“b;cout“b=“a;cina;switch(a)swi
22、tch(a)case 1:b=b+2;break;case 1:b=b+2;break;case 2:b=b*2;break;case 2:b=b*2;break;case 1:b=b+2;break;case 1:b=b+2;break;coutb=,b);coutb=,b);l l 使用使用使用使用switchswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (2)case (2)case (2)case (2)case后面语句(组)可加后面语句(组)可加后面语句(组)可加后面语句(组)可加 也可以不加也可以不加也可以不加也可以不加 ,但一,但一,但一,
23、但一般不加般不加般不加般不加 。(3)(3)(3)(3)每个每个每个每个casecasecasecase后面后面后面后面“常量表达式常量表达式常量表达式常量表达式”的值,必须各不相同,的值,必须各不相同,的值,必须各不相同,的值,必须各不相同,否则会出现相互矛盾的现象。否则会出现相互矛盾的现象。否则会出现相互矛盾的现象。否则会出现相互矛盾的现象。switch(i)switch(i)case 1:b=b+1;break;case 1:b=b+1;break;/可加可不加可加可不加可加可不加可加可不加 case 2:b=b-1;break;case 2:b=b-1;break;case 1case
24、 1在前面已使用在前面已使用在前面已使用在前面已使用课堂练习课堂练习1:使用switch语句按照考试成绩的等级打印出百分制分数段。成绩等级对应的分数段如下:A:90-100;B:80-89 ;C:70-79 ;D:60-69 ;F:59以下;l l 使用使用使用使用switchswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (4)(4)(4)(4)每个每个每个每个casecasecasecase后面必须是后面必须是后面必须是后面必须是“常量表达式常量表达式常量表达式常量表达式”,表达式中不,表达式中不,表达式中不,表达式中不能包含变量。能包含变量。能包含变
25、量。能包含变量。例:按成绩分成例:按成绩分成例:按成绩分成例:按成绩分成A A A A、B B B B、C C C C、D D D D、E E E E、F F F F几个等级。几个等级。几个等级。几个等级。char score;char score;cout Enter Score:;coutscore;cinscore;switch(score)switch(score)case score=90:cout=90:cout=80&score=80&score 90:cout B;break;cout=70&score=70&score 80:cout C;break;cout=60&scor
26、e=60&score 70:cout E;break;cout E;break;default:cout F;break;default:couta;cina;switch(a)switch(a)case 1:case 1:case 2:case 2:case 3:b+=2;break;case 3:b+=2;break;case 4:case 4:case 5:case 5:case 6:b-=2;break;case 6:b-=2;break;default:b*=2;break;default:b*=2;break;cout b=“b;cout b=“b;l l 使用使用使用使用swit
27、chswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (6)case (6)case (6)case (6)case后面的后面的后面的后面的“常量表达式常量表达式常量表达式常量表达式”仅起语句标号作用,并仅起语句标号作用,并仅起语句标号作用,并仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始不进行条件判断。系统一旦找到入口标号,就从此标号开始不进行条件判断。系统一旦找到入口标号,就从此标号开始不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上执行,不再进行标号判断,所以必须加上执行,不再进行标号判
28、断,所以必须加上执行,不再进行标号判断,所以必须加上breakbreakbreakbreak语句,以便结语句,以便结语句,以便结语句,以便结束束束束switchswitchswitchswitch语句。语句。语句。语句。void main()void main()char ch;char ch;ch=getch();ch=getch();switch(ch)switch(ch)case Y:printf(Yesn);break;case Y:printf(Yesn);break;case N:printf(Non);break;case N:printf(Non);break;case A:p
29、rintf(Alln);break;case A:printf(Alln);break;default :printf(Yes,No or Alln);default :printf(Yes,No or Alln);运行结果:运行结果:运行结果:运行结果:NoNo/假设输入为:假设输入为:假设输入为:假设输入为:N Nvoid main()void main()char ch;char ch;ch=getch();ch=getch();switch(ch)switch(ch)case Y:printf(Yesn);break;case Y:printf(Yesn);break;case N:p
30、rintf(Non);case N:printf(Non);case A:printf(Alln);break;case A:printf(Alln);break;default :printf(Yes,No or Alln);default :printf(Yes,No or Alln);/假设输入为:假设输入为:假设输入为:假设输入为:N N运行结果:运行结果:运行结果:运行结果:NoNo ALL ALLl l 使用使用使用使用switchswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (7)(7)(7)(7)casecase子句和子句和default
31、default子句如果都带有子句如果都带有breakbreak子句,那子句,那么它们之间顺序的变化不会影响么它们之间顺序的变化不会影响switchswitch语句的功能。语句的功能。#include#include using namespace std;using namespace std;void main()void main()char ch;char ch;cinch;cinch;switch(ch)switch(ch)case Y:cout Yesn;case Y:cout Yesn;break;break;case N:cout Non;case N:cout Non;brea
32、k;break;case A:cout Alln;case A:cout Alln;break;break;default:cout Yes,No or Alln;default:cout Yes,No or Alln;break;break;#include#include using namespace std;using namespace std;void main()void main()char ch;char ch;cinch;cinch;switch(ch)switch(ch)case Y:cout Yesn;case Y:cout Yesn;break;break;defau
33、lt:coutYes,No or Alln;default:coutYes,No or Alln;break;break;case N:cout Non;case N:cout Non;break;break;case A:cout Alln;case A:cout Alln;break;break;l l 使用使用使用使用switchswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (8)case (8)case (8)case (8)case子句和子句和子句和子句和defaultdefaultdefaultdefault子句如果有的带有子句如果有的带有子
34、句如果有的带有子句如果有的带有breakbreakbreakbreak子句,子句,子句,子句,而有的没有带而有的没有带而有的没有带而有的没有带breakbreakbreakbreak子句,那么它们之间顺序的变化可能会影子句,那么它们之间顺序的变化可能会影子句,那么它们之间顺序的变化可能会影子句,那么它们之间顺序的变化可能会影响输出的结果。响输出的结果。响输出的结果。响输出的结果。#include#include using namespace std;using namespace std;int main()int main()char ch;char ch;cinch;cinch;swit
35、ch(ch)switch(ch)case Y:coutYesn;case Y:coutYesn;break;break;case N:coutNon;case N:coutNon;break;break;case A:cout Alln;case A:cout Alln;break;break;default:cout Yes,No or Alln;default:cout Yes,No or Alln;#include#include using namespace std;using namespace std;int main()int main()char ch;char ch;cin
36、ch;cinch;switch(ch)switch(ch)case Y:cout Yesn;case Y:cout Yesn;break;break;default:cout Yes,No or Alln);default:cout Yes,No or Alln);case N:cout Non;case N:cout Non;break;break;case A:cout Alln;case A:cout Alln;break;break;/假设输入为:假设输入为:假设输入为:假设输入为:B B运行结果:运行结果:运行结果:运行结果:Yes,No or AllYes,No or All运行结
37、果:运行结果:运行结果:运行结果:Yes,No or AllYes,No or AllNoNo/假设输入为:假设输入为:假设输入为:假设输入为:B Bl l 使用使用使用使用switchswitchswitchswitch语句注意事项语句注意事项语句注意事项语句注意事项 (9)switch (9)switch (9)switch (9)switch语句可以嵌套。语句可以嵌套。语句可以嵌套。语句可以嵌套。void main()void main()int x=1,y=0,a=0,b=0;int x=1,y=0,a=0,b=0;switch(x)switch(x)case 1:case 1:swi
38、tch(y)switch(y)case 0:a+;break;case 0:a+;break;case 1:b+;break;case 1:b+;break;case 2:a+;b+;break;case 2:a+;b+;break;case 3:a+;b+;case 3:a+;b+;coutna=%d,b=%d;coutna=%d,b=%d;运行结果:运行结果:运行结果:运行结果:a=2a=2,b=1b=1 【例例例例1 1 1 1】写一程序,从键盘上输入写一程序,从键盘上输入写一程序,从键盘上输入写一程序,从键盘上输入1 1 1 1年份年份年份年份yearyearyearyear(4 4
39、4 4位十进制位十进制位十进制位十进制数),判断其是否闰年。闰年的条件是:能被数),判断其是否闰年。闰年的条件是:能被数),判断其是否闰年。闰年的条件是:能被数),判断其是否闰年。闰年的条件是:能被4 4 4 4整除、但不整除、但不整除、但不整除、但不能被能被能被能被100100100100整除,或者能被整除,或者能被整除,或者能被整除,或者能被400400400400整除。整除。整除。整除。程序应该这样来设计:程序应该这样来设计:程序应该这样来设计:程序应该这样来设计:如果能被整除,则余数为,即如果的值等于,如果能被整除,则余数为,即如果的值等于,如果能被整除,则余数为,即如果的值等于,如果
40、能被整除,则余数为,即如果的值等于,则表示能被整除!则表示能被整除!则表示能被整除!则表示能被整除!首先将是否闰年的标志首先将是否闰年的标志首先将是否闰年的标志首先将是否闰年的标志leapleapleapleap预置为预置为预置为预置为0 0 0 0(非闰年),这样仅当(非闰年),这样仅当(非闰年),这样仅当(非闰年),这样仅当yearyearyearyear为闰年时,将为闰年时,将为闰年时,将为闰年时,将leapleapleapleap置为置为置为置为1 1 1 1即可。这种处理两种状态值的方即可。这种处理两种状态值的方即可。这种处理两种状态值的方即可。这种处理两种状态值的方法,对优化算法和
41、提高程序可读性非常有效,请读者仔细体法,对优化算法和提高程序可读性非常有效,请读者仔细体法,对优化算法和提高程序可读性非常有效,请读者仔细体法,对优化算法和提高程序可读性非常有效,请读者仔细体会。会。会。会。3.4 3.4 选择结构程序设计举例选择结构程序设计举例 【例例例例2 2 2 2】写写一程序,从键盘上输入任意两个数和一运算写写一程序,从键盘上输入任意两个数和一运算写写一程序,从键盘上输入任意两个数和一运算写写一程序,从键盘上输入任意两个数和一运算符(符(符(符(+:加,:加,:加,:加,-:减,:减,:减,:减,*:乘,:乘,:乘,:乘,/:除),计算其运算的结果并:除),计算其运算
42、的结果并:除),计算其运算的结果并:除),计算其运算的结果并输出输出输出输出。程序应该这样来设计:程序应该这样来设计:程序应该这样来设计:程序应该这样来设计:首先输入两个数和一运算符号,然后根据运算符号来做首先输入两个数和一运算符号,然后根据运算符号来做首先输入两个数和一运算符号,然后根据运算符号来做首先输入两个数和一运算符号,然后根据运算符号来做相应的运算,但是在做除法运算时,应判别除数是否为相应的运算,但是在做除法运算时,应判别除数是否为相应的运算,但是在做除法运算时,应判别除数是否为相应的运算,但是在做除法运算时,应判别除数是否为0 0 0 0,如,如,如,如果为果为果为果为0 0 0
43、0,运算非法,给出提示信息。如果运算符号不是,运算非法,给出提示信息。如果运算符号不是,运算非法,给出提示信息。如果运算符号不是,运算非法,给出提示信息。如果运算符号不是+、-、*、/则同样是非法的,也应给出提示信息。其它情况,输出则同样是非法的,也应给出提示信息。其它情况,输出则同样是非法的,也应给出提示信息。其它情况,输出则同样是非法的,也应给出提示信息。其它情况,输出运算的结果。运算的结果。运算的结果。运算的结果。本章小结本章小结:习题:习题:习题:习题:P134P134P134P134P140 1P140 1、2 2、3 3、4(1)4(1)、4(4)4(4)、4(5)4(5)语言程序
44、的执行部分是由语句组成的。程序的功能也语言程序的执行部分是由语句组成的。程序的功能也语言程序的执行部分是由语句组成的。程序的功能也语言程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。是由执行语句实现的。是由执行语句实现的。是由执行语句实现的。C C C C语言中的语句可以分为表达式语句、语言中的语句可以分为表达式语句、语言中的语句可以分为表达式语句、语言中的语句可以分为表达式语句、函数调用语句、复合语句、空语句及控制语句五类。函数调用语句、复合语句、空语句及控制语句五类。函数调用语句、复合语句、空语句及控制语句五类。函数调用语句、复合语句、空语句及控制语句五类。关系表达式和逻辑表
45、达式是两种重要的表达式,主要用关系表达式和逻辑表达式是两种重要的表达式,主要用关系表达式和逻辑表达式是两种重要的表达式,主要用关系表达式和逻辑表达式是两种重要的表达式,主要用于条件执行的判断和循环执行的判断。于条件执行的判断和循环执行的判断。于条件执行的判断和循环执行的判断。于条件执行的判断和循环执行的判断。语言提供了多种形式的条件语句以构成选择结构。语言提供了多种形式的条件语句以构成选择结构。语言提供了多种形式的条件语句以构成选择结构。语言提供了多种形式的条件语句以构成选择结构。ifififif语句主要用于单向选择。语句主要用于单向选择。语句主要用于单向选择。语句主要用于单向选择。if-el
46、seif-elseif-elseif-else语句主要用于双向选择。语句主要用于双向选择。语句主要用于双向选择。语句主要用于双向选择。if-else-ifif-else-ifif-else-ifif-else-if语和语和语和语和switchswitchswitchswitch语句用于多向选择。语句用于多向选择。语句用于多向选择。语句用于多向选择。任何一种选择结构都可以用任何一种选择结构都可以用任何一种选择结构都可以用任何一种选择结构都可以用ifififif语句来实现,但并非所有语句来实现,但并非所有语句来实现,但并非所有语句来实现,但并非所有的的的的ifififif语句都有等价的语句都有等价的语句都有等价的语句都有等价的switchswitchswitchswitch语句。语句。语句。语句。switchswitchswitchswitch语句只能用来实现语句只能用来实现语句只能用来实现语句只能用来实现以相等关系作为选择条件的选择结构。以相等关系作为选择条件的选择结构。以相等关系作为选择条件的选择结构。以相等关系作为选择条件的选择结构。