網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
正文
在編程中,有時(shí)需要多次執(zhí)行某些操作或(例如)n次。當(dāng)我們需要重復(fù)執(zhí)行一個(gè)語(yǔ)句塊時(shí),就會(huì)使用循環(huán)。?
例如:假設(shè)我們要打印 10 次“Hello World”。這可以通過(guò)兩種方式完成,如下所示:?
手動(dòng)(通用)方法(迭代方法)
我們必須手動(dòng)為 C 編寫(xiě) print(),為 C++ 語(yǔ)句編寫(xiě) cout 10 次。假設(shè)你必須寫(xiě) 20 次(寫(xiě) 20 條語(yǔ)句肯定會(huì)花費(fèi)更多時(shí)間)現(xiàn)在想象你必須寫(xiě) 100 次,一遍又一遍地重寫(xiě)相同的語(yǔ)句真的很忙。所以,這里的循環(huán)有它們的作用。
說(shuō)明需要循環(huán)的 C 程序
#include <stdio.h>
int main()
{
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
return 0;
}
來(lái)說(shuō)明需要循環(huán)的C++ 程序
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
return 0;
}
輸出:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
使用循環(huán)
在Loop中,語(yǔ)句只需要編寫(xiě)一次,循環(huán)將執(zhí)行10次,如下所示。在計(jì)算機(jī)編程中,循環(huán)是重復(fù)的指令序列,直到達(dá)到特定條件。?
- 完成一項(xiàng)操作:例如獲取一項(xiàng)數(shù)據(jù)并對(duì)其進(jìn)行更改,然后檢查某些條件,例如計(jì)數(shù)器是否達(dá)到規(guī)定的數(shù)量。
- 計(jì)數(shù)器未達(dá)到: 如果計(jì)數(shù)器未達(dá)到所需數(shù)量,則序列中的下一條指令返回到序列中的第一條指令并重復(fù)執(zhí)行。
- 計(jì)數(shù)器到達(dá): 如果條件已經(jīng)達(dá)到,下一條指令“落入”到下一條順序指令或分支到循環(huán)外。
主要有兩種類型的循環(huán):?
- 入口控制循環(huán):在這種類型的循環(huán)中,測(cè)試條件在進(jìn)入循環(huán)體之前被測(cè)試。For 循環(huán)和While 循環(huán)是入口控制循環(huán)。
- 退出受控循環(huán):在這種類型的循環(huán)中,測(cè)試條件在循環(huán)體的末尾進(jìn)行測(cè)試或評(píng)估。因此,無(wú)論測(cè)試條件是真還是假,循環(huán)體都會(huì)至少執(zhí)行一次。do-while循環(huán)是退出控制循環(huán)。
編號(hào) | 循環(huán)類型和說(shuō)明 |
---|---|
1. | while 循環(huán)——首先檢查條件,然后執(zhí)行主體。 |
2. | for 循環(huán)——首先初始化,然后,條件檢查,執(zhí)行主體,更新。 |
3. | do-while?- 首先,執(zhí)行主體然后條件檢查 |
?循環(huán)
for 循環(huán)是一種重復(fù)控制結(jié)構(gòu),它允許我們編寫(xiě)一個(gè)執(zhí)行特定次數(shù)的循環(huán)。該循環(huán)使我們能夠在一行中一起執(zhí)行 n 個(gè)步驟。?
語(yǔ)法:
for (initialization expr; test expr; update expr)
{
// 循環(huán)體
// 我們要執(zhí)行的語(yǔ)句
}
例子:
for(int i = 0; i < n; i++){
}
在 for 循環(huán)中,使用循環(huán)變量來(lái)控制循環(huán)。首先,將此循環(huán)變量初始化為某個(gè)值,然后檢查此變量是否小于或大于計(jì)數(shù)器值。如果語(yǔ)句為真,則執(zhí)行循環(huán)體并更新循環(huán)變量。重復(fù)步驟直到退出條件到來(lái)。?
- 初始化表達(dá)式:在這個(gè)表達(dá)式中,我們必須將循環(huán)計(jì)數(shù)器初始化為某個(gè)值。例如:int i=1;
- 測(cè)試表達(dá)式:在這個(gè)表達(dá)式中,我們必須測(cè)試條件。如果條件評(píng)估為真,那么我們將執(zhí)行循環(huán)體并轉(zhuǎn)到更新表達(dá)式,否則我們將退出 for 循環(huán)。例如:i <= 10;
- 更新表達(dá)式:執(zhí)行循環(huán)體后,此表達(dá)式將循環(huán)變量遞增/遞減某個(gè)值。例如:i++;
循環(huán)等效流程圖:
例子:
用于說(shuō)明 for 循環(huán)的 C 程序
#include <stdio.h>
int main()
{
int i=0;
for (i = 1; i <= 10; i++)
{
printf( "Hello World\n");
}
return 0;
}
用于說(shuō)明 for 循環(huán)的 C++ 程序
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 10; i++)
{
cout << "Hello World\n";
}
return 0;
}
輸出:?
Hello World?
Hello World?
Hello World?
Hello World?
Hello?
World?
Hello World?
Hello World?
Hello World?
Hello World
While 循環(huán)
在研究for 循環(huán)時(shí),我們已經(jīng)看到迭代次數(shù)是預(yù)先知道的,即循環(huán)體需要執(zhí)行的次數(shù)是我們已知的。while 循環(huán)用于我們事先 不知道循環(huán)的確切迭代次數(shù)的情況。根據(jù)測(cè)試條件終止循環(huán)執(zhí)行。語(yǔ)法:我們已經(jīng)說(shuō)過(guò),一個(gè)循環(huán)主要由三個(gè)語(yǔ)句組成——初始化表達(dá)式、測(cè)試表達(dá)式和更新表達(dá)式。三個(gè)循環(huán)的語(yǔ)法 - For、while 和 do while 主要區(qū)別在于這三個(gè)語(yǔ)句的位置。?****\
初始化表達(dá)式;
while ( test_expression )
{
// 語(yǔ)句 update_expression;
}
流程圖:
例子:
C 程序來(lái)說(shuō)明 while 循環(huán)
#include <stdio.h>
int main()
{
// 初始化表達(dá)式
int i = 1;
// 測(cè)試表達(dá)式
while (i < 6)
{
printf( "Hello World\n");
// 更新表達(dá)式
i++;
}
return 0;
}
C++程序來(lái)說(shuō)明while循環(huán)
#include <iostream>
using namespace std;
int main()
{
// 初始化表達(dá)式
int i = 1;
// 測(cè)試表達(dá)式
while (i < 6)
{
cout << "Hello World\n";
// 更新表達(dá)式
i++;
}
return 0;
}
輸出:
Hello World
Hello World
Hello World
Hello World
Hello World
do-while 循環(huán)
在 do-while 循環(huán)中,循環(huán)執(zhí)行也會(huì)根據(jù)測(cè)試條件終止。do-while 循環(huán)和while 循環(huán)之間的主要區(qū)別在于do-while 循環(huán)中的條件在循環(huán)體的末尾進(jìn)行測(cè)試,即do-while 循環(huán)是退出控制的,而其他兩個(gè)循環(huán)是入口控制的循環(huán)。?
注意:在 do-while 循環(huán)中,無(wú)論測(cè)試條件如何,循環(huán)體都將至少執(zhí)行一次。語(yǔ)法:
initialization expression;
do
{
// 陳述
update_expression;
} while (test_expression);
注意:注意循環(huán)末尾的半冒號(hào)(“;”)。
流程圖:
例子:
用于說(shuō)明 do-while 循環(huán)的 C 程序
#include <stdio.h>
int main()
{
int i = 2; // 初始化表達(dá)式
do
{
// 循環(huán)體
printf( "Hello World\n");
// 更新表達(dá)式
i++;
} while (i < 1); // 測(cè)試表達(dá)式
return 0;
}
用于說(shuō)明 do-while 循環(huán)的 C++ 程序
#include <iostream>
using namespace std;
int main()
{
int i = 2; // 初始化表達(dá)式
do
{
// 循環(huán)體
cout << "Hello World\n";
// 更新表達(dá)式
i++;
} while (i < 1); // 測(cè)試表達(dá)式
return 0;
}
輸出:?
Hello World
在上述程序中,測(cè)試條件 (i<1) 的計(jì)算結(jié)果為假。但是,由于循環(huán)是一個(gè)退出 - 控制循環(huán)體將執(zhí)行一次。
原文鏈接:https://juejin.cn/post/7143149190581846052
相關(guān)推薦
- 2022-09-09 python如何利用turtle繪制正方形_python
- 2023-12-12 線程同步的使用--this作為線程對(duì)象鎖synchronized關(guān)鍵字
- 2022-03-29 python實(shí)現(xiàn)k-means算法_python
- 2022-04-12 在碼云遠(yuǎn)程倉(cāng)庫(kù)提交時(shí)遇到的問(wèn)題error: failed to push some refs to
- 2023-02-09 python知識(shí):裝飾器@property到底有啥用途_python
- 2022-08-03 基于PyQt5完成pdf轉(zhuǎn)word功能_python
- 2023-10-16 elementUI日期選擇器快速選擇 快捷選擇(本周、上周、本月、上月、季度等)
- 2022-11-05 關(guān)于Linux下動(dòng)態(tài)查看實(shí)時(shí)日志的命令_linux shell
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支