循环结构笔记

while循环:

  1. 掌握while循环结构语法

    while(表达式)  
    表达式括号后面不要有分号,但是后面的do-while循环就不一样了,while后面的表达式要有分号
    //只有当表达式为真时,才会执行里面的循环语句;
    {
    循环语句;
    }
    //循环语句只有一句时,大花括号可以省略。
  2. 了解while循环和if语句的区别:

    if语句结构语法:
    if(表达式)
    {
    执行语句;
    }

    既然他们两个语法结构一样,那么他么的区别在那呢?
    区别在于if语句大花括号里面的语句只会执行一次,而while循环如果表达式为真,
    那么他就会一直执行里面的语句,容易陷入死循环。

  3. 小要求:试着能在纸上把while循环结构的执行过程画出来
     

  4. 用while循环打印1-10的数字
    #include <stdio.h>
    int main()
    {
    
    int num=1;
    while(num<=10)
    {
    
        printf("%d\n",num);
        num++;
    }
    return 0;
    }
    

  5. 输入一个整数,逆序输出,比如输入1234就输出4321
    #include <stdio.h>
    int main()
    {
    int num;  //num是你输入的整数
    scanf("%d",&num);
    int a=0; //a是代表最低位的数
    while(num!=0)
    {
        a=num%10;  //先进行取余操作,拿到这个数的最低位
        num=num/10;//然后再去掉最低位,把去掉最低位的数重新赋值给num
        printf("%d ",a);
    } 
    return 0;
    }

    程序分析:
    1.有两个知识点:假设有一个数是i,拿到一个最低位的数,用i%10;去掉一个最低位的数用i/10;
    2.一次从高到低循环输出这个数,我么就想到要用循环结构,首先我们得定义一个变量num用来存储输入的整数,定义一个变量a用来存储每次拿到的最低位的数,程序结束的条件是num==0,因此我们只要num不等于0,那么他就会一直循环,
    3.这个程序的执行流程是,先判断你输入的数受否不为0,不为0,则进入循环,进入循环后第一步就是进行取余,把取余的数赋值给a,第二步就是打印这个a,第三步就是去掉最低位,把去掉最低位的数重新赋值给num,然后再返回表达式,进行判断。

for循环:

  1. 掌握for循环的基本结构

    #include <stdio.h>
    int main()
    {
    for(变量初始值;条件判断;调整语句)
    {
    
    循环语句;
    
    }
    return 0;
    }
  2. 记住for循环的3个主要因素:变量初始值;条件判断;调整语句
  3. 了解for循环和while循环的不同点和相同点:
    相同点while循环和for循环包括后面的do-while循环都要有循环三要素,就是初始值,条件判断,调整语句,这是毋庸置疑的
    不同点for循环的书写更简洁,而while循环的书写更分离,在后续如果代码非常多的情况下,while循环变量初始值和条件判断以及调整语句就会隔得非常远
  4. 小目标:能够在纸上画出for循环的执行流程
  5. 用for循环打印1-10的数
    #include <stdio.h>
    int main()
    {
    
    int num=0;
    for(num=1;num<=10;num++)
    {
    printf("%d ",num);
    }
    return 0;
    }
    
  6. 打印1-100之间是3的倍数的整数之和

    ​
    #include <stdio.h>
    int main()
    /*
    1.首先得产生1-300的数,定义一个变量num来存储,用for循环结构
    2.在产生的数之间判断那些数是3的倍数,如果是3的倍数就把他放到num这个变量里
    3.然后再定义一个sum变量,把这些是3的倍数相加起来。
    4.最后打印sum变量的值
    */
    {
    int num=0;
    int sum=0;
    for(num=1;num<=300;num++)
    {
    if(num%3==0)
    {
    sum+=num;
    
    }
    }
    
    printf("%d",sum);
    return 0;
    }
    
    ​

do-while循环:

  1. 掌握do-while循环结构语法
    do  //do后面没有括号
    {
    
    循环语句;
    
    }while(表达式); //do-while循环里表达式后面一定要有分号,但是while循环里不用
  2. 了解do-while循环和while循环的区别:
    while循环只有当条件满足时才会执行语句,而do-while循环上来就是先工作,比较鲁莽,所以do-while循环不管怎么样都会先执行一次,

了解do-while循环的使用场景,下面这个程序就非常适合用do-while循环做

//题目:判断输入的整数共有多少位数
/*
1.采用do-while循环结构,
2.定义变量num存储数据
3.定义一个变量count,用来统计位数
不管怎么样,最低都要有一位数,只要你输入了数字,哪怕是0,也是一位数,
4.进入循环后第一步,先把它除以10,就是比如输入了123,用123/10,把最低位去掉了变成了12,相当于把它划掉了,然后此时我们让count++,开始进行计数。
5.最后循环结束了,打印count的值
*/

int main()
{
int num=0;
int count=0;
scanf("%d",&num);
do
{

num=num/10;
count++;

}while(num!=0)

printf("共有%d位数",num);
return 0;
}

continue语句和break语句:

  1. 掌握continue语句和break语句的区别:
    continue语句是用于跳出某一次循环后面的语句,而break是用于跳出整个循环。
  2. continue语句和break语句在for循环和while循环以及do-while循环中的区别:
    break语句在三种循环中没什么区别,都是跳出整个循环;
    但是continue语句就不一样了,在for循环中,continue语句跳过后面的循环语句后,会来到调整语句部分,而
    在while循环和do-while循环中会来到表达式部分。
    //判断下列程序输出结果:
    int main()
    {
    int a=1;
    while(a<=10)  //程序一共要循环10次,但是一进入循环,就a++了,所以第一次循环时,
    a=2,所以循环10次,最终a会变成11
    {
    
    a++;
    if(a==5)
    continue;
    printf("%d",a);
    
    }
    return 0;
    }
    //最终打印结果为2-11,但是没有5
    找出下列代码的错误:
    int main()
    {
    	int a = 1;
    	while (a <= 10)
    	{
    		if (a == 5)
    			continue;
    		printf("%d", a);
    		a++;
    	}
    	
    	return 0;
    }
    //这串代码错误的原因是缺少调整语句,所以陷入了死循环,打印结果为1-4;a++的顺序错了
    //用while循环打印1-10的数字,但是没有5
    int main()
    {
    
    int num=0;
    while(num<10)
    {
    num++;
    if(num==5)
     continue;
    printf("%d",num);
    }
    return 0;
    }
    do-while循环中的continue和break打印1-10
    int num=1;
    do
    {
    if(num==5)
    continue;  //换成break即打印1-4
    printf("%d",num);
    num++;
    
    }while(num!=10);
    
    

  3. 注意点:continue语句后面如果没有任何执行语句,那么也就没有什么意义了。

循环嵌套:

  1. 比如输出100-300间的素数,这个程序代码在另一篇博客中有写

goto语句:

  1.  goto语句的作用:
    它就相当于一个导航,可以带我们去我们真正想去的目的地
  2. 它主要应用的场景:
    用于多层循环结构,想要 跳出循环时
  3. goto语句的语法结构:
    goto +标识号;
        跳过的语句;
    标识号:
        执行语句;
    
    
    goto next(这个next就是自己为你想要去的目的地起的名字);
      printf("哈哈\n");
    next:
      printf("跳过了打印哈哈\n");   
    //跳过goto语句后面的内容,直接来到目的地后面的语句

  4. goto语句的限制:
    它只能在同一个函数里,不能跨函数
  5. 注意事项:
    在写代码时能不用goto语句就尽量不用,还有goto语句是先分号后冒号。
  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值