说说刚学会的几个C语句(学习来源:慕课网)
一. for循环。
![](https://img.haomeiwen.com/i7259721/af5c895f028ba488.png)
它的执行过程如下:
第一步:执行表达式1,对循环变量做初始化;
第二步:判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;
第三步:执行表达式3;
第四步:执行for循环中执行代码块后执行第二步;
第五步:循环结束,程序继续向下执行。
其执行过程可用下图表示:
![](https://img.haomeiwen.com/i7259721/5bc21dc14602bb73.png)
例子1.
![](https://img.haomeiwen.com/i7259721/47862cd8913f6036.png)
它的运行结果为:
![](https://img.haomeiwen.com/i7259721/fd4af66574f9fa27.png)
注意:
1、for循环中的“表达式1、2、3”均可可以缺省,但分号(;)不能缺省。
2、省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。
3、省略“表达式2(循环条件)”,不做其它处理,循环一直执行(死循环)。
4、省略“表达式3(循环变量增量)”,不做其他处理,循环一直执行(死循环)。//死循环时可以用break解决。
5、表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。
6、表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分割。
7、各表达式中的变量一定要在for循环之前定义。
二、if循环
if循环主要分为四种类型:
简单if语句、简单if-else语句、多重if-else语句、嵌套if-else语句
1.简单if语句
![](https://img.haomeiwen.com/i7259721/befd9301a94100c0.png)
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 其过程可表示为下图:
![](https://img.haomeiwen.com/i7259721/1f27e2ea4a64e187.png)
看一个例子:
![](https://img.haomeiwen.com/i7259721/241bc57e5a0990f0.png)
其运行结果为:
![](https://img.haomeiwen.com/i7259721/ae02924c057af465.png)
注意:if()后面没有分号,直接写{}
2、简单if-else语句
![](https://img.haomeiwen.com/i7259721/3e33daa3b020d3f3.png)
其语义是:如果表达式的值为真,则执行代码块1,否则执行代码块2。其执行过程可表示为下图:
![](https://img.haomeiwen.com/i7259721/0c430f572e95cd1a.png)
看一个例子:
![](https://img.haomeiwen.com/i7259721/e08f476126eaf1ba.png)
![](https://img.haomeiwen.com/i7259721/0cb6af112b13c215.png)
注意:同if()一样,else后面也没有;而是直接{}
3、多重if-else语句
简单if=else有两个代码执行块,二多重if-else语句有多个执行代码块,其它内容基本一样。
但注意一点,当某一条件为真的时候,则不会向下执行该分支结构的其他语句。
![](https://img.haomeiwen.com/i7259721/1ac52de23addb7b2.png)
4、嵌套if-else语句
嵌套if-else语句的意思就是在if-else语句中再写if-else语句。
![](https://img.haomeiwen.com/i7259721/d61b0c76cd6409b8.png)
![](https://img.haomeiwen.com/i7259721/7508ffd3e19ee9b0.png)
![](https://img.haomeiwen.com/i7259721/82031bd6abb26704.png)
if语句的总体意思就是:现在有一个或多个选择摆在你面前,你的条件能满足什么选择你就得到什么结果。
三、while语句与do-while语句
while语句
![](https://img.haomeiwen.com/i7259721/58010c20a3d9542a.png)
![](https://img.haomeiwen.com/i7259721/82ef74751a5530a7.png)
![](https://img.haomeiwen.com/i7259721/bcc1430f97c73b77.png)
![](https://img.haomeiwen.com/i7259721/51151f0969c9dcd5.png)
do-while语句
![](https://img.haomeiwen.com/i7259721/886de9ee49b262ab.png)
![](https://img.haomeiwen.com/i7259721/5181eb1501111338.png)
![](https://img.haomeiwen.com/i7259721/c3159bacd1314772.png)
![](https://img.haomeiwen.com/i7259721/4349a8e5653e5e61.png)
注意:使用do-while结构语句时,while括号后必须有分号。
总的来说,while语句与do-while语句就像一对性格完全相反的双胞胎,while语句时先判断后执行,如果真则执行并循环直到判断为假并结束(有点像哥哥:理性),do-while语句时先执行后判断,如果真则执行并循环,直到判断为假并结束(像弟弟:感性)。
四、break语句与continue语句
![](https://img.haomeiwen.com/i7259721/088a69eb2ae0e9eb.png)
使用break语句时注意以下几点:
1、在没有循环结构的情况下,break不能用在单独的if-else语句中。
2、在多层循环中,一个break语句只跳出当前循环。
与break语句相似的是continue语句。
![](https://img.haomeiwen.com/i7259721/944e0d9fec721aa4.png)
continue语句的作用是结束本次循环开始执行下一次循环。
break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。
五、switch语句(有点类似语多重if-else-语句)
![](https://img.haomeiwen.com/i7259721/89fc6e46a9609895.png)
![](https://img.haomeiwen.com/i7259721/95becb517213d05a.png)
![](https://img.haomeiwen.com/i7259721/29923ed2db6fef63.png)
在使用switch语句时还应注意以下几点:
1、在case后的各常量表达式的值不能相同,否则会出现错误。
2、在case子句后如果没有break;会一直往后执行一直到遇到break;才会跳出switch语句。
3、switch后面的表达式语句只能是整型或者字符类型。
4、在case后,允许有多个语句,可以不用{}括起来。
5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
6、default子句可以省略不用。
六、goto语句(C中的传送门)
![](https://img.haomeiwen.com/i7259721/e515a620fdb16ce8.png)
其中语句标号是一个标识符,该标识符一般用英文大写并遵守标识符命名规则,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。
goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在特定情况下,可以使用goto语句来提高程序的执行速度,所以还是少用为妙。其中语句标号是一个标识符,该标识符一般用英文大写并遵守标识符命名规则,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。
goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在特定情况下,可以使用goto语句来提高程序的执行速度,所以还是少用为妙。
结束语:作为c中几种常见的语句类型,学起来并不难,运用起来也相对简单,但学习中路漫漫无止境,一起努力吧!!
写于2017.8.26