IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言 循环 -> 正文阅读

[C++知识库]C语言 循环

目录

循环结构

循环类型

?1. while 循环

2.??for 循环?

3. do...while 循环

while 、do...while 的区别:

循环语句的选择:

嵌套循环

? 1.嵌套for循环

2.嵌套while循环

3.for嵌套while循环

?循环控制语句

1.break 语句

2.continue语句

continue与break语句的区别


循环结构

循环结构是在一定条件下反复执行某段程序的流程结构。

根据判断条件,循环结构又可分为先判断后执行的循环结构和先执行后判断的循环结构

循环结构的三要素:循环变量、循环体和循环终止条件

循环类型

?1. while 循环

2.??for 循环?

总结:

  • for中的每一个表达式都是可以省略的,但是?'?;'必须要保留 ,即for( ; ; )
  • for (; 条件;)==while(条件),for循环等价于while循环?

例:求n的阶乘

#include<stdio.h>
int main(){
int n;
scanf ("%d", &n);
int fact =1;                //设fact和 i 的初始值都为1 
int i=1;
//while(i<=n){          
//	fact *=i;
//	i++;
//}
for (i=1;i<=n;i++){           
	fact *=i;               // *=为赋值运算,fact *=i相当于fact=fact*i;
}
printf("%d!=%d\n",n,fact);
}

语句分析:

1.? ? while (i<=n){

? ? ? ?? fact *=i;?

? ? ? ? ???++?

? }? ? ? ? //while循环语句,当i<=n时,fact=fact * i,然后计算i++,即i=i+1此时i=2,i<=n,则继续执行循环体中的语句.然后就一直循环直到不满足i<=n这个条件时,结束循环

?? ?

2.? ? for (i=1;i<=n;i++)

? ? {? ? ? ?

?fact *=i;

? ? ? ? ? ? }? ? ? ? ?

? ? ? ? ? ? ? ? //执行到for语句时,先给i赋初值1,如果i<=n,执行循环体,循环结束后,计算i++.

此时i=2,i<=n成立,则进行第二次循环,循环结束计算i++;然后一直进行循环操作,直到不满足条件,退出循环


? ? ? 这里两个语句是等价的,for==while循环语句

?3.死循环:即循环条件始终成立,循环一直会进行下去

例:for(i=1; ;i++)? {? ?//省略了循环条件,程序陷入死循环 ,要避免这种情况

? ? ? ? ? fact *=i;

? ? ? ? ? ? ? ? }

??实验结果如下:

3. do...while 循环

?

while 、do...while 的区别:

whiledo...while
while:先判断条件,后进循环体do while: 先进循环体,后判断条件
同:都是满足条件时执行循环,不满足条件结束循环

循环语句的选择:

1.如果有固定次数,用for?

2.如果必须执行一次,用do...while

3.其他情况用while

嵌套循环

嵌套循环语句:一个循环体内又存在一个完整的循环结构。

多层循环语句:内嵌循环中还可以嵌套循环

三种循环(while、do...while、for)可以互相嵌套,且层次不限

? 1.嵌套for循环

for(表达式1;表达式2;表达式3)? ?//for外循环

? ? ? ?{? ? ? 语句;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

for(表达式1;表达式2;表达式3)?

? ? {?

? ? ? ? ? 语句;

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? }

例:打印九九乘法表:?

#include <stdio.h>
int main(){
    int i, j;
    for(i=1; i<=9; i++){            //外层for循环
        for(j=1; j<=i; j++){           //内层for循环
            printf("%d*%d=%2d  ", i, j, i*j);
        }
        printf("\n");
    }
    return 0;
}

?实验结果:

2.嵌套while循环

while(条件)//外循环

{

? ? 表达式;

? ? ? ? ?while (条件)? ? ? ? ? ? ?//内循环

? ? ? ? ? ? { 表达式;

? ? ? ? ? ? ? ? ? }

... ... ...

}

3.for嵌套while循环

for(表达式1;表达式2;表达式3)

? ?{? ? ? ?循环体;

? ? 表达式1;

while(表达式2)? ? ? ? ? //内层while循环

? ? {

? ? ? ? ? ?循环体;

? ? ? ? ? 表达式3;

? ? ? ? ? }

?例:输出50以内的质数

#include<stdio.h>
#include<math.h>
int main()
{ 
     int  i,n,yes;
     for(n=1;n<50;n++)  //外层for循环
     {
     	yes=1;i=2;
     	while(yes&&i<=sqrt(n))//内层while循环
     	    if(n%i++==0)yes=0;
     	 if(yes) printf("%4d",n);
	 }
	 return 0;
}

实验结果如下:

?循环控制语句

1.break 语句

break 语句结构:

while(表达式1)

? ?{ ...

? ? ? ?if(表达式2)break;

? ?...

}? ? ? ? ? ? ?//使用break语句,会提前结束循环,接着执行循环下面的语句

注:1.break语句只用于循环语句和switch语句

? ? ? ?2.如果程序是多层循环,break只能退出本层循环

例:?

#include <stdio.h> 
int main ()
{
   int a = 10;    
   while( a < 20 )
   {
      printf("a 的值是: %d\n", a);
      a++;
      if( a > 15)
      {
          break;
      }
   } 
   return 0;
}

运行结果如下:?

2.continue语句

while(表达式1)

? ?{ ...

? ? ? ?if(表达式2)continue;

? ?...

}? ? ? //使用continue语句,会结束本次循环,即跳过循环体中下面还没有执行的语句,接着进行下一次是否执行循环的判断

例:输出100以内能被3整除且个位数是6的所有整数?

#include <stdio.h>
int main(){
	   int i,j;
	   for(i=0;i<10;i++)
	   {
	   	j=i*10+6;
	   	if(i%3!=0)  //判断i是否能被3整除
         continue;    //条件为真则退出本次循环,控制流回到for进行下一次的循环
	   	printf("%4d\n",j);
	   }
	   return 0;
}

运行结果如下:

continue与break语句的区别

break语句continue语句
跳出循环,不再判断循环条件是否成立结束本次循环,还会判断循环条件
同:break和continue语句都能改变循环状态

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 11:35:33  更:2022-10-31 11:37:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 3:16:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码