OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4582|回复: 1

《零基础看得懂的C语言入门教程 》

[复制链接]

143

主题

145

帖子

0

精华

高级会员

Rank: 4

积分
585
金钱
585
注册时间
2020-5-25
在线时间
42 小时
发表于 2020-10-26 15:58:08 | 显示全部楼层 |阅读模式
一、学习目标
  • 了解循环的使用方法
目录二、了解循环的使用方法
循环是指实现对程序进行重复执行,其中包括循环的条件判断。C语言中循环分为for循环、while循环、do…while循环。循环可以通过默认判断条件跳出,也可以自己编写控制语句实现循环的跳出或忽略。
2.1 了解for循环的使用方法
为什么需要循环?循环有什么作用?循环就是重复执行某一段代码。其实举一个很简单例子就可以很好的解释循环的作用。例如当你需要控制一个变量,让它从0每次加1、加2、加3…一直加到100,这时编写代码就可以使用循环简单的实现;你可能会觉得这个例子你不能理解,那我说如果你要输出100次“我想上天”这段话,你编写程序以当前所学的知识你觉得这是个繁琐的过程。当你学习循环后,这个繁琐的问题将会游刃而解。
先从一个简单的例子说起,现在我需要输出10次“我想上天”,使用循环,代码如下:
#include<stdio.h>void main() {        int i=0;         for(;i<10;i++){                printf("我想上天\n");        }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
在以上代码中,首先定义了一个变量i,初始化为0。之后使用for循环 for(;i<10;i++)。for循环的格式为for关键字,后接一对圆括号,圆括号内为;i<10;i++,有两个分号,第一个分号可以编写用于循环的变量的初始化,在这里为i,由于我已经在创建的时候初始化为0了,在这我就不重复赋值了;使用分号隔开后,是i<10这一个判断,表示每次循环需要判断这个表达式是否正确,如果i不小于10则不再执行循环,随后使用分号表示结束;之后i++表示每次循环i这个变量加1,第一次0+1变量i的值为1,第二次的时候则i的值为1,1+1则为2,以此类推不小于10则跳出。i++其实可以写为i=i+1,i++是一个简便的书写方法。在之后的花括号中则是循环循环的语句。
以上代码为了方便新手理解,在此贴出创建i时不初始化的代码:
#include<stdio.h>void main() {        int i;         for(i=0;i<10;i++){                printf("我想上天\n");        }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
结果如下:

我们可以更改代码每次都输出变量i的值,查看i是否增加。代码如下:
#include<stdio.h>void main() {        int i=0;         for(;i<10;i++){                printf("我想上天\n");                printf("i的值为%d\n",i);        }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
运行结果如下:

为什么i的值不是10?因为第一次是0,从0开始往上加,则在i为9的时候是第10次循环,下一次循环i的值为10则会不再循环。
如果想忽略第5次循环可以在循环体(指循环花括号内的所有内容)内添加if语句,判断i的值是否为5,为5使用continue关键字跳过当前循环。代码如下:
#include<stdio.h>void main() {        int i=0;         for(;i<10;i++){                if(i==5){                        continue;                }                printf("我想上天\n");                printf("i的值为%d\n",i);        }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
以上代码在i等于5时使用continue忽略本次循环,将不会往下执行,直接忽略,开始下一次循环。
运行结果如下,并没有i等于5的输出:

如果想等于5的时候就直接跳出循环可以使用break跳出循环。修改代码如下:
#include<stdio.h>void main() {        int i=0;         for(;i<10;i++){                if(i==5){                        break;                }                printf("我想上天\n");                printf("i的值为%d\n",i);        }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
使用break后将会直接跳出,不再循环接下来的内容。
运行结果如下:

2.2 了解while循环的使用方法
while循环与for循环类似,不过需要在循环体中设置循环变量值(循环变量指可控制循环次数的变量,在for循环中循环遍历为i)。
查看while循环示例:
#include<stdio.h>int main() {    int i=0;    while(i<10){            printf("我想上天\n");              i++;        } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
以上代码中循环使用了while,while后圆括号内的表达式为循环判断,当i不小于10时则跳出循环;花括号内的内容为循环体,循环体中i++每次增加,从而使循环可控。
运行结果如下:

2.3 了解do…while循环的使用方法
do…while循环与while循环类似,与while循环的不同之处为while循环时先判断条件再执行循环,do…while循环则会先循环再判断条件是否成立。
查看示例:
#include<stdio.h>void main() {    int i=10;    do{        printf("我想上天\n");          i++;      } while(i<10);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
do…while循环从代码示例中可以得知,首先由一个do开头,随后使用一对花括号,在花括号内则是循环体,在花括号结束后编写while关键字,并在while后的圆括号内填上循环条件。即使条件不满足do…while也会执行一次循环,最后判断条件不成立随后跳出。注意,在while条件后需要添加分号表示结束。
运行结果如下:


五、总结
通过以上描述与讲解,我们了解了以下几点内容:

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

201

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2552
金钱
2552
注册时间
2019-12-5
在线时间
352 小时
发表于 2020-10-30 08:38:36 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表