目录
流程控制
顺序结构,选择结构(分支结构),循环结构——任何一个程序都是这三种结构组合而成
选择结构(分支结构):
就是提供判断的依据进行选择
C语言中通过关系运算和逻辑运算构造来作为选择判断的条件
关系运算:
关系运算符: > >= < <= == !=
int n ; n >5;这一个关系表达式结果反应的是一种关系的成立与否,这个表达式是有值的(以0代表假,以1代表真),也是有类型的(以True代表真,以false代表假0)
例:0<a<5 这个表达式在数学中是可以的,但是在C语言中是有结合性的这个表达式应该自左向右结合(0<a)<5,要想实习a大于0小于五,应该使用逻辑运算符&&(与)
逻辑运算
逻辑运算符(&& || !):
&&(与):
格式:表达式1 && 表达式2
运算规则:一假则假
特性:短路特性(截断特性)
当表达式1为假时,结果会直接判断为假,且不会再去运算表达式2
||(或):
格式:表达式1 || 表达式2
运算规则:一真则真
特性:短路特性(截断特性)
当表达式1为真时,结果会直接判断为真,且不会再去运算表达式2
!(非):
运算规则:真假相对
真的非是假,假的非是真
注:系统是如何判断一个量的“真”和“假”?
规定:0(从数值角度看其值为0)为假,非0(从数值角看其值不为0)就是真。
选择语句
if语句
形式1:
语法形式:if (表达式){语句}
语义:如果表达式为真,则执行语句,也表示if语句结束了,程序继续;
表达式为假,表示if语句结束,程序继续往下
流程图:
形式2:
if (表达式){语句1} else{语句2}
语义:若如果表达式为真,执行语句1,语句1执行结束,表示if语句结束,程序继续;
表达式为假,执行语句2,语句2执行结束,表示if语句结束,程序继续往后
流程图:
形式3:
if(表达式1){语句1} else if(表达式2){语句2} else if(表达式3){语句3}...........else if(表达式m){语句m}else {语句 n}
语义:如果表达式1为真,执行语句1,语句1执行结束,表示if语句结束,程序继续;表达式1为假,判断表达式2,表达式2为真,执行语句2,语句2执行结束,表示if语句结束,程序继续;以此类推
流程图:
注意:1.if(表达式)后面不要写分号;2.else(表达式)没有这种写法,else后面没有表达式
3.有单独的if语句,没有单独的else语句,else一定是和某一个if配对的 4.对应的关系:如果有嵌套关系,一般从最里面的else开始找,再往前找if。
条件运算(三目)
表达式1?表达式2:表达式3
语义:判断表达式1,如果是真,则执行表达2,如果是假,则执行表达式3
条件运算符实际上就是if else的简写。
switch语句
switch(表达式)
case常量表达式1:语句1;break;
case 常量表达式2:语句 2;break;
.
..
..
case常量表达式n:语句 n;break;
default :语句n十1;break;
语义:求解表达式用表达式结果与下面case后的常量表达式的结果匹配成功,则执行对应case下的语句,直到遇见break或default后面的“{”才结束程序。
注意:1.switch后面表达式必须是一个整型表达式不能是浮点型;2.case后面是一个整型常量表达式,不能出现变量;3.case,default是做标签的,作为标签可以定位到相应的地方;可以给执行语句起一个标签,标签代表这句话;4.default的位置不一定是放在最后的,但是default最好后面也写上break。
循环结构
C语言的循环语句:
goto(严格意义来说并不是循环语句,叫跳转语句)
while
do-while
do
构成循环的要素:
1.循环的初始条件
2.循环体(反复被执行的代码)
3.使循环趋于结束的操作或语句
4.结束条件
goto:
语法:goto 标签
循环语句:
whilie:
语法:
while(表达式){语句}
语义:判断表达式,如果为真,执行语句,语句执行完之后,继续表达式判断直到表达式为假,while结束,程序继续。
流程图:
注意:while(表达式)后面不要有分号;