欢迎来到天天文库
浏览记录
ID:57029259
大小:1.45 MB
页数:72页
时间:2020-07-26
《选择语句课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章C++选择语句学习目标·声明bool类型以及使用比较运算符书写布尔表达式·实训一:编写程序AdditionQuiz·使用单向if语句实现选择控制·实训二:编写游戏程序GuessBirthday·使用双向if语句实现选择控制·使用嵌套if语句实现选择控制·避免if语句中的常见错误·实训三:编程的例子(SubstractionQuiz、BMI)·使用rand()方法产生随机数·使用逻辑运算符(&&、
2、
3、、!)对条件进行组合·使用switch语句实现选择控制·实训四:编程的例子(ComputeTax)·使用条件运算符书写表达式·检查控制运算
4、符优先级和结合方向的规则12.1引言在上一章中,如果我们给变量radius(半径)赋一个负值,那么程序就会输出一个非法的结果。在这种情况下,其实我们是不希望程序再去计算面积的。那么该如何处理这种情况呢?C++提供了选择语句——以便在两个或更多可选择的流程中做出选择。例如,可以用下面的选择语句来处理上述问题:if(radius<0)cout<<"非法的输入!"<5、radius<0”)。本章首先要介绍布尔类型、布尔值、布尔比较运算符和布尔表达式。22.2bool数据类型该如何比较两个值呢?例如,一个半径是大于0、等于0、还是小于0?如表2-1所示,C++提供了六种比较运算符(也叫做关系运算符),用于两个值的比较。3注意关系运算符不仅可以用于数值之间的比较,还可以用于字符之间的比较。这是因为在C++中,字符之间的比较其实就是它们编码之间的比较!所以,编码值较大的字符将大于编码值较小的字符。例如,'a'(97)大于'A'(65)、'c'(99)大于'a'(97)。4例如,下面的代码将显示比较运算符的运算结6、果:cout<<(3<1);//输出0(代表false)cout<<('B'>'A');//输出1(代表true)因为'A'的编码值是65,而'B'为66.cout<<('A'==10);//输出0(false)注意:true和false是C++保留字。5关于C++布尔类型的值1代表true、0代表false。。6下面的代码将布尔值赋值给布尔变量:1)boollightsOn=true;2)intradius=1.25;boolconditionOfRadius=radius>0;警告相等的比较运算符是两个等号“==”,而不是一个等号“=”7、,后者仅指赋值运算符!7【程序清单2-1】关系表达式示例#include#includeusingnamespacestd;intmain(){inta=63,b=48;cout<<“a>b=”<<(a>b)<=b=”<<(a>=b)<8、m("PAUSE");return0;}//运算结果:a>b=1a=b=1a<=b=0a==b=0a!=b=1chara='B',b='A';再观察两个字符值的比较82.3实训:一个简单的数学学习工具假如希望开发一个程序,让一年级学生练习加法。程序随机产生两个一位整数,然后给学生显示诸如:“7+9=?”,学生输入答案后,程序就会显示一个评语。如下运行所示:9下面我们先来设计一下这个程序的算法:1)产生第一个随机数number1;2)产生第二个随机数number2;3)显示题目number1+number2=?,以提示学生输入答案9、;4)读入学生输入的answer值;5)显示关系表达式answer==number1+number2的值(true表示正确、false表示错误)。(程序请见下一页的程序清单2-1)提示:可以调用库函数rand()来产生随机数(0~32767)。10//源程序清单2-1AdditionQuiz.cpp#include#include"time.h"//时间函数time的说明usingnamespacestd;intmain(intargc,char*argv[]){intnumber1,number2,answer;sra10、nd(time(NULL));//初始化随机数发生器number1=rand()%10;//产生第一个随机数number2=rand()%10;//产生第二个随机数cout<
5、radius<0”)。本章首先要介绍布尔类型、布尔值、布尔比较运算符和布尔表达式。22.2bool数据类型该如何比较两个值呢?例如,一个半径是大于0、等于0、还是小于0?如表2-1所示,C++提供了六种比较运算符(也叫做关系运算符),用于两个值的比较。3注意关系运算符不仅可以用于数值之间的比较,还可以用于字符之间的比较。这是因为在C++中,字符之间的比较其实就是它们编码之间的比较!所以,编码值较大的字符将大于编码值较小的字符。例如,'a'(97)大于'A'(65)、'c'(99)大于'a'(97)。4例如,下面的代码将显示比较运算符的运算结
6、果:cout<<(3<1);//输出0(代表false)cout<<('B'>'A');//输出1(代表true)因为'A'的编码值是65,而'B'为66.cout<<('A'==10);//输出0(false)注意:true和false是C++保留字。5关于C++布尔类型的值1代表true、0代表false。。6下面的代码将布尔值赋值给布尔变量:1)boollightsOn=true;2)intradius=1.25;boolconditionOfRadius=radius>0;警告相等的比较运算符是两个等号“==”,而不是一个等号“=”
7、,后者仅指赋值运算符!7【程序清单2-1】关系表达式示例#include#includeusingnamespacestd;intmain(){inta=63,b=48;cout<<“a>b=”<<(a>b)<=b=”<<(a>=b)<8、m("PAUSE");return0;}//运算结果:a>b=1a=b=1a<=b=0a==b=0a!=b=1chara='B',b='A';再观察两个字符值的比较82.3实训:一个简单的数学学习工具假如希望开发一个程序,让一年级学生练习加法。程序随机产生两个一位整数,然后给学生显示诸如:“7+9=?”,学生输入答案后,程序就会显示一个评语。如下运行所示:9下面我们先来设计一下这个程序的算法:1)产生第一个随机数number1;2)产生第二个随机数number2;3)显示题目number1+number2=?,以提示学生输入答案9、;4)读入学生输入的answer值;5)显示关系表达式answer==number1+number2的值(true表示正确、false表示错误)。(程序请见下一页的程序清单2-1)提示:可以调用库函数rand()来产生随机数(0~32767)。10//源程序清单2-1AdditionQuiz.cpp#include#include"time.h"//时间函数time的说明usingnamespacestd;intmain(intargc,char*argv[]){intnumber1,number2,answer;sra10、nd(time(NULL));//初始化随机数发生器number1=rand()%10;//产生第一个随机数number2=rand()%10;//产生第二个随机数cout<
8、m("PAUSE");return0;}//运算结果:a>b=1a=b=1a<=b=0a==b=0a!=b=1chara='B',b='A';再观察两个字符值的比较82.3实训:一个简单的数学学习工具假如希望开发一个程序,让一年级学生练习加法。程序随机产生两个一位整数,然后给学生显示诸如:“7+9=?”,学生输入答案后,程序就会显示一个评语。如下运行所示:9下面我们先来设计一下这个程序的算法:1)产生第一个随机数number1;2)产生第二个随机数number2;3)显示题目number1+number2=?,以提示学生输入答案
9、;4)读入学生输入的answer值;5)显示关系表达式answer==number1+number2的值(true表示正确、false表示错误)。(程序请见下一页的程序清单2-1)提示:可以调用库函数rand()来产生随机数(0~32767)。10//源程序清单2-1AdditionQuiz.cpp#include#include"time.h"//时间函数time的说明usingnamespacestd;intmain(intargc,char*argv[]){intnumber1,number2,answer;sra
10、nd(time(NULL));//初始化随机数发生器number1=rand()%10;//产生第一个随机数number2=rand()%10;//产生第二个随机数cout<
此文档下载收益归作者所有