當前位置:
首頁 > 知識 > 每天學習C語言——解析for循環的10種用法

每天學習C語言——解析for循環的10種用法

陽光

今天和大家一起學習for循環以及它的多種用法:

有些while循環的例子是不確定的,也就是說,在表達式變為假之前,您不能預先知道循環要執行多少次。

我們也可以通過計數循環,使它們循環預先確定的次數。

示常式序 1

在建立一個重複執行固定次數的循環時涉及到三個動作:

1、必須初始化一個計數器;

2、計數器與某個有限的值進行比較;

3、每次執行循環,計數器的值都要遞增。

while循環條件執行比較的動作,增量運算符執行遞增的動作。在例子中,遞增在循環的結尾處執行,這種選擇使得有可能不小心漏掉遞增的動作。所以更好的辦法是使用count++

想要一起學習C++的可以加裙四五三二四三二八零,裙內有各種資料滿足大家,歡迎加裙

所以,我們來看一種可以避免這些問題的控制語句:for循環。

for 循環把所有這三種動作(初始化、測試、更新)都放在一起。通過使用for循環,您可以用示常式序2的程序來代替前一個程序 。

示常式序 2

在關鍵字for之後的圓括弧中包含了由兩個分號分開的三個表達式。

第一個表達式進行初始化, 它在for循環開始的時候執行一次。

第二個表達式是判斷條件,在每次執行循環之前都要對它進行求值。當表達式為假時,循環就結束了。

第三個表達式進行改變或稱為更新,它在每次循環結束時進行計算。

三個控制表達式中的每一個都是完整的表達式,所以任意一個控制表達式的任何副作用(例如把一個變更的值遞增)都在程序求下一個表達式的值之前生效。

示常式序 3

for 循環的第一行告訴我們關於循環參數的所有信息:num的初始值,num的最終值以及num在每次循環的增量。

利用for循環的靈活性

for循環還有更多其他的可能性,下面是其中的9種:

1、您可以使用減量運算符來減小計數器而不是增加它。

示常式序 3

2、如果您需要,您可以讓計數器依次加2、加10,等等:

示常式序 4

3、您也可以使用字元來代替數字進行計數:

這段程序可以工作,因為字元是以整數形式進行存儲的,所以這個循環實際上仍然是用整數來計數的。

4、您可以判斷迭代次數之外的條件。在示例3程序中,您可以將

for (num=1;num

用for (num=1;num*num*num

如果與限制循環相比,您更關心限制立方的大小,就可以使用這種判斷條件。

5、您也可以讓數量幾何增加而不是算術增加;也就是不是每次加一個固定的數,而是乘上一個固定的數。

6、在第三個表達式中,您可以使用任何合法的表達式。無論您使用的是什麼,在每次循環中都會得到更新。

7、您甚至可以讓一個或多個表達式為空(但是不要遺漏分號)。只須確保在循環中包含了一些能使循環最終結束的語句。

8、第一個表達式不必初始化一個變數,它也可以是某種類型的printf()語句。要記住第一個表達式只在執行循環的其他部分之前被求值或執行一次。

示常式序 5

9、循環中的動作可以改變循環表達式的參數。例如,假定您有一個這樣的循環:

for (n=1;n

在互動式的程序中,delta的值可以在循環運行時由用戶進行改變。這種調節有一點危險,例如把delta設置為0會使您(和循環)停止不前。

簡言之,因為您有選擇for循環的控制表達式的自由,這使得您在執行固定次數的循環之外還可以做更多的事情。

總結:for語句是一個入口條件循環,即是否再次執行循環的決定是在循環執行之前做出的。

想要一起學習C++的可以加裙四五三二四三二八零,裙內有各種資料滿足大家,歡迎加裙


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 C加加 的精彩文章:

入門,C語言學習的四個點
為什麼學習C語言,那麼小編來告訴你
技術過硬年薪百萬不是夢,論C加加程序員的前景
每天學點C語言-不得不知的類型轉換
看過來,看過來 C語言獲取系統時間的幾種方式

TAG:C加加 |

您可能感興趣

Adobe Photoshop CC 2018 Win/Mac 中文/英文/多語言破解版
Artifact將支持25種語言 自帶中英俄語音
Google大法好,支持106種語言實時翻譯
Google Play 年度最佳 App:每天 5 分鐘,輕鬆學會 32 種語言
Google Assistant今年將提供30多種語言 覆蓋95%的Android手機
Facebook新研究:一個編碼器hold住93種語言!跨語言遷移無需修改
CL 2018:斯坦福大學:用自然語言解釋訓練分類器
I/O 2018大會下周見,大膽預測 Material Design 2.0 設計語言
ios11越獄Electra界面語言改為中文簡體
走向世界 Google Assistant新增30種語言
ECMAScript 2018 語言規範正式發布
Python領先優勢,PyTorch僅佔6.4%:2018年數據科學語言&工具排名
如何將Python自然語言處理速度提升100倍:用spaCy/Cython加速NLP
Rust語言2018使用情況大調查
Kanye 用多國語言給 350 V2 「Triple White」 造勢
谷歌Gboard輸入法新增50種語言
草圖大師 SketchUp Pro 2018 中文版/英文版/多語言 Win破解版
【統一視覺語言才是品牌推廣關鍵】樂天 Lotte World Mall 2018春季活動視覺設計
Win32應用即將擁抱Fluent Design設計語言
攝影|Bruno Barbey:世界通用語言