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后面的语句均不再执行。

相关推荐
飞Link5 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
学逆向的5 小时前
C 堆区内存管理
c语言·开发语言·网络安全
huoyueyi5 小时前
《融天AI-APP从0到1开发实录》
开发语言·lua
OpenAnolis小助手7 小时前
PHP 两个严重漏洞曝光,龙蜥社区 24 小时完成 3 版本修复
开发语言·操作系统·php·龙蜥社区
一去不复返的通信er7 小时前
贪心算法-合并区间(LeetCode 56)
算法·leetcode·贪心算法
阿尼卡~7 小时前
VS Code 配置 C 语言开发环境(Windows 10/11):从 GCC 安装到运行、断点调试,一篇搞定
c语言·开发语言·windows
Shaoshing8 小时前
LeetCode100 49. 字母异位词分组
java·算法
YFJ_mily8 小时前
第二届区块链技术与基础模型国际学术会议(BTFM2027)
算法·区块链·能源·智能系统·rdlink研发家·机器人自动化
汤姆宝库8 小时前
收官深拆:第一性原理、产业电网与未来推演
大数据·人工智能·算法