C語言中的for循環(huán)語句基本語法及使用
今天給大家分享C語言中的for循環(huán)語句的基本語法以及基本使用。老樣子,首先還是來了解for循環(huán)的語法格式
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) { 語句; }
上面呢就是for循環(huán)的基本語法格式,我來簡要介紹一下。
表達(dá)式1:設(shè)置初始條件,只執(zhí)行一次,可以為多個變量設(shè)置初始值。
表達(dá)式2:循環(huán)條件表達(dá)式,判斷是否集訓(xùn)循環(huán)。
表達(dá)式3:執(zhí)行循環(huán)體后再執(zhí)行。
這里要注意的是,表達(dá)式1只在循環(huán)開始時執(zhí)行一次,而表達(dá)式3是循環(huán)結(jié)束后再執(zhí)行。表達(dá)式2可以省略,省略后默認(rèn)值為1,則判斷為真,for循環(huán)就會成為一個死循環(huán)。
日常編寫代碼最常用的格式
for(定義循環(huán)變量初始值;循環(huán)條件;循環(huán)變量增值) 語句;
例如,使用for循環(huán)打印1-10的數(shù)字
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int a = 0; for (a = 1; a < 11;a++) { printf("%d\n", a); } return 0; }
我來簡單解釋一下上述代碼的執(zhí)行過程,首先定義整形變量a==0,進(jìn)入循環(huán),將變量a的初始值定義為1,判斷條件為a<11為真,然后輸出a,最后a++,那么我們知道變量初始化只執(zhí)行一次,變量
增值在循環(huán)結(jié)束后執(zhí)行,則a==1在最初只執(zhí)行一次,給a賦值為1后便和循環(huán)沒有關(guān)系了,a==1進(jìn)入判斷條件<11為真,輸出a的值1,然后a自增==2,再次判斷<11為真,輸出a的值為2,a再次自增,如此循環(huán)下去,a的值到達(dá)11時循環(huán)結(jié)束。
那么既然a==1只執(zhí)行一次,a++每次都執(zhí)行,那么可不可以把a(bǔ)==1放在循環(huán)外,a++放在循環(huán)體中呢,當(dāng)然可以。
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int a = 1; for (; a < 11;) { printf("%d\n", a); a++; } return 0; }
不過要注意的是,即使將表達(dá)式1和表達(dá)式3移除,()內(nèi)的分號也不能去掉。
for循環(huán)中的break語句
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int i; for (i = 1; i < 11;i++) { if (i==5) { break; } printf("%d\n", i); } return 0; }
當(dāng)我們在剛剛實(shí)現(xiàn)的代碼中加入一個if語句,添加一個break后,執(zhí)行結(jié)果發(fā)生了變化。可以看到當(dāng)執(zhí)行到i==5時循環(huán)結(jié)束了,那我們通過這個結(jié)果不難知道,break在for循環(huán)中的意思為停止。
for循環(huán)中的continue
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int i; for (i = 1; i < 11;i++) { if (i==5) { continue; } printf("%d\n", i); } return 0; }
當(dāng)我們將上述代碼中的break替換為break之后,發(fā)現(xiàn)結(jié)果又發(fā)生了變化,可以看到結(jié)果沒有輸出5,那么我們可以知道continue的意思為跳過當(dāng)前循環(huán),執(zhí)行下一次循環(huán)。
知道了for循環(huán)的基本語法格式,我們來進(jìn)行一個小練習(xí)。
求出1!——n!的和
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int numb, i, n, ret = 1, sum = 0; scanf("%d", &numb); for (n = 1; n <= numb; n++) { ret = 1; for (i = 1; i <= n; i++) { ret *= i; } sum += ret; } printf("%d\n", sum); return 0; }
我來簡單說明一下
//假如numb=3;當(dāng)n=1,n<3,進(jìn)入循環(huán),n=1,i=1,i==n,進(jìn)入內(nèi)部循環(huán),ret=ret*i=1,i++=2>n,內(nèi)部循環(huán)跳出,sum=ret+sum=1,
//n++=2<=3,進(jìn)入第二次外部循環(huán),i=1,n=2,i<n,進(jìn)入內(nèi)部循環(huán),ret=ret*1=1,i++=2==n,再次循環(huán)ret=ret*i=2,i++=3>n,跳出內(nèi)部循環(huán),sum=ret+sum=1+2,直到n=3,sum=9
那么我們可以看到上面那個代碼在外部for語句中嵌套了一個for語句,那我們可以知道foe循環(huán)是可以支持嵌套的。
以上就是今天的分享了,那么關(guān)于for循環(huán)你了解了多少呢。
到此這篇關(guān)于C語言中的for循環(huán)語句基本語法及使用的文章就介紹到這了,更多相關(guān)C語言for循環(huán)語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Clion配置opencv開發(fā)環(huán)境的詳細(xì)過程
這篇文章主要介紹了Clion配置opencv開發(fā)環(huán)境的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考的下2022-04-04基于matlab對比度和結(jié)構(gòu)提取的多模態(tài)解剖圖像融合實(shí)現(xiàn)
這篇文章主要介紹了多模態(tài)醫(yī)學(xué)圖像配準(zhǔn)與融合的概念、方法及意義,最后簡單介紹了小波變換分析方法。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-11-11C語言動態(tài)規(guī)劃點(diǎn)殺dp算法LeetCode炒股習(xí)題案例解析
這篇文章主要介紹為了C語言動態(tài)規(guī)劃點(diǎn)殺dp算法,本文以LeetCode炒股習(xí)題案例來為大家進(jìn)行詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02Matlab處理圖像后實(shí)現(xiàn)簡單的人臉檢測
本文主要介紹一下如何使用matlab進(jìn)行圖像處理后實(shí)現(xiàn)人臉檢測,感興趣的可以了解一下2021-11-11