这一节我们就来简述一下C语言的三大结构的逻辑情况。
算法与流程图
算法
算法是为了解决问题而执行的一些列步骤。以下示例描述了一个算法:有序进站--接受检查--自助购票--文明刷卡--按线换车--有序乘降--刷卡出站--文明乘梯
在那汇总以上步骤就能安全的乘坐北京地铁,所以算法实际上和编程时无关的,他们是问题解决方式的描述。
一个程序应包括对数据和对数据处理的描述
对数据的描述,及数据结构
对数据处理的描述,即计算机算法,算法是为解决问题而采取的方法和步骤,是程序的灵魂
流程图
流程图是描述算法的有力武器:以下是流程图的符号
初识三大结构
无论是简单的算法或者是任何复杂的算法,都是由以下三大结构构成的:
- 顺序结构
- 选择结构
- 循环结构
顺序结构
顺序结构是最为简单的结构,我们之前学习的程序也都是顺序结构的,顺序结构就是从上到下,一条一条语句执行。
选择结构
选择结构:是当满足一定条件的时候,执行某一段语句。满足条件或者不满足条件用真假来描述。例如:
if(表达式)//表达式值为假便不执行语句序列,为真便执行语句序列
{
语句序列
}
循环结构
循环结果像必于选择,结构,也是满足一定的条件,就执行某一些语句,不同的是,它执行完之后,还会再回来,判断条件满足不满足,又要执行一遍语句序列。
while()
{
//语句序列
}//执行完语句序列,又会去判断while中的表达式的真假。
![循环结构]11111111111111111111111111111111
现实世界中很多事情都是,无法分辨对错,也无法分辨真假,但是再计算机程序中,真假就是如此的清晰简单。
关系运算符
再C语言中,关系运算符的作用便是用来判断两个操作数的大小关系,常用于if语句的判断或者循环语句中的判断。
运算符 | 表示 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
例子:
7>5
真7>=5
真7!=5
真
注:关系运算符常用于两个值的比较,其比较结果是一个逻辑值。(1或0)
若满足条件,结果为真,否则为假,其返回1或0。
逻辑运算符
1.与条件运算符一样,逻辑表达式的值也为1或者0,用以表示真或者假。
逻辑运算 | 表示 | 说明 |
---|---|---|
&& | 与 | 当且仅当两个运算量的值都为"真"时,运算结果为“真”,否则为“假” |
‖ | 或 | 当且仅当两个运算量的值都为"假"时,运算结果为“假”,否则为“真” |
! | 非 | 当运算的结果为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真” |
2.在一个逻辑表达式中包含多个逻辑运算符
例如:
!a&&b||x>y&&c
按以下优先次序:
1.!(非)->&&(与)->||(或)
,即"!"为三者最高的。
2.逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算数运算符。
3.再逻辑表达式的求解中,并不是两边的表达式都被执行,只是再必须执行下一个表达式才能求出表达式的解:
&&
与||
均为短路表达式&&
当确认左边表达式为假,则不再判断右边的表达式||
当确认左边表达式为真,则不在判断右边的表达式
例如:
1.a>b && (a||b)>=!(c<d+1)-1
2.a<b || (a||b)>=!(c<d+1)-1
bool类型
再C/C++中有一个类型的变量时专门来存储逻辑结果的,称之为bool类型。虽然我们可以使用int类型变量存储上面的运算符得到的结果,但是专业的人做专业的事,在需要存储逻辑结果的时候,我们尽量使用bool类型。