C语言的分支循环语句

一、循环语句

循环语句允许我们重复执行一段代码,直到满足某个条件才停止。C语言提供了三种类型的循环语句:while循环、do-while循环和for循环。

1. while循环:

while循环是最简单的循环语句,其基本语法如下:

while (条件表达式) {
    // 循环体代码
}

在每次循环开始之前,都会先判断条件表达式的值。如果条件为真,则执行循环体内的代码;否则跳过整个循环。

2. do-while循环:

do-while循环与while循环类似,不同之处在于它先执行循环体内的代码,再判断条件表达式的值。其基本语法如下:

do {
    // 循环体代码
} while (条件表达式);

无论条件表达式的值如何,循环体至少会被执行一次。

3.for循环:

for循环是一种更加灵活的循环语句,它在执行前先初始化循环变量,然后在每次循环结束时对循环变量进行更新。其基本语法如下:

for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体代码
}

for循环的执行流程为:先执行初始化表达式,然后判断条件表达式的值,如果为真则执行循环体内的代码,并在执行完循环体后执行更新表达式,然后再次判断条件表达式的值。

二、分支语句

分支语句允许程序根据不同的条件选择不同的执行路径。C语言提供了两种类型的分支语句:if语句和switch语句。

1. if语句:

if语句是最常用和最简单的分支语句,其基本语法如下:

if(条件表达式) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}

当条件表达式的值为真时,将执行if代码块中的代码;当条件表达式的值为假时,将执行else代码块中的代码。

2. switch语句:

switch语句用于根据表达式的值选择不同的执行路径,其基本语法如下:

switch (表达式) {
    case 值1:
        // 执行语句1
        break;
    case 值2:
        // 执行语句2
        break;
        ...
            default:
        // 默认执行的语句
        break;
}

程序会根据表达式的值跳转到对应的case标签处执行相应的代码,直到遇到break语句或switch语句结束。如果没有匹配的case标签,则执行default后面的代码。case标签内没有break的话会继续执行下一条case语句

三、break和continue

在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中 提供了 break 和 continue 两个关键字,就是应⽤到循环中的。

•break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出当前循环体(只跳出一个循环),继续往后执⾏。

• continue 的作⽤是跳过本次循环 continue 后边的代码。

四、goto语句

C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。 例如:

int main()
{
    printf("hehe\n");
    goto next;
    printf("haha\n");

    next:
    printf("跳过了haha的打印\n"); 
    return 0;
}

在多层循环中,goto可以快速跳出循环体。

五、循环嵌套

在解决某些问题时,只用单独的循环或者分支语句,无法高效的解决问题,在这时我们便需要将多种循环和分支语句进行嵌套。例如:

找出100~200之间的素数,并打印在屏幕上。 注:素数⼜称质数,只能被1和本⾝整除的数字。

题⽬分析:

1. 要从100~200之间找出素数,⾸先得有100~200之间的数,这⾥可以使⽤循环解决。

2. 假设要判断i是否为素数,需要拿2~i-1之间的数字去试除i,需要产⽣2~i-1之间的数字,也可以使⽤ 循环解决。 3. 如果2~i-1之间有数字能整除i,则i不是素数,如果都不能整除

,则i是素数。

参考代码

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;
}

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值