分支与循环(2)

本文详细介绍了C语言中的for循环、do...while循环的语法、执行流程、特点及常见应用。强调了循环控制变量的重要性,并给出了循环嵌套、多变量控制循环的实例。同时,探讨了break和continue在循环中的作用。最后,提到了虽然不推荐但有时必要的goto语句,以及一个涉及循环逻辑的笔试题目。
摘要由CSDN通过智能技术生成

目录

一、for循环

1.1语法

1.2   for循环执行图

1.3  for循环中的break 和 continue

1.4    for语句的循环控制变量

1.5    一些for循环的变种

1.5.2 循环嵌套

 1.5.3 省略初始化

  1.5.4 使用多变量控制循环

1.5.5  建议

 1.6   一道笔试题

二、do.....while循环

2.1  语法形式

2.2   执行流程

2.3 do语句的特点

 2.4  break 和 continue

 2.5   循环练习

三、 goto语句

 关机程序:



一、for循环

1.1语法

 (默认后面一条语句,如果加多条要注意大括号)

//列举1-10举例
#include <stdio.h>
int main()
{
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0; }

1.2   for循环执行图

1.3  for循环中的break 和 continue

 break            跳出循环

continue       跳出本次循环continue之后的代码

图一:     跳过打印到 i + +

图二:     跳过了 i + +直接变成了死循环

1.4    for语句的循环控制变量

建议:
1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
2. 建议for语句的循环控制变量的取值应尽量采用“前闭后开区间”写法(特殊情况除外)


int i = 0;
//前闭后开的写法
for(i=0; i<10; i++)
{}
//两边都是闭区间
for(i=0; i<=9; i++)
{}

都是为了良好的代码风格

1.5    一些for循环的变种

1.5.1 不建议省略

#include <stdio.h>
int main()
{
 for(;;)
 {
 printf("hehe\n");
 }
  return 0;
}
    //for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问
题。
//这边会死循环

注:这边因为判断条件省略------>死循环

1.5.2 循环嵌套

 内循环打印10个

 外循环打印10个

 总共100,内循环结束到外循环之后再到内循环 j 会重新初始化

    int i = 0;
    int j = 0;
    //这里打印多少个hehe?
    for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
            printf("hehe\n");
       }
   }

 1.5.3 省略初始化

这种省略的再次进入就无法初始化,所以十次

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	//如果省略掉初始化部分,这里打印多少个hehe?
	for (; i < 10; i++)
	{
		for (; j < 10; j++)
		{
			printf("hehe\n");
		}
	}
}

  1.5.4 使用多变量控制循环

#include <stdio.h>
int main()
{
	//使用多余一个变量控制循环
	int x, y;
	for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
	{
		printf("hehe\n");
	}
	return 0;
}

1.5.5  建议

建议把定义类型放在外面

 1.6   一道笔试题

//请问循环要循环多少次?
#include <stdio.h>
int main()
{
	int i = 0;
	int k = 0;
	for (i = 0, k = 0; k = 0; i++, k++)
	{
		k++;
	}
	return 0;
}

答:无,k=0是赋值表达式使判断部分为假

二、do.....while循环

2.1  语法形式

先干事,至少循环一次

2.2   执行流程

2.3 do语句的特点

循环至少执行一次,使用的场景有限,所以不是经常使用。

 2.4  break 和 continue

 2.5   循环练习

C语言------计算 n的阶乘

二分查找

编写代码,演示多个字符从两端移动,向中间汇聚

实现简单模拟登录

三、 goto语句

C 语言中提供了可以随意滥用的 goto 语句和标记跳转的标号。
从理论上 goto 语句是没有必要的,实践中没有 goto 语句也可以很容易的写出代码。
但是某些场合下 goto 语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。
例如:一次跳出两层或多层循环。
多层循环这种情况使用 break 是达不到目的的。它只能从最内层循环退出到上一层的循环。

 
关机程序:

#include <stdio.h>
#include <windows.h>
#include <string.h>
int main()
{
    char input[10] = {0};
    system("shutdown -s -t 60");
again:
    printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
    scanf("%s", input);
    if(0 == strcmp(input, "我是猪"))
   {
        system("shutdown -a");
   }
    else
   {
        goto again;
   }
    return 0; }



 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值