大家好!我是保护小周ღ,本期为大家带来的是C语言分支语句循环语句,详细的介绍了 if()、 switch() 这两种分支语句,以及while()do while ()for(),三种循环语句,还有两个控制语句的用法:breakcontinue;保姆级讲述包您一看就会,快来试试吧~

目录

一、什么是语句?

二、分支语句(选择语句)

2.1 if() 语句

2.1.1 if() 语句的语法结构

2.1.2 复合语句

2.2 switch 语句

2.2.1 switch 的语法结构

2.2.2 default子句

​编辑

三、循环语句

3.1 while 语句

3.1.1 控制语句break;

3.1.2 控制语句 continue;

3.2 do while 语句

3.3 for 语句

3.3.1 不一样的 for


一、什么是语句?

C语言语句可以分为以下五类:

  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
  4. 复合语句
  5. 空语句

控制语句用于控制程序的执行流程,用来实现程序的各种结构方式。

C语言是结构化的程序设计语言,几乎所有的C代码都是由以下三种结构组成的。

  1. 顺序结构
  2. 选择结构
  3. 循环结构

C语言有9种控制语句,可以分为以下三类:

  1. 条件判断语句也叫分支语句:if 语句、switch 语句;
  2. 循环语句:for 语句、while 语句、do while 语句;
  3. 转向语句:break 语句、continue 语句、return 语句、goto 语句。

二、分支语句(选择语句)

2.1 if() 语句

不知道大家有没有用过Excel 表里面的 if 函数,if(条件,表达式1,表达式2),如果条件成立,则执行表达式1,如果条件不成立,则执行表达式2。而且,if 语句里,也可以嵌套 if 语句。

举个例子:

用通俗一点的话来讲就是,如果成绩<60分,执行表达式1,输出“不及格”,如果成绩>=60,就要执行表达式2,这时候表达式2是嵌套的 if 判断语句,所以又执行一下判断,此时要处理的数据范围是 >=60,如果,成绩小于80,此时数据范围就是60<=成绩<80,执行第二个if 语句表达式1,输出“良好”,如果成绩在>=60,的情况下且不小于80,则执行执行第二个if 语句表达式2,输出“优秀”

C语言当中 if() 语句大同小异,逻辑是相似的,在 if() 语句中,条件:0为假,非0为真条件成立,为真,执行表达式1;条件不成立,为假,执行表达式2


2.1.1 if() 语句的语法结构

语法结构:
if (表达式)
   语句

if (表达式)
   语句1

else

 语句2;

这个else可以理解为否则

多分支(if的嵌套)

if (表达式1)

语句1

else if (表达式2)

   语句2

else

语句3

else的匹配:else是和它离的最近的 if 匹配的。

 例1:

 我们还可以这样写:

例2:经典的 if语句的嵌套

给大家解释一下:什么是复合语句,控制语句break;随后在循环语句中会给大家讲。


2.1.2 复合语句

如果条件成立,要执行多条语句,则使用复合语句,这里的一对 { } 就是一个代码块(复合)

复合语句从形式上看是多个语句的组合,但在语法意义上它是一个整体,相当于一条语句,所以凡是可以用简单语句的地方都可以用复合语句来实现。

作用:

1、在程序设计中复合语句被看成是一条语句,而不是多条语句。

2、在只能使用单条语句的地方可以执行多条指令。

3、这里只能写一条指令,而用复合语句就可以满足一条指令的限制,而执行多条指令。


举个例子:

如果你好好学习,以后可以找到好offer,走上人生巅峰,如果你不好好学习,毕业就等于失业,此时如果你家里有80套房子,可以继承家业,否则回家种地吧。

首先博主跟大家介绍一个函数 strcmp() 把这个函数弄明白了,咱们举得例子才能玩的转。

strcmp,是C/C++的库函数,在string.h 头文件里,作用是比较两个字符串。

strcmp()函数一般形势:strcmp(字符串1,字符串2);

设这两个字符串为 str1,str2,则strcmp(str1,str2);

若str1 ==str2,则函数返回值为0;

若str1 < str2(字符串长度),则函数返回值为负数;

若str1 > str2,则函数返回值为正数;

 例3: 利用多分支判断,(if嵌套)


2.2 switch 语句

switch语句也是一种分支语句。 常常用于多分支的情况。

switch 有一种说法是叫它开关函数,为什么叫开关函数呢,因为他的执行流程就像遍历一排开关,找到符合条件的开关,就打开开关,通电了之后对应的灯就亮了(语句就执行了),但是呢,如果我们不想继续遍历开关了,在灯使用完之后,就要把整个电路断电,break;终止。如果没有找到符合条件的开关,我们也有相应的操作,这个之后讲。

switch 语句中的break则是跳出函数体,不继续执行该case后面的语句(默认继续执行)。

2.2.1 switch 的语法结构

switch()里面的表达式必须是整型表达式。通俗一点可以理解为,整个表达式的结果为整型。

case 后面的必须是整型常量表达式,1,2,3等,不允许是变量。

switch() 语句支持嵌套,就像 if 语句一样,case 执行语句时语句可以是另一个switch()语句。

switch()语句中,break;就像是灵魂,搭配break使用才能实现真正的分支;

 举个例子:

实现输入一个成绩,判断成绩的级别,不及格,及格,良好,优秀,非常优秀。

#include<stdio.h>int main()
{int report = 0;//成绩printf("请输入一个成绩判断级别:");scanf("%d",&report);//那么怎么我们怎么设置条件呢,switch (report/10)//整型表达式,“条件”{case 1: case 2: case 3:         case 4: case 5: printf("成绩不及格\n下次好好努力"); break;//只有遇到break;以后case 判断才会停下来,默认是继续执行的//所以case 1:case 2:……可以跟case 5:共用一个printf(),case 6:case 7: printf("已及格,成绩良好,继续努力");break;case 8: printf("已及格,成绩优秀,继续保持");break;case 9:
//这个有问题,因为101,102,103,等数字/10之后都变成10了,满分则是100分,所以switch()函数也有不方便的地方。
//使用if语句,我们就则可以精准的控制数据范围。case 10:printf("已及格,成绩非常优秀");}return 0;
}

是不是有点复杂,我感觉比 if 语句实现相同的功能还要麻烦。


2.2.2 default子句

如果表达的值与所有的case标签的值都不匹配怎么办?程序也并没有错,只是所有case语句都会跳过,什么也不会发生,如果我们需要在所有case标签没有匹配值的情况下给出一些提示,
例如:输入错误,case 不匹配,请重新输入。就给人一个提示。

这个时候我们就可以使用 default:

default:子句的位置,可以写在任何一个case标签可以出现的位置,也在开头也可以,最后也可以,当 switch 表达式的值不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。 所以,每个switch语句中只能出现一条default子句。

每个switch 语句中最好写入一条default 子句,最好在子句后面再加上一个break;



三、循环语句

我们通过学习了 if 语句知道了,当条件满足时,执行 if 后面的“语句”。但是语句只能执行一次。

我们生活中有很多事情需要我们重复判断执行,那在程序中我们应该怎么办呢?

C语言中给我们引入了 while,do while ,for  语句可以实现循环。

关于循环语句,打个比方,就像是汽车上的轮胎,你挂挡、给油,发动机打火,轮胎就可以一直重复的旋转(循环)。当然想让车走什么路,去哪里,干什么,取决于开车的人,轮子老老实实的转。

当你过个马路等红绿灯停下来时,离合,空挡、踩刹车,发动机都不需要熄火,绿灯亮,挂挡、给油车就可以直接跑,轮子继续转(continue),

哎呀,开着开着你发现轮胎居然漏气了,你想了一下,门前有一堆碎玻璃,应该给轮胎划了一道口子,导致呢轮子转着转着就漏气了,为了保证安全,你就停车熄火了(break

如果你已经到达目的地,不想让轮子转了,刹车、发动机熄火,轮子就不转了(条件终止循环 或break;

当然你也可以让车子不停下来,一直跑,轮胎一直转,会有什么结果?(死循环

最后呢,油没了,车子就不跑了,轮子就不转了。(内存耗尽,程序挂掉


3.1 while 语句

while 语句的语法结构:

while(表达式)

循环语句;

while()里面的表达式往往是循环的终止条件,条件成立为真,不成立为假,0为假,非0为真。

关于终止循环我们也可以使用控制语句break;来实现。

循环语句,我们可以使用复合语句,达到循环一段程序的目的。


 例1:

 我们还可以这样写:

break就是中止的意思,常常用来终止循环,但是外层如果还有循环,是不能跳出外层循环范围的。只能终止包含break的循环


例2://在屏幕上打印1-10的数字。


3.1.1 控制语句break;

break就是中止的意思,常常用来终止循环,但是外层如果还有循环,是不能跳出外层循环范围的。只能终止包含break的循环,switch中的break则是跳出函数体,不继续执行该case后面的语句(默认继续执行)。break 语句终止最近的封闭 do while、 for、 switch, while 语句的执行。循环中的break是用于永久终止循环的。

这段代码的含义就是循环打印1,2,3,4,5这五个数,打印5次。

我们把内部循环加入break;试一试;


3.1.2 控制语句 continue;

continue 在while循环中的作用就是: continue 是用于终止本次循环的(一次),也就是本次循环中continue 后边的代码不会再执行, 而是直接跳转到while语句的判断部分,条件成立,继续循环,条件不成立,就终止循环。

例1:

由上例可知,当 i 等于3 的时候 if 语句条件成立,执行了continue,跳出本次循环,continue 后边的代码没有再执行了。所以没有打印 3。但是跳出本次循环后,循环条件成立,还是继续执行了循环。直到循环条件不成立为止。


例2:

为什么这次 3 后面的数没有打印呢,还是相同的道理, 当i 等于3时,if 语句条件成立执了continue; 跳出来本次循环,所以后面的 i 没有执行自增,所以 i 又以 3的值重复循环,然后跳出循环,结果陷入了死循环,所以 3 后面的值没有打印。这一点大家一定要注意。


3.2 do while 语句

这个一看啊,就是while的亲戚,用法也八九不离十,咱就不多介绍了,

do while 就一句话,不管三七二十一,先执行一次循环,再来判断条件是否成立。

所以使用do while 根据实际使用的场景,不经常使用。

 其他的用法跟 while()差不了多少,就是可以先执行一次程序,再判断要不要继续循环。


3.3 for 语句

最后一个了,咱们就干脆直接一点,关于for 语句,博主是很喜欢用的,经常在控制下标的时候使用,很方便。

语法结构:

for(表达式1; 表达式2; 表达式3)

循环语句;//同样可以是复合语句 { }

表达式1:表达式1 为初始化部分,用于初始化循环变量的。

表达式2:条件判断,用于判断循环的终止。

表达式3:为调整部分,用于循环条件的调整,驱使循环结束。

注意:三个表达式之间用分号(;)隔开

 文邹邹的,直接上代码感受:

//使用for循环 在屏幕上打印1-10的数字。

三个表达式相信大家都能够理解。

如果我们用 while 循环实现相同的功能,两个语句之间又有什么差距呢?

我们可以看出两个语句要实现相同的功能,同样需要 “三个表达式”,三个部分。

我们可以根据个人爱好选择使用。实际当中 for 语句使用的最多。


3.3.1 不一样的 for

for 循环中的三个表达式——初始化部分,判断部分,调整部分,都可以省略。//不建议都省略

for 使用多个变量控制循环,


//使用for循环 在屏幕上打印1-10的数字。



至此,C语言的分支、循环语句的基本使用方法博主已经分享完了,大家可以自己动手敲敲代码,感受一下。希望对大家有所帮助。

本期收录于博主的专栏——C语言,适用于编程初学者,感兴趣的朋友们可以订阅,查看其它“C语言基础知识”。C语言_保护小周ღ的博客-CSDN博客

感谢每一个观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ  *★,°*:.☆( ̄▽ ̄)/$:*.°★* 

文章存在借鉴,如有侵权请联系修改删除!​​

【C语言】分支语句和循环语句相关推荐

  1. C语言分支语句与循环语句较为全面的总结,快来看呀!!

    分支语句和循环语句: 写在开篇:C语言其实算比较熟悉了,这里都是一些基础的总结,但感觉每次看都会有一些收获,也许这就是意义所在,冲冲冲!! 本章重点学习分支语句和循环语句的使用. 分支语句: if s ...

  2. C语言——分支语句和循环语句

    目录 1.什么是语句 2.分支语句(选择结构) 2.1 if语句 2.2switch语句 3.循环语句 3.1while语句 3.1.1 语法 3.1.2 while中break和continue 3 ...

  3. C语言学习 2.分支语句与循环语句

    文章目录 分支语句与循环语句 1. 什么是语句 2. 分支语句(选择结构) 1. if语句 1.1 if的书写形式 1.2 练习 2. switch语句 2.1 在switch语句中的break 2. ...

  4. python分支语句_Python语言基础分支语句、循环语句.ppt

    * * 循环结构回顾 for循环 for 循环作为编程语言中最强力的特征之一 Python可以使用for语句循环遍历整个序列的值 for循环所做的概括为一句话: 于- 其中的每一个元素,做-事情 * ...

  5. C语言初阶第三篇:换我心,为你心,始知C语言 从C语言选择语句到循环语句保姆教学来喽

    换我心,为你心,始知C语言 老铁们,咱们上一篇文章把字符串的知识点给过了一遍,今天就要开始真正的程序语句的学习了,也就是选择语句和循环语句,今天的内容比较简单,所以写的也不多,废话不多说,咱们开始吧! ...

  6. c语言输入循环语句,C语言中输入输出和循环语句详解.ppt

    C语言中输入输出和循环语句详解 C语言的输入输和循环分支语句详解 本章主要向大家介绍下C语言的输入和输出功能以及循环分支语句的使用 第4章 顺序结构程序设计 3.1 C语言语句 3.2 赋值语句 3. ...

  7. C语言入门练习 - 第二期 判断语句与循环语句(题解)

    比赛地址:C语言入门练习 - 第二期 判断语句与循环语句 A.入门--基础语法(for) #include<stdio.h> int main(){int n,i;scanf(" ...

  8. Matlab变量、分支语句和循环语句

    Matlab变量.分支语句和循环语句 一.Matlab的变量 1.变量的命名 Matlab的变量名由数字.字母和下划线组成,可是仅仅能由字母开头.大写和小写敏感,最大长度为63个字符.不能使用Matl ...

  9. C语言中要改变循环语句的流程可以使用的语句有哪些

    C语言中要改变循环语句的流程可以使用的语句有:break,continue和goto.break语句可以终止循环而执行整个循环语句后面的代码:continue语句可以跳过循环体中剩余的语句而强制进入下 ...

最新文章

  1. 奥鹏南开大学18春学期计算机作业,南开18春1709、1803学期《办公自动化基础》在线作业答案.doc...
  2. ST17H26读ID卡调试过程
  3. JS 小数的常用处理方法
  4. opengl加载显示3D模型ms3d类型文件
  5. 图文并茂重新认识下递归
  6. 诡异的编码和字节长度
  7. linux压缩内核镜像,zImage内核镜像解压过程详解
  8. Hadoop2——SSH免密登录功能配置
  9. (三)线程同步工具集_1---控制线程并发访问一个资源
  10. 分布式存储系统学习笔记(三)—分布式键值系统(2)—淘宝Tair
  11. 【opencv】 报错:C2065 “CV_COVAR_ROWS”、“CV_COVAR_NORMAL”、“CV_COVAR_SCALE”: 未声明的标识符、
  12. IE8 访问https安全证书错误;导航阻止 解决办法
  13. HTML基础-02-文本格式化、引文(斜体、粗体、上/下标签、删除、插入、强调、加重、字号、预格式,缩写、文字方向、短引用、长引用、引证)
  14. 最长公共子序列 【DP】+【最长公共子序列】
  15. 前端基础之《NodeJS(2)—模块化》
  16. 离散模型——多属性决策
  17. 用课余时间取得计算机二级用英语怎么说,浙江省计算机二级有效期 领取证书时间...
  18. python中列表的基本操作
  19. 计算机还原默认的配置,如何恢复IE浏览器的默认设置?如何还原IE浏览器的默认设置...
  20. (一)基于Multisim的电台发射系统:振荡器的设计

热门文章

  1. JAVA校验JSON数据格式
  2. 电路级静电防护技巧(二)
  3. TensorFlow实现写诗机器人
  4. 2020电工(高级)模拟考试及电工(高级)实操考试视频
  5. 5G网络演进对能源的挑战具体包括哪些
  6. 廉价磁盘的可用性和容错能力
  7. iphone照片 heic_如何将iPhone的实时照片转换为静态照片
  8. PureMVC新手入门
  9. 7-6 找到出勤最多的人 JAVA
  10. Jquery - 添加属性、添加class、添加Css