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

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

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

相关推荐
正在走向自律6 分钟前
【3/5】人工智能训练师 三级/高级工 考证学习方向:从“独立执行”到“设计、归因与全链条负责”
人工智能·学习·人工智能训练师·注方案设计·数据质控负责人·模型评测与调优辅助·ai训练项目交付
Fatbobman(东坡肘子)8 分钟前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
开发语言·人工智能·redis·ios·swiftui·iphone·swift
揽星河..19 分钟前
【C语言】底层程序设计
c语言·开发语言
JavaPub-rodert21 分钟前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang
海的透彻1 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat2 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
CCIE-Yasuo2 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
北京中科新远科技2 小时前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
La Pulga2 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统