目录

1.什么是语句

2.分支语句(选择结构)

2.1 if语句

2.2switch语句

3.循环语句

3.1while语句

3.1.1 语法

3.1.2 while中break和continue

3.2 for循环语句

3.2.1语法

3.2.2 break和continue在for循环中

3.2.3 for语句的循环控制变量

3.3 do while循环

3.3.1 do while 语句的语法

3.3.2 do while语句中的break 和continue

4.goto语句


1.什么是语句

本章主要介绍if语句、switch语句、for语句、while语句、do while语句都属于控制语句。控制语句用于控制程序的执行流程,以实现程序的各种结构方式(c语言程序中,可以分为三种基础结构,即顺序结构、分支(选择)结构、循环结构。这三种基本结构可以组成所有的各种复杂程序),它们由特定的语句定义组成。

C语言有九种控制语句:

1.分支语句(条件判断语句):if语句,switch语句;

2.循环执行语句:for语句,while语句,do while语句;

3.转向语句:break语句、goto语句、continue语句、return语句。

2.分支语句(选择结构)

进入大学,小伙伴们就面临着选择!

你可以选择走出寝室好好学习,未来拿一个好offer。

你也可以选择泡在寝室天天不学无术,机械性的打游戏,毕业都成了难题!

2.1 if语句

一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。

如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。

C 语言把任何非零非空的值假定为 true,把或 null 假定为 false

if()内的表达式的结果为真时,则语句执行

在C语言中0表示假,非0表示真。

 if语句结构:if(表达式1)语句1;else if(表达式2)语句2;else语句3;

示例:

#include<stdio.h>
int main()
{int num = 0;scanf("%d", &num);if (1 == num % 2){printf("%d是奇数", num);}elseprintf("%d是偶数", num);return 0;
}

注:小伙伴们在初期打代码的时候就应该养成良好的代码风格

if(表达式){printf("开心每一天");}
else if (表达式)
{printf("身体健康")}
else
{
printf("好好学习")
}

如果if下跟多条语句需要用大括号括起来,否则只执行距离最近的语句。

适当的使用{ }可以使代码的逻辑更加清楚!!

else的匹配:else是和它离的最近的if匹配的。多个 if 语句嵌套在一起,那么 else 子句一定匹配到与其最近的且无 else 子句匹配的 if 语句(必须在同一个语句块层次)。

2.2switch语句

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

switch(expression){case constant-expression  :statement(s);break; /* 可选的 */case constant-expression  :statement(s);break; /* 可选的 *//* 您可以有任意数量的 case 语句 */default : /* 可选的 */statement(s);
}

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

default子句 :(在每个switch语句中都放一条default子句是个好的编程习惯)

写在任何一个 case 标签可以出现的位置。 当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。 所以,每个switch语句中只能出现一条default子句。 但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。

int main()
{int n = 0;scanf("%d", &n);switch (n){case 1:printf("天天开心\n");break;case 2:printf("健健康康\n");break;case 3:printf("好好学习\n");default:printf("输入错误\n");break;}return 0;
}

3.循环语句

小伙伴们在日常生活做会发现,很多事情需要我们多次循环的去做,同一件事情需要我们完成很多次,在这里C语言也贴心地为我们准备了循环语句,可以实现循环。

3.1while语句

3.1.1 语法

当我们学习if语句时,可能很多小伙伴会不满足于if语句只会执行一次,而接下来我们要了解的while语句可以使我们的代码实现多次地循环。

while 语法的结构

while(表达式)循环语句;

 示例:

//在屏幕上打印1~10的数字
#include <stdio.h>
int main()
{int n = 1;while (n <= 10){printf("%d ", n);n++;//n++先使用n的值再加1}return 0;
}

3.1.2 while中break和continue

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

3.2 for循环语句

3.2.1语法

与while循环相比,for循环的风格更胜一筹;for循环使用的频率也最高。

for循环结构:

for(表达式1; 表达式2; 表达式3)循环语句;

表达式1:

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

表达式2:

表达式2为条件判断部分,用于判断循环时候终止。

表达式3: 

表达式3为调整部分,用于循环条件的调整 。

3.2.2 break和continue在for循环中

break在for循环中的作用和 while中的作用相同:其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

continue会跳过循环中它后面的代码,直接跳到调整部分.

int main()
{int i = 0;for (i = 1; i <= 10; i++){if (i == 5)continue;printf("%d ", i);}return 0;
}

很明显 满足条件时continue跳过了打印5,跳到了,调整部分.。

3.2.3 for语句的循环控制变量

1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。

2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

3.3 do while循环

3.3.1 do while 语句的语法

do循环语句;
while(表达式)

循环至少执行一次,使用的场景有限。

do while语句是先执行后判断 而while语句是先判断后执行

3.3.2 do while语句中的break 和continue

用法和while中的用法一样:

  其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

4.goto语句

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。 从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。 但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。

例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。

for(...)for(...){for(...){if(disaster)goto error;}}…
error:if(disaster)

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

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

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

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

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

  3. 【C语言】分支语句和循环语句

    大家好!我是保护小周ღ,本期为大家带来的是C语言的分支语句和循环语句,详细的介绍了 if(). switch() 这两种分支语句,以及while().do while ().for(),三种循环语句, ...

  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. Git 常用操作(1)- 配置、查看、添加、暂存和提交
  2. 全球及中国特殊教育行业十四五趋势展望与发展战略建议报告2022版
  3. php控制文本换行,css如何控制文字换行方式?(代码示例)
  4. Pictures Test
  5. loss值多少才算收敛_你了解TDS值是多少才是合格的吗?
  6. scala上界_Scala方差,上界和下界
  7. 使用python命令行参数sys.argv 做bat脚本
  8. Windows 8 各个版本区别对比
  9. 别人改汝代码,应该怎么办
  10. python pdf编辑器开发_使用pymupdf开发pdf查看编辑器
  11. 2016年4月21日 21:18:25 我的第一篇博客~
  12. LeetCode #780 - Reaching Points
  13. CDA Level1知识点总结之数据分析概述与职业操守
  14. 重磅!项目经理指导手册和全套管理秘籍下载
  15. 怎么使用大疆无人机建模?
  16. 一文读懂Diffusion model
  17. 由百度基础面面试想到的和总结的
  18. 平稳噪声与白噪声的区别与联系?
  19. 关于掌纹识别的android版本开发(实例调用JNI)
  20. 日语学习心得及书籍资料分享

热门文章

  1. 【CIPS 2016】(17章)文字识别 (研究进展、现状趋势)
  2. 23种设计模式之代理模式(动态代理)
  3. C++学习笔记-STL
  4. 图像处理:高斯滤波算法
  5. Pcode粗略分析(1)
  6. 用机器学习识别随机生成的CC域名
  7. 微信运营营销推广方案
  8. [译] Kotlin Flow 官方 Guide 指南(2021-06-13)翻译
  9. dwc3_gadget_init分析
  10. 秒启万台主机,腾讯云云硬盘数据调度架构演进