C语音中while,do{...}while,for循环,switch,if分支#详讲

知者何南  论坛元老 | 2024-6-24 15:17:20 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1943|帖子 1943|积分 5829

一,什么是循环?

循环通俗来讲就是重复做一件事情,转化在电脑上的语言就是在满足条件的时候,反复运行其内的代码,直到条件不再满足时,则继承向下运行。
二,我们为什么须要循环?

我们的程序在有的时候须要做一些重复的指令或动作,然而这些重复的指令或动作如果让程序员一条条写出来是那将是不实际的,面对这种情况就须要我们的循环结构,以便于程序员将实现方案进行简单化。
1.1 while循环  

while循环是C语言中最根本的循环结构体之一,它的用法很简单,就是包含关键词及循环条件。
当循环条件建立时进行循环,条件不建立时跳出循环,注意的是条件有时不是一成稳定的,而且while没有头文件。
例子: 
  1. int main()
  2. {
  3. int arr = 0;
  4.     while(arr < 5)
  5.     {
  6.       arr++;
  7.     }
  8.     return 0;
  9. }
复制代码
 解释:我们的括号里一般是写循环条件的,也有把条件写成运算的情势,那么这样久做了两件事,一个是进行运算,一个是进行了条件判断。像这个arr++是一个运算代码快,arr<5时会不停执行arr++的运算,在arr++运算的过程中arr在改变,以是当arr等于5时跳出循环。while循环了五次。
注意请不要把while写成死循环。
 流程图分析:

 1.2 do{...}while循环

 do{...}while循环它与while差不多, do{...}while循环它总比while多一次,它会先进行一次代码快的运行,再判断条件。以是do{...}while至少会将代码块执行一次。固然如果控制表达式的值为 true,那么另一次循环就会继承;如果是 false,则循环结束。
对比示范:
  1. int main()
  2. {
  3.         int i = 1;//初始化
  4.         do
  5.         {
  6.                 printf("%d ", i);
  7.                 i = i + 1;//调整部分
  8.         } while (i  == 0);//判断条件
  9.        
  10.         return 0;
复制代码
这段代码如果只是while的判断条件的话,它根本就不会执行,由于i永久不会等于0,然而如果是do{...}while循环的话,就会执行一次,这里就会执行printf及i = i + 1。
1.3 for循环

for也是C语言中最根本的循环结构体之一,乃至它比while循环还要用得多,它的理解也是比力简单的。
   for(初始化表达式;条件表达式;循环变量变化表达式){
          //循环体
      }
  for循环的括号里肯定有两个;;,即使它们的语句是空的。初始化表达式 可以在括号里定义,也可以在括号外面定义,但初始化表达式要赋值。条件表达式可写可不写,不写就是死循环,一般没什么意义。循环变量变化表达式可以写在括号里也可以写在大括号的循环体中,这取决于你自己
我们看一个:
  1. int main()
  2. {
  3.         int i = 0;
  4.         for (i = 0; i < 10; i++)
  5.         {
  6.                 printf("%d ", i);
  7.         }
  8.         return 0;
复制代码
printf循环10次。
三,什么是分支?

分支就是有很多选择,比如如果....那么......大概如果......如果......如果.....那么......的多条件判断。是一种逻辑的分析。
四,我们为什么须要分支?

在实际中我们有很多的选择,对差别的选择有差别的应对方法,换算到计算机上就是有差别的分支,在差别的分支里执行差别的代码块。
2.1 switch分支

switch分支是C语音分支中二大分支之一,相较于if分支它用起来就比力简化,当它支持很多的选择时,他会比if更具有可读性。
  1. int main()
  2. {
  3.     int day = 3;
  4.     switch(day)
  5.     {
  6.          case 1 :
  7.         printf("星期一\n");
  8.         break;
  9.          case 2 :
  10.         printf("星期2\n");
  11.         break;
  12.          case 3 :
  13.         printf("星期3\n");
  14.         break;
  15.          case 4 :
  16.         printf("星期4\n");
  17.         break;
  18.          case 5 :
  19.         printf("星期5\n");
  20.         break;
  21.          case 6:
  22.         printf("星期6\n");
  23.         break;
  24.          case 8 :
  25.         printf("星期7\n");
  26.         break;
  27.         default:
  28.         printf("we");
  29.         break;
  30.     }
  31.     return 0;
  32. }
复制代码
解释:这里是用1到8来选择printf的打印,它的括号里的表达式是一个具体的变量,case是Switch的一部门,表现差别的选择,它背面的值肯定是具体的值,不可以是变量,不可以是字符串,要判断字符串要用if;default也是switch的一部门,但它可以省略,同时它也可以放在任意一个case的背面。
2.2 if分支

if分支是C语音分支中二大分支之一,它比switch用得多,if可以单独写,也可以配合else写。if相当于如果,else相当那么,固然if == else if ,else if 可以多次写。
比如:
  1.                 int grade = 88;
  2.                 if(grade>100 || grade<0){
  3.                          printf("请输入合理成绩!");
  4.                 }
  5.                 else if(grade==100){
  6.                          printf("恭喜你100分");
  7.                 }
  8.                 else if(grade>80 && grade<=90){
  9.                          printf("您的成绩为"+grade+"");
  10.                 }
  11.                 else if(grade>=60 && grade<=80){
  12.                      printf("您的成绩为"+grade+"");
  13.                 }
  14.                 else{
  15.                          printf("对不起您成绩太差");
  16.                 }
  17.        
复制代码
括号里是判断条件。
五,break和continue的作用

1.break用于跳出一个循环体大概完全结束一个循环,不光可以结束其所在的循环,还可结束其外层循环。
break只能在循环体内和switch语句体内使用。
当break出现在循环体中的switch语句体内时,,起作用只是跳出该switch语句体并不能停止循环体的执行。如果switch case 语句体内没有break,它会从case 指定值开始每个的都运行到。
2.continue语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定可以理解为只是中断(跳过)本次循环,接着开始下一次循环。continue语句并没有使整个循环停止。

家人们,来都来了,动动你们发财的小手,给我点点关注,点点赞呗,你们的支持就是我创作的动力,我会连续发布高质量的文章供大家一起学习。
接待一起学习互换,批评指正。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

知者何南

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表