C++基础-分支条件if语句及其拓展

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dengminghli/article/details/79104791

前言:从这节课开始,接触到的编程知识就要从简单的计算一个表达式或者输出一些图形转入到计算机逻辑运算的范围。这是一个相对轻松,但其实有很容易被忽视的环节,我们在以后的学习中,更多需要模拟计算机的执行过程,从而推导一个结果,而要模拟程序的执行过程,就需要明白程序的执行顺序。而本节课的课程,则是认识程序执行顺序的起步,也是开始锻炼计算机思维的一个里程碑。因此,不管有基础的同学,还是没有基础的同学,都建议通读本文,希望到最后,会给大家一点收获。

简述计算机的三种执行顺序

顺序执行

所谓顺序执行,从C++而言,是从main方法开始,从上往下一句一句执行,这是计算机的基本执行顺序,哪怕我们遇到了其他两种不同类型的执行顺序,尽管我们会优先选择他们,但是其内部仍然保留着顺序执行的规则。

判断执行

我们在日常生活中,经常也会遇到抉择问题,当我们面对两个或多个选择的时候,我们常通过某种方式去帮助我们抉择,比如抛硬币,正的做这件事,反的做那件事。而在程序中,我们也常面临着一些抉择问题,比如数学上的分数,当x位于哪个区间时候,我们将执行哪种运算。而在程序定义中,我们要让计算机根据实际情况进行某种操作的时候,就需要用到判断执行,当我们对某一个条件进行判断,其结果为真时,我们执行该条件下的语句。否则,则不执行。真与假的判断,正是上一节课介绍的布尔类型的实现。已经遗忘的同学可以翻看纪录复习。

循环执行

循环执行的缘故是我们有时候会根据一定的需求去重复执行一段程序代码,而对于要求执行次数比较少的时候,我们可以执行写下来,顺序执行,这没问题,但是当我们的代码行数或者程序的执行次数很大的时候,这么直接写所耗费的时间就会很大了。比如说让计算机输出2次“HELLO WORLD”,其实很简单,直接两句

cout<<"HELLO WORLD"<<endl;
cout<<"HELLO WORLD"<<endl;

简单粗暴,很好写。但如果把这个2次替换成10000次呢?怕是复制粘贴都累得呛,因此我们设计出循环执行顺序,目的就是帮助我们减轻工作量,对一些需要多次执行的语句,我们通过几行代码就可以让他帮我们实现。这点会在以后继续介绍。

关系表达式与逻辑运算

关于关系表达式和逻辑运算,实际上在数学中也有涉及。只是在C++里面,有一些内容是需要注意,不要和数学给弄混的。
在C++中,关系表达式大致分为:

符号 含义 备注
‘>’ 大于
‘<’ 小于
‘>=’ 大于或等于
‘<=’ 小于或等于
‘!=’ 不等于
‘==’ 等于 注意和数学上的等于不一样

C++中的逻辑运算符,主要用到“且(&&)“以及“或(||)”两种,他们的逻辑关系应该是:
且(&&):同真为真,当逻辑表达式两边都为真时,结果为真,其他都为假
或(||):同假为假,当逻辑表达式两边都为假时,结果为假,其他都为真

注意点数学上进行多个条件判断是,可以连续使用关系表达式,比如

a<b<c

但是在C++语法中,是不能连续使用关系表达式的,而应该用逻辑运算符来拆分表达,比如上面的例子应该写成:

a<b&&b<c

上述知识点作为第三课判断语句的基础知识,相当于基石。需要掌握。部分的内容也和第四课有关系。所以建议认真掌握。

言归正传,我们第三课的主要内容是条件判断语句,也就是我们的if语句及其扩展,首先,一个最基本的if语句格式为:

if(要判断的条件){
    条件为真时,要执行的代码
}
在这里,我们要注意的是:要判断的条件 应该是最终为一个布尔值
也就是说,我们可以在里面填写一个布尔值true 或者false,又或
者是关系表达式a<b 又或者是关系表达式和逻辑运算符的结合,比
如a<b&&b<c等。具体情况需要根据实际内容进行分析

讲完基础语句,接下来是拓展语句之if …else语句,格式如下

if(要判断的条件){
     条件为真时执行的程序
}else{
    和条件相反的任何情况下的执行程序
}
注意的是这里的拓展适用于“只有两种可能”的情况
比如要判断一个数是不是奇数,那么则有几种可能?
是奇数,以及不是奇数对不对,此时就可以
用if else 语句 

既然如此,那如果我们除了单一的条件以及只有两种可能的条件之外,是不是还会有多种条件的情况呢?比如判断分数的等级ABCD,是不是每个梯度都有一个范围呢?此时就可以使用多种条件判断语句if ..else …if,其基本格式如下:

if(要判断的条件1){

}else if(要判断的条件2){

}else if(要判断的条件3){
...
}else if(要判断的条件n)
{

}else{

}
注意的是,多层条件判断更需要合乎逻辑
只要需要判断的条件为true,计算机都会执行改行代码
而如果处理不好多个条件中的唯一性问题
就有可能出现两个条件都为true的现象。
此时可能会对程序造成一定的影响,需要注意。

总结:不论是单一的条件还是多层条件判断,实际上还是处理计算机逻辑的问题,而要处理这个问题,就需要思考让条件为真时的情况如何,怎样写关系表达式可以得到我们需要的结果,就是我们锻炼逻辑思维的过程。在接下来的课程中,条件判断语句也是使用比较频繁的语句之一,因此需要熟悉掌握啦

猜你喜欢

转载自blog.csdn.net/dengminghli/article/details/79104791