C++——分支语句

Posted bwjblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++——分支语句相关的知识,希望对你有一定的参考价值。

  在日常生活中的很多时候,我们要进行判断,比如说:判断1+1是否等于2,今天的主食吃米饭还是馒头,喜欢一个人到底要不要表白......咳咳,总之,需要做判断的情况有很多很多。程序本就是为了解决问题而编写的,自然也有很多需要进行判断的地方。这一节的内容就是学会如何使用分支语句进行判断。

  在学习分支语句前先介绍一个新的数据类型:布尔值(bool)

  在C++中,布尔值只有两种,即真(true)和假(false),然后我们来看一下布尔表达式,布尔表达式是用来判断布尔值为真还是假的表达式,例如:

  1+1==2; //布尔值为真

  1+1!=3; //布尔值为假

  连接两边的叫做关系运算符,有下面几种:(注意等于是两个“=”)

  技术图片

  下面我们学习最简单的单分支if语句

if(boolean-expression)//括号中的是一个布尔值,当其为真时,执行下面statement语句

    statement(s);//要执行的部分,有分号
//注意括号要成对,没有分号

  

  然后我们来学习如何声明布尔值,并在if分支语句中使用它:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 
 7     bool boolean = 1;
 8 //声明一个bool类型的变量boolean,1或其他非0值表示true,0表示false;
 9     if (boolean)//以if关键字开头的分支语句,当括号内为真时,输出true;
10     
11         cout << "true";
12     
13     return 0;
14 

  运行后的结果就是输出一个单词“true”,如果将boolean = 1改成boolean = 0,那么运行的结果是什么都不输出,因为boolean现在的值是false。

  但是如果我们想知道boolean是什么的时候,我们可以使用双分支if-else语句

if(boolean-expression)

    statement(s)-for-true-case;

else //如果布尔表达式不是true,执行下面语句

    statement(s)-for-false-case;

  

  举个例子,如果我们想让用户输入一个圆的半径进而求出圆的面积,那么用户就不能输入小于0的数:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 
 7     const double PI = 3.14159;//定义一个常量PI的数值为3.14159
 8     double radius = 0,area = 0;
 9     //定义double变量radius和area分别为圆的半径和所求的面积
10     cin >> radius;//输入圆的半径
11     
12     if(radius>=0)//判断输入的半径是否合法
13     
14         area = radius*radius*PI;
15         cout << "面积为:" << area;
16     
17     else
18     
19         cout << "无效输入,请输入不小于0的值";
20     
21     return 0;
22 

  如果statement只有一句(像上面else中的情况),可以不写括号,但是并不建议,因为在修改时很容易造成错误。

  然后就是if嵌套语句多分支的if-else语句

   技术图片

  上图中的a就是if嵌套语句,b则是多分支语句,两者表达的意思一样,但是第二种风格要更好一些。

  

  接下来我们来学习逻辑运算符

   技术图片    

 

  以及它们各自的真值表:

  技术图片

 

 

   "!", "&&", "||" 分别表示离散数学中的逻辑非,逻辑与,逻辑或(相当于集合的补,交,并)。

  比如说我要判断一个整数是否大于10且小于等于20:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 
 7     int num = 0;
 8     cin >> num;
 9     
10     if(num>10&&num<=20)
11     
12         cout << "合法输入"
13            
14     else
15     
16         cout << "非法输入";
17     
18     return 0;
19 

本节就到这里结束,如有错误,请各位麻烦指出!

以上是关于C++——分支语句的主要内容,如果未能解决你的问题,请参考以下文章

C++关键字之fallthrough

C语言分支语句与循环语句

分支,数组

逻辑分支

条件分支语句

选择语句(分支语句)——if else