学习记录:第一周day04笔记

发布时间 2023-03-22 21:10:40作者: 菊里菊气

一、for循环语句

循环:就是一种让代码反复执行的方式,从而达到想要的效果

for循环一般会使用一个变量来引导循环的进行,这一变量叫做该循环的循环变量 i index

for循环的变化很灵活,但也很危险

for循环的括号问题:

1、for循环内只有一行代码时,大括号可以省略

但是这样不利于后期代码扩展,一般的商业级代码要求大括号不能省略

2、建议大括号上下对齐,括号内该缩进的要缩进

 for([1];[2];[3])
 {
  [4]
 }
 [1]、给循环变量赋初值
     C99、C11标准才可以在此处定义变量
     在for循环内部定义的变量只能在for内使用,出了for后无法使用
     for循环内定义的变量,会屏蔽循环体外定义的同名变量
 [2]、判断循环变量是否达到结束边界值
    如果判断为假,则结束循环;否则继续循环
 [3]、改变循环变量的值,防止出现死循环,一般对循环变量自加或自减
 [4]、被反复执行的代码,称为循环体
 1——>2——>4——>3——>2——>4...

for的多种写法

 for(;;)
 {
     //死循环
 }
 
 int i=0;
 for(;i<10;i++)
 {
     
 }
 
 for(int i=0;i<10;)
 {
     if(xxx)
    {
         i++;
    }
 }

 

二、while循环

 while(条件)   //当条件为真时执行循环体,为假时结束循环
 {
     // 循环体
 }
 //for的等价形式:
 for(;条件;)
 {
     
 }
 

while循环相当于for循环其中一个精简版本

for循环是负责解决明确知道循环次数的问题

while循环是负责只知道循环结束条件而不确定循环次数的问题

 

三、do-while循环语句

 do{
  //循环体
 }while(条件); //分号不能少

先执行循环体,再判断循环条件,至少会执行一次

适合的情况,例如:输入密码

 

四、循环嵌套

循环语句中有循环语句

外层循环执行一次,内存循环执行n次

 

练习1:计算所有水仙花数

练习2:输入一个正整数,判断是否是素数

练习3:输入一个正整数,判断是否是回文数

练习4:输入一个6位密码,输入正确时,显示“密码正确”并结束,输入错误时,提升,还剩几次机会,并继续输入,最多错三次,否则出现“账户已锁定”

 

五、跳转语句

goto 可以在函数内任意跳转

 标签名:xxx;
 
  ...
 
   goto 标签名;

注意:goto很容易破坏已经设计好的分支或者循环语句,因此绝大多数公司是禁止使用goto

goto在驱动编程和硬件编程种非常适合处理异常

练习:不使用循环计算N的阶乘

 

break

1、在switch中关闭case开关

2、跳出最近一层循环

 

continue

结束本次循环,直接进入下一次循环

 

return

1、返回一个返回值给函数的调用者

2、提前结束函数,程序回到调用位置继续执行

 

练习:不使用循环语句计算前n项的斐波那契数列

 

 

作业1:打印99乘法表

作业2:编程解决百钱百鸡问题,鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

作业3:显示100-1000所有素数

作业4:输入一个日期(yyyy-mm-dd),计算该日期距离1年1月1日总共过了多少天

#include<time.h>

int sec=time(NULL);

作业5:显示以下图形,要求每次printf只能输出一个字符

                 ***********
  ***********
  ***********(10行)