C语言:分支与循环语句

目录

if语句

if-else语句

switch语句

whlie循环

for循环

[do while循环](#do while循环)


if语句

语法格式:

复制代码
if(表达式){
    语句
}

if小括号内表达式如果为真,就执行下面的语句,为假则不执行。(0表示假,1表示真)

if语句执行流程图如下:

还有一种情况为:

复制代码
if(表达式){
    语句1
}
esle{
    表达式2
}

if-else语句执行流程图如下:

默认情况下(if和else不写大括号的情况),if和else都只控制一个语句,若要控制多条语句,则必须加上大括号,(这里建议加上,不仅美观也是一个好习惯)

if-else也可以嵌套使用

复制代码
#include<stdio.h>
int main() {
	int age = 0;
	printf("请输入年龄:\n");
	scanf("%d", &age);
	if (age < 0)
	{
		printf("输入格式不正确,年龄没有负数");
	}
	else {
		if ((age >= 0) &&(age <= 10))
		{
			printf("为人类幼崽\n");
		}
		else if ((age > 10) && (age <= 18))
		{
			printf("青少年\n");
		}
		else
		{
			printf("成年人\n");
		}
	}
	return 0;
}

输出结果:

这行代码里边有一个"&&"表示的短路与,(表达式1) && (表达式2),当表达式1为假时,不再执行表达式2,直接为假,返回0。与这个用法类似的还有短路或"||",(表达式1) || (表达式2),当表达式1成立时,不再执行表达式2,直接为真,返回1。

switch语句

switch在英语中有开关的含义,在C语言中也充当"开关的作用"

复制代码
switch()
{
    case (数字):
        语句1;
        break;

    case (数字):
        语句2;
        break;
    case (数字):
        语句3;
        break;
    default:
        语句4;
        break;
}

switch是特殊形式的if-else结构,用于判断条件有多个结果时不同结果对应的语句。

注:case和数字之间要留有空格。default在case语句都没有匹配的时候充当默认语句。

C语言提供了三种循环:for,while,do while

whlie循环

复制代码
while(判断条件)
{
    循环体语句
}

程序流程图如下:

for循环

复制代码
for(表达式1;表达式2;表达式3){
    循环语句
}

for循环中的表达式123在实际写代码的过程中可能会遇到空着不写的地方,也是正确的书写。

for循环程序流程图如下:

例子:

复制代码
#include<stdio.h>
int main() {
	for (int i = 0; i < 10; i++)
	{
		int num = i + 1;
		printf("%d ",num);
	}
	return 0;
}

运行结果如下:

do while循环

格式为:

复制代码
do{
    循环语句
}
while(条件判断);

程序流程图如下:

do-while循环先执行一遍循环体再对条件进行判断。

这三个循环都有continue和break。在循环中,continue语句用于跳出本次循环,进入下一次循环,而break语句则是直接终止循环,执行后面的语句。这两个语句的共同点是:break\continue后面的语句均不再执行。

相关推荐
董董灿是个攻城狮9 小时前
AI视觉连载8:传统 CV 之边缘检测
算法
RuoZoe14 小时前
重塑WPF辉煌?基于DirectX 12的现代.NET UI框架Jalium
c语言
AI软著研究员16 小时前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish16 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱17 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者1 天前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮1 天前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者1 天前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考1 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx2 天前
CART决策树基本原理
算法·机器学习