C语言分支循环语句

本文介绍了C语言中的基本结构,包括顺序结构、选择结构(if、switch)和循环结构(while、for、do-while)。通过示例展示了如何使用这些结构实现条件判断和循环控制,如年龄判断和余数计算。此外,还提到了循环的嵌套使用以及寻找素数的例子。
摘要由CSDN通过智能技术生成

 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构。我们可以使⽤ if switch 实现分⽀结构,使⽤ for while do while 实现循环结构。

if语句

语法形式:

if ( 表达式 )
 语句
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。
在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是 不是0,则语句执行。

else语句

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

例子:输⼊⼀个年龄,>= 18岁就输出:成年,否则就输出:未成年

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)
		printf("成年\n");
	else
		printf("未成年\n");
	return 0;
}

switch语句

除了 if 语句外,C语言还提供了 switch 语句来实现分支结构。
switch 语句是⼀种特殊形式的 if...else 结构,用于判断条件有多个结果的情况。它把多重
else if 改成更易用、可读性更好的形式。
switch (expression) 
{
 case value1: statement
 case value2: statement
 default: statement
}
上⾯代码中,根据表达式 expression 不同的值,执行相应的 case 分支 。如果找不到对应的值,
就执行  default 分支。
注意:
switch 后的 expression 必须是整型表达式
case 后的值,必须是整形常量表达式
例子:输⼊任意⼀个整数值,计算除3之后的余数
#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	switch (n % 3)
	{
	case 0:
		printf("整除,余数为0\n");
		break;
	case 1:
		printf("余数是1\n");
		break;
	case 2:
		printf("余数是2\n");
		break;
	}
	return 0;
}

while循环

while(表达式)
 语句;

while和if语句很像,举个例子:在屏幕上打印1~10的值

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

for循环

for(表达式1; 表达式2; 表达式3)
 语句
表达式1 用于循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整
例如:在屏幕上打印1~10的值
#include <stdio.h>
int main()
 {
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}

打印出来的结果是:

for语句比while语句更方便,从他们的起始条件、判断条件和变量的调整的位置能看出来,for

循环是更密集的。

do-while循环

do
 语句;
while(表达式);
while for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳
出循环。
do while 循环则是先直接进入循环体,执行循环语句,然后再执行  while 后的判断表达式,表
达式为真,就会进行下⼀次,表达式为假,则不再继续循环。
例如: 在屏幕上打印1~10的值
#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);
 
 return 0;
}

嵌套

以上每个语句都是可以嵌套的,举个例子:找出100~200之间的素数,并打印在屏幕上。

#include <stdio.h>
int main()
{
	int i = 0;
	//循环产⽣100~200的数字
	for (i = 100; i <= 200; i++)
	{
		//判断i是否为素数
		//循环产⽣2~i-1之间的数字
		int j = 0;
		int flag = 1;//假设i是素数
		for (j = 2; j < i; j++)
		{
			if (i % j == 0)
			{
				flag = 0;
				break;
			}
		}
		if (flag == 1)
			printf("%d ", i);
	}
	return 0;
}

在上面这个例子里,if语句嵌套在for循坏语句里了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值