目录
分支语句
if语句
关系操作符:
逻辑操作符:
switch语句
循环语句
while循环
for循环
编辑
循环控制语句(break,continue)
goto语句充当循环
分支语句
if语句
if语句的括号内需要写条件表达式,通常是一个关系运算符的结果,如>、<、==等。如果表达式的结果为真(在C语言中,非零值被视为真),则执行大括号{}内的代码块。{}内可以写多行代码。如果只写1行代码,则不需要{}
以下是if语句的多种写法
1:
if(条件){// 条件为真时执行的代码
}2;
if(条件){// 条件为真时执行的代码
}
else(条件){// 条件为真时执行的代码
}3:多分支
if (expression1) {// 如果expression1为真,则执行这里的代码
} else if (expression2) {// 如果expression1为假且expression2为真,则执行这里的代码
} else if (expression3) {// 如果expression1为假、expression2为假且expression3为真,则执行这里的代码// ...
} else {// 如果所有表达式都为假,则执行这里的代码
}
以下是条件表达式一般是关系表达式,表达式中会使用关系操作符,符号两边可以是变量或表达式,也可以用于判断变量是否等于一个常数。
关系操作符:
> 大于运算符
< 小于运算符
>= 大于等于
<= 小于等于
== 相等运算符 *注意,一个等号是赋值,两个等号才能判断是否相等
!= 不相等运算符
使用关系操作符的表达式称为关系表达式,关系表达式通常返回0或1,表示真假。关系表达式常用于if或while结构。
需要注意的是,由于电脑没我们想象的那么聪明,所以多个关系运算符不宜连用。例如:
i<j<k,如果假设i=2,j=3,k=2
在我们的知识体系中,是不成立的,返回值是0.但机器从左到右运算这个表达式,先判断i<j为真
i<j就被替换成了1,于是接下来机器会判断1<k是否也成立,结果成立,返回值是1。于是就出现了错误。
上面式子中,i < j返回0或1,所以最终是0或1与变量k进行比较。如果想要判断变量j的值是否在i和k之间,应该使用下面的写法。1i < j && j < k
C 语言中,0表示假,所有非零值表示真。
逻辑操作符:
逻辑操作符提供逻辑判断功能,可以用于多个关系表达式之间,用于构建更复杂详细的表达式。
主要有3个运算符
! 逻辑取反运算符:如果一个如果表达式为真,则!表达式为假
&& 与运算符:当两边表达式均为真,整体才为真,否则为假,&&是一个双目操作符
|| 或运算符:或者,两边表达式有一个为真,整体就为真
switch语句
除了if语句外,C语言还提供了switch语句来实现分支结构。switch语句是一种特殊形式的 if...else结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用、可读性更好的形式
switch (expression) { case value1: statement case value2: statement default: statement}
上面代码中,根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。
•switch后的expression必须是整型表达式•case后的值,必须是整形常量表达式
接下来展示一组代码,以便于学习:
if语句:
switch语句:
*每一个case语句中的代码执行完成后,需要加上break,才能跳出这个switch语句。
break的作用是跳出这一循环,也就是一个{},如果不带break,那当case 1输出之后会接着执行case 2的内容
当switch括号内的值在case包含的值之外的时候会陷入死循环,这时候就需要default来跳出语句,他的作用就是充当switch与case的值不匹配的时候的分支。
循环语句
while循环
while的语法结构与if相似
语法结构是
while(表达式) {
代码块;
}
是先判断表达式是否真,再执行循环代码块。而do-while的基础语法结构是
do{
代码块;
}while();
是先执行代码块,再判断表达式是否为真,也就是说代码块至少要执行1次
for循环
for(表达式1;表达式2;表达式3){
代码块;
}
表达式1 用于循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整
while和for这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;
循环控制语句(break,continue)
在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了break和continue两个关键字,就是应用到循环中的。
•break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环,继续往后执行。•continue的作用是跳过本次循环continue后边的代码,在for循环和while循环中有所差异的。
continue在for循环:
在for循环中continue的作用是跳过本次循环中continue后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环无需再执行后续某些操作的时候,就可以使用continue来实现
goto语句充当循环
goto语句可以实现在同一个函数内跳转到设置好的标号处。
在多层循环的代码中,如果想快速跳出使用goto就非常的方便,不必再使用break一层层往外边跳
*goto语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们的建议是能不用尽量不去使用