C语言中的分支和循环语句

本文介绍了C语言中的分支语句(if,else,if嵌套,switch)以及循环语句(while,for,dowhile),包括它们的语法、用法示例和break,continue的关键字。作者强调了结构清晰的重要性,并表示欢迎读者纠错

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、分支语句

1、if语句

1.1、if

语法格式如下:

a5ca3cd835ad4644a0a35af8f63f2fe1.png

注意点:

1、在C语言当中表达式成立的话为“非0”,若不成立则表达式就为“0”,而只有当表达式为“非0”时if语句才会执行,否则不会执行该if语句。

如下:图中应为if里面的a是0,所以控制台没有打印任何东西;而当a的值为“非0”是,控制台就会打印相应的值。

b031e4e10c33437b94af79ace304afca.png

                                              

9b2a0f9243ea491592ec379c0a63f0aa.png

                                              

2、在C语言中if语句中,如果表达式成立的话,默认只会执行if下面一句语句,如果想要执行多条语句,则需要用“{}”把需要执行的语句括起来,为了尽可能在写代码的时候不出现bug,在平时写代码用if语句的时候,不论if语句下面有多少条要执行的语句都建议用“{}”括起来。

1.2、else

语法格式如下

1a7276cc71654fb586932b3c5ec428ad.png

知识点:

1、当我们要判断一个人是否成年只需要通过一个标准:是否大于18岁;而且只有两种情况:成年和未成年。我们写代码是就可以用“if......else”了,代码如下:

835cca8e834a4d699d7ce6abc70b046e.png

2、“else”总是和与它相距最近的“if”相匹配。

1.3、if语句中的嵌套

我们在写代码的时候当遇到条件很多的时候就需要用到if嵌套

比如:考试的时候让你判断分数的等级,小于60分为不及格,在60~75之间为合格,在75~85之间为良好,85以上则为优秀,代码如下:

49b5e63d8cd84026b995268f5b2253ad.png

2、switch 语句

除了if语句我们还可以用switch语句来实现分支,语法结构如下:

55215aaeec194da8be49021f8fb321db.png

if语句和switch语句在结构上有很大的差距,但是在功能上,却有着异曲同工之妙,我们可以根据需求使用哪种更方便来选择使用“if”还是“switch”。

比如我们分别用if和switch来实现输入一个数字判断是星期几?

if语句:

3c44f683d08d4f92bd6c84f51fc0fe6b.png

switch语句:

b5d69145cf27403abce6ec0b431325ca.png

在这种情况相比之下使用switch语句就比使用if语句简洁

2.1、break

switch语句也是属于分支语句,要使用break才会跳出switch语句,如果没有break,

上面的代码的结果如下:

f88412d5c4674fe4b9f0e5258ddc838f.png

        只有加上break上面代码才可以正常运行:

00542842cb6c4c73900b8b4978e57ff0.png

2.2、default

我们再上面的代码进行进一步的思考,如果我输入的不是case后面的1~7,而是其它不能和case匹配的数字呢?这是就需要使用default来解释了,如下面的代码:

c4358901286b4bf3a8fccca3597965dc.png

二、循环语句

1、while循环

while循环是C语言三种循环的一种,其语法结构和if语句结构相似。

e7bf3ff668c245a9b669046d21abb180.png
当表达式满足条件的话,就会进入该while语句。
具体运用如下:
运用while循环打印1~10之间的数值:
bde3fd1c2d024a219b9ee19632fc15ec.png

2、for循环

32498bf037194b10a21d9dc5e19b0d63.png

exp1为变量的初始化;

exp2为进入该循环的条件;

exp3为变量的调整。

运用for循环打印1~10之间的数值:

660297737587402c989af54b67ad924a.png

从以上的例子我们发现,虽然while循环和for循环的功能都差不多,但是两者的结构形式却有差异,while循环的初始化、判断条件、变量的调整这三部分的位置比较分散,而for循环的都集中在一起,从结构形式上来说for循环的结构相对来说更优,而且如果代码很长的情况下使用while循环会给我们写代码增加难度,在以后书写代码的过程中根据实际情况来使用while循环和for循环。

3、break和continue

break和continue都是用在循环语句中的关键字,当我们需要提前退出循环时就需要使用他们,break的功能是跳出整个循环,continue的功能是跳出本次循环在continue后面的代码。

我们还是用循环语句打印1~10举例来说明:

6687200b89934ab583ec55d7c1930e3a.png

在上面的代码中,当a=6这个条件满足时就执行了break,不在打印后面的6~10。

184f03e6f74b426c892bdffc98699848.png

而当我们把上述代码中的break替换成continue之后,结果又不一样了,这是因为当程序执行到continue时,只是跳出了当a=6时的这个循环,并没有向break那样跳出整个循环。

4、do while循环

先看到do while循环的语法结构:

1120b036d145417e81cda6ce06f7655b.png

在进入到do while循环的时候,循序无论如何都会把do里面的语句先执行一遍,再来判断是否满足条件:

c9c11d1990604f3cbc9c617f6b2c4ebd.png

在上面的代码中,虽然变量a不满足表达式,但是还是执行了printf。

上面就是我对分支和循环的理解啦~

由于本人在编程和写博客两个方面都是新手,在文章中可能会出现错别字、逻辑不通、内容不全面等问题,如果大家在阅读的过程中发现了错误,欢迎大家指正哦,谢谢大家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值