【C语言】分支(选择)和循环语句

目录

简述

在c语言中分支和循环语句是极其重要的,就像生活中你难免要做一些判断和循环往复做一些事。

选择语句

简述

分支语句也叫判断语句,在c语言中有两种分支语句。

  • 一种是if-else语句。
  • 另一种是Switch-case语句。

if语句

单if结构

if结构就是没有else语句,只有一个if来判断进不进入代码块。

语法格式

单if语句语法格式如下:

c 复制代码
if(表达式)
{
	//代码块
}

符合 if 后面表达式就执行代码块中的内容,不符合就不执行。

if-else结构

if-else结构既有if也用else,有两种结构,看含不含else if语句

语法结构
  1. 不含else if
c 复制代码
if(表达式)
{
	//代码块1
}
else
{
	//代码块2
}

符合 if 后面表达式就执行代码块1中的内容,不符合就执行代码块2中的内容。

  1. else if
c 复制代码
if(表达式1)
{
	//代码块1
}
else if(表达式2)
{
	//代码块2
}
else if(表达式3)
{
	//代码块3
}
else
{
	//代码块4
}

符合 表达式几就执行代码块几中的内容,都不符合就执行代码块4中的内容。

要点:

  • 在这种语法结构下else if可以无限多。
  • 最后的else可以没有。
  • 如果符合多个表达式,会由上至下开始匹配,执行最先的表达式下的代码块,只执行这一个,剩下的不会在执行。

​## switch-case语句

语法结构

基本实现就是 switch(整型表达式){语句}。

注意在switch语句的判断表达式中只能是整型表达式,

整型表达式是表达式由整型数据表示。

c 复制代码
switch(整型表达式)
{
case 1:
//代码块1
case 2:
//代码块2
case 3:
//代码块3
default:
//代码块4
}

整型表达式的结果是几就从case几开始执行下面的代码块。

要想只执行当前结构下case的语句就需要加上关键字break。

c 复制代码
switch(整型表达式)
{
case 1:
//代码块1
	break;
case 2:
//代码块2
	break;
case 3:
//代码块3
	break;
default:
//代码块4
	break;
}

要点:

  • default就是除case以外没包含的所有情况。
  • case可以无限加。
  • default也可以没有。
  • 而且case之间和default之间没有先后要求。

循环结构

break和continue

在介绍循环语句中我先介绍两个关键字break 和 continue。

在生活中我们经常会遇见循环做一件事时遇见突然事件发生就不会再做了。想上个b班一天挣一点钱,突然一天你中彩票了,你还会去上班吗。

而break和 continue就是在程序中的终止语句。

一条循环语句中执行break就不会在执行循环了直接跳出去,

而continue就是这次循环不再执行,进入下一次循环。

就像上班到一半你中彩票了就执行break语句不在上班以后都不上班,而像突然老板发善心让你剩下半天工作不用做了,你明天还是要去上班。

while循环

语法结构

c 复制代码
while(表达式){
	//代码块
}

当表达式为真就进入循环执行代码块,直到表达式为假才出循环。

for循环

语法结构

c 复制代码
for(表达式1 ; 表达式2; 表达式3){
	//代码块
}

执行顺序和注意事项:

  1. 进for循环先执行表达式1且只执行一次。
  2. 再执行代码块。再执行表达式2(表达式2必须是布尔表达式)。
  3. 在执行表达式3。
  4. 表达式1和表达式3都可以不写。

do while循环

语法结构

c 复制代码
do{
//代码块
}while(布尔表达式);

先进来执行代码块,在判断表达式结果为真就回去再次执行,

表达式结果为假就出循环。

相关推荐
摸鱼仙人~1 分钟前
计算机组成原理学习笔记(一)
笔记·学习
Uluoyu6 分钟前
python爬虫爬取中国国际招标有限公司
开发语言·爬虫·python
LL小蜗牛10 分钟前
Java对象通用比对工具
java·开发语言
☆致夏☆18 分钟前
Java-反射
java·开发语言
akthwyl19 分钟前
2024年【安全员-C证】考试及安全员-C证免费试题
c语言·开发语言
鸽鸽程序猿22 分钟前
【数据结构】顺序表
java·开发语言·数据结构·学习·算法·intellij idea
瑶风22 分钟前
go语言并发编程1-Gouroutine
开发语言·后端·golang
Thunter_23 分钟前
[QT入门]树形视图控件
开发语言·c++·qt
邂逅岁月27 分钟前
珍藏多年的计算机内核结构大全笔记,掌握计算机工作原理真不难
java·开发语言·windows·笔记·系统架构·计算机外设·计算机硬件
skyshandianxia33 分钟前
Java面试八股之MySQL中binlog的工作模式有哪些
java·开发语言·面试