C语言-分支和循环语句

目录

分支语句

        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

在我们的知识体系中,是不成立的,返回值是0.但机器从左到右运算这个表达式,先判断i

i

上面式子中,i < j返回0或1,所以最终是0或1与变量k进行比较。如果想要判断变量j的值是否在i和k之间,应该使用下面的写法。1i < j && j < k

C 语言中,0表示假,所有非零值表示真。


逻辑操作符:

逻辑操作符提供逻辑判断功能,可以用于多个关系表达式之间,用于构建更复杂详细的表达式。

主要有3个运算符

!        逻辑取反运算符:如果一个如果表达式为真,则!表达式为假C语言-分支和循环语句_第1张图片

&&        与运算符:当两边表达式均为真,整体才为真,否则为假,&&是一个双目操作符C语言-分支和循环语句_第2张图片

||        或运算符:或者,两边表达式有一个为真,整体就为真C语言-分支和循环语句_第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语句:
C语言-分支和循环语句_第4张图片

switch语句:

C语言-分支和循环语句_第5张图片
*每一个case语句中的代码执行完成后,需要加上break,才能跳出这个switch语句。​

break的作用是跳出这一循环,也就是一个{},如果不带break,那当case 1输出之后会接着执行case 2的内容

当switch括号内的值在case包含的值之外的时候会陷入死循环,这时候就需要default来跳出语句,他的作用就是充当switch与case的值不匹配的时候的分支。




循环语句


        while循环

while的语法结构与if相似

语法结构是

while(表达式) {
代码块;
}

是先判断表达式是否真,再执行循环代码块。而do-while的基础语法结构是

do{
代码块;
}while();

是先执行代码块,再判断表达式是否为真,也就是说代码块至少要执行1次

C语言-分支和循环语句_第6张图片



        for循环

for(表达式1;表达式2;表达式3){
代码块;
}

表达式1 用于循环变量的初始化

​表达式2 用于循环结束条件的判断

表达式3 用于循环变量的调整

C语言-分支和循环语句_第7张图片

while和for这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;



        循环控制语句(break,continue)

在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了break和continue两个关键字,就是应用到循环中的。

break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环,继续往后执行。•continue的作用是跳过本次循环continue后边的代码,在for循环和while循环中有所差异的。

continue在for循环:

C语言-分支和循环语句_第8张图片

在for循环中continue的作用是跳过本次循环中continue后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环无需再执行后续某些操作的时候,就可以使用continue来实现


        goto语句充当循环

goto语句可以实现在同一个函数内跳转到设置好的标号处。

C语言-分支和循环语句_第9张图片

在多层循环的代码中,如果想快速跳出使用goto就非常的方便,不必再使用break一层层往外边跳

*goto语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们的建议是能不用尽量不去使用

你可能感兴趣的:(C语言学习专栏,c语言,开发语言)