首页 > 其他分享 >学习记录:day04笔记

学习记录:day04笔记

时间:2023-03-21 20:47:24浏览次数:37  
标签:语句 循环体 变量 记录 笔记 day04 while 循环 goto

一、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行)
 

标签:语句,循环体,变量,记录,笔记,day04,while,循环,goto
From: https://www.cnblogs.com/-xdj/p/17241346.html

相关文章

  • 学习记录:day05笔记
    一、数组什么是数组:变量的组合,是一种批量定义相同类型变量的方式定义:类型名数组名[数量];intarr[5];注意:数组的内存空间是连续分配的,且数组的长度一旦确定就无......
  • 构建之法阅读笔记1
    一、我过去是怎么做的  过去,刚开始学C时,我还不知道这些编程语言能干什么用,而且老师也只是只讲课本知识,动手实践很少,导致现在回想大一时并没有什么收获可以回味。加上......
  • 学习记录:day06笔记
    一、Window下获取方向键1、导入头文件#include<conio.h>2、通过getch()获取键盘上的键值上:72下:80左:75右:77 二、Linux下获取方向键:1、在Window中把getch.h文......
  • 学习记录:day07笔记
    进制转换1、为什么使用二进制、八进制、十六进制?因为目前CPU只能识别高低两种电平,只能对二进制数据进行计算二进制虽然能够直接别计算机识别但是不方便人去书写和记......
  • [嵌入式RTOS]记录一下因浮点数转为字符串导致精度损失所踩的坑
    1.起因:工作中对接平台需要将设备的GPS数据传给平台,但是平台采用的不是回调函数将数据直接作为参数返回而是格式化的字符串命令,所以需要将double类型的gps数据格式化输出到......
  • 记录:MDPI参考文献调整(Zotero)
    一参考文献格式字体大小常用格式三种:期刊,图书章节,会议,网址引用二选择zotero格式1.Stylerequest:MDPI(generalstyle)-ZoteroForums 打开链接,下拉,选择最新的......
  • react 官网学习笔记
    1.元素(html片段)和组件的关系(js函数)2.写组件的方式(function还是class)3.一个括号和两个括号的使用场景{}(获取值/js函数调用){{}}4.props和render都是做什......
  • 【笔记】electron + react + antd
    electronElectron是一个使用JavaScript、HTML和CSS构建桌面应用程序的框架。嵌入Chromium和Node.js到二进制的Electron允许您保持一个JavaScript代码代码库......
  • 王树森Transformer学习笔记
    目录TransformerAttention结构Self-Attention结构Multi-headSelf-AttentionBERT:BidirectionalEncoderRepresentationsfromTransformersSummaryReferenceTransformer......
  • 树链剖分学习笔记(1)
    两大DFS树链剖分是一个比较简单易懂的算法,其两个基础操作为两次dfs,第一次dfs求出每个节点的父节点(\(f_{i}\)),深度(\(dep_{i}\)),子树大小(\(size_{i}\)),重儿子(\(son_{i}\))。其......