分支循环语句

本文介绍了C语言中的结构化控制语句,如if-else、三目操作符、switch、while和for循环,以及它们的语法和实际应用,重点讲解了如何通过这些结构判断和控制程序流程。
摘要由CSDN通过智能技术生成

C语⾔是结构化的程序设计语⾔,这里的结构指的是顺序结构,循环结构,选择结构

1.if语句

if的语法如下:

if (表达式)
    语句1
else
    语句2

如果表达式为真,那么语句运行,否则,执行else后面的语句

例如:

如果想要判断一个数是正数还是负数,我们可以通过if实现,代码如下

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	if (n > 0)
		printf("%d是正数",n);
	else
		printf("%d是负数",n);
		return 0;
}


需要注意,if和else都只控制一条语句,当if后面跟两条语句时,无论if的条件是否为真,第二条语句都会执行

例如:

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	if (n > 0)
		printf("%d是正数",n);
		printf("好好学习");
		return 0;
}

无论输入的n是正数还是负数,都会打印好好学习

除此之外,当我们输入0时,不会返回任何结果,此时我们需要用嵌套if解决

#include <stdio.h>​
int main()
{
	int n = 0;
	scanf("%d", &n);
	if (n > 0)
		printf("%d是正数", n);
	else if (n == 0)
		printf("%d", n);
	else
		printf("%d是负数",n);
	return 0;
}

2.三目操作符

1 exp1 ? exp2 : exp3

语法是当exp1为真时,执行exp2,当exp1为假时,执行exp3

例如:

#include <stdio.h>
int main()
{
     int a = 0;
     int b = 0;
     scanf("%d %d", &a, &b);
     int m = a>b ? a : b;
     printf("%d\n", m);
 
     return 0;
}

这段代码可以很快比较出a,b的大小,有了三目操作符我们可以实现更多的东西,这里不再赘述

3.switch语句

switch语句也是一种分支语句,语法如下:

switch (expression) {
 case value1: statement
 case value2: statement
 default: statement
}

在使用switch语句的时候,如果switch后的表达式的值无法匹配无法匹配case后的语句的时候,我们可以在switch语句后面加入default语句

int main()
{
	int n = 0;
	scanf("%d", &n);
	switch (n) {
	case1:
	case2:
	case3:
	case4:
	case5:
		printf("hardworking");
		break;
	case6:
	case7:
		printf("take a rest");
		break;
	}
}

注意:

在case1后面的语句写完后,必须加break:

switch 后的 expression 必须是整型表达式

case 后的值,必须是整形常量表达式

4.while语句

while语句是先判断后执行,先判断表达式的值是否为真,如果为真,则直接执行语句,如果为假,则不执行语句;

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

5.for循环

语法如下:

for(表达式1; 表达式2; 表达式3)
    语句;如果循环体想要包含更多的语句,可以使用大括号

表达式1用于变量的初始化,表达式2用于循环结束条件的判断,表达式3用于变量的调整

for循环语句的逻辑是:

先执行表达式1初始化变量,然后执行表达式2,如果此时表达式2为0,则循环结束,如果不为0,则执行语句,然后执行表达式3

括号里面的三个表达式中,表达式1只会执行1次。

6.do while循环

do while语句中,先执行语句,然后进行判断,如果while为0,则跳出循环,如果while不为0,则执行到while里面的语句为0为止

语法如下

do:
     语句;
while();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值