網站首頁 編程語言 正文
正文
在編程中,有時需要多次執行某些操作或(例如)n次。當我們需要重復執行一個語句塊時,就會使用循環。?
例如:假設我們要打印 10 次“Hello World”。這可以通過兩種方式完成,如下所示:?
手動(通用)方法(迭代方法)
我們必須手動為 C 編寫 print(),為 C++ 語句編寫 cout 10 次。假設你必須寫 20 次(寫 20 條語句肯定會花費更多時間)現在想象你必須寫 100 次,一遍又一遍地重寫相同的語句真的很忙。所以,這里的循環有它們的作用。
說明需要循環的 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;
}
來說明需要循環的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
使用循環
在Loop中,語句只需要編寫一次,循環將執行10次,如下所示。在計算機編程中,循環是重復的指令序列,直到達到特定條件。?
- 完成一項操作:例如獲取一項數據并對其進行更改,然后檢查某些條件,例如計數器是否達到規定的數量。
- 計數器未達到: 如果計數器未達到所需數量,則序列中的下一條指令返回到序列中的第一條指令并重復執行。
- 計數器到達: 如果條件已經達到,下一條指令“落入”到下一條順序指令或分支到循環外。
主要有兩種類型的循環:?
- 入口控制循環:在這種類型的循環中,測試條件在進入循環體之前被測試。For 循環和While 循環是入口控制循環。
- 退出受控循環:在這種類型的循環中,測試條件在循環體的末尾進行測試或評估。因此,無論測試條件是真還是假,循環體都會至少執行一次。do-while循環是退出控制循環。
編號 | 循環類型和說明 |
---|---|
1. | while 循環——首先檢查條件,然后執行主體。 |
2. | for 循環——首先初始化,然后,條件檢查,執行主體,更新。 |
3. | do-while?- 首先,執行主體然后條件檢查 |
?循環
for 循環是一種重復控制結構,它允許我們編寫一個執行特定次數的循環。該循環使我們能夠在一行中一起執行 n 個步驟。?
語法:
for (initialization expr; test expr; update expr)
{
// 循環體
// 我們要執行的語句
}
例子:
for(int i = 0; i < n; i++){
}
在 for 循環中,使用循環變量來控制循環。首先,將此循環變量初始化為某個值,然后檢查此變量是否小于或大于計數器值。如果語句為真,則執行循環體并更新循環變量。重復步驟直到退出條件到來。?
- 初始化表達式:在這個表達式中,我們必須將循環計數器初始化為某個值。例如:int i=1;
- 測試表達式:在這個表達式中,我們必須測試條件。如果條件評估為真,那么我們將執行循環體并轉到更新表達式,否則我們將退出 for 循環。例如:i <= 10;
- 更新表達式:執行循環體后,此表達式將循環變量遞增/遞減某個值。例如:i++;
循環等效流程圖:
例子:
用于說明 for 循環的 C 程序
#include <stdio.h>
int main()
{
int i=0;
for (i = 1; i <= 10; i++)
{
printf( "Hello World\n");
}
return 0;
}
用于說明 for 循環的 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 循環
在研究for 循環時,我們已經看到迭代次數是預先知道的,即循環體需要執行的次數是我們已知的。while 循環用于我們事先 不知道循環的確切迭代次數的情況。根據測試條件終止循環執行。語法:我們已經說過,一個循環主要由三個語句組成——初始化表達式、測試表達式和更新表達式。三個循環的語法 - For、while 和 do while 主要區別在于這三個語句的位置。?****\
初始化表達式;
while ( test_expression )
{
// 語句 update_expression;
}
流程圖:
例子:
C 程序來說明 while 循環
#include <stdio.h>
int main()
{
// 初始化表達式
int i = 1;
// 測試表達式
while (i < 6)
{
printf( "Hello World\n");
// 更新表達式
i++;
}
return 0;
}
C++程序來說明while循環
#include <iostream>
using namespace std;
int main()
{
// 初始化表達式
int i = 1;
// 測試表達式
while (i < 6)
{
cout << "Hello World\n";
// 更新表達式
i++;
}
return 0;
}
輸出:
Hello World
Hello World
Hello World
Hello World
Hello World
do-while 循環
在 do-while 循環中,循環執行也會根據測試條件終止。do-while 循環和while 循環之間的主要區別在于do-while 循環中的條件在循環體的末尾進行測試,即do-while 循環是退出控制的,而其他兩個循環是入口控制的循環。?
注意:在 do-while 循環中,無論測試條件如何,循環體都將至少執行一次。語法:
initialization expression;
do
{
// 陳述
update_expression;
} while (test_expression);
注意:注意循環末尾的半冒號(“;”)。
流程圖:
例子:
用于說明 do-while 循環的 C 程序
#include <stdio.h>
int main()
{
int i = 2; // 初始化表達式
do
{
// 循環體
printf( "Hello World\n");
// 更新表達式
i++;
} while (i < 1); // 測試表達式
return 0;
}
用于說明 do-while 循環的 C++ 程序
#include <iostream>
using namespace std;
int main()
{
int i = 2; // 初始化表達式
do
{
// 循環體
cout << "Hello World\n";
// 更新表達式
i++;
} while (i < 1); // 測試表達式
return 0;
}
輸出:?
Hello World
在上述程序中,測試條件 (i<1) 的計算結果為假。但是,由于循環是一個退出 - 控制循環體將執行一次。
原文鏈接:https://juejin.cn/post/7143149190581846052
相關推薦
- 2022-06-18 Android使用廣播發送消息_Android
- 2022-02-13 使用filter過濾器計算數組中符合條件的長度
- 2022-09-30 QT實現多文件拖拽獲取路徑的方法_C 語言
- 2022-06-02 Nginx虛擬主機的配置步驟過程全解_nginx
- 2022-05-10 關于react中的state整理
- 2022-04-05 關于Unity中RectTransform與transform的區別_C#教程
- 2022-08-15 解決多個el-checkbox內容折行對不齊問題(可以限制每行展示的個數)
- 2022-03-20 Android四大組件之Activity詳細介紹_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支