【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(布尔表达式);

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

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

相关推荐
wearegogog1232 分钟前
C语言中的输入输出函数:构建程序交互的基石
c语言·开发语言·交互
Fine姐5 分钟前
The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
开发语言·网络·php·硬件架构
HAPPY酷23 分钟前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
rannn_11124 分钟前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
liulilittle31 分钟前
BFS寻路算法解析与实现
开发语言·c++·算法·宽度优先·寻路算法·寻路
阿珊和她的猫1 小时前
autofit.js: 自动调整HTML元素大小的JavaScript库
开发语言·javascript·html
喜欢吃燃面1 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程1 小时前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
草莓熊Lotso1 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他