C語言中的for循環(huán)語句基本語法及使用
今天給大家分享C語言中的for循環(huán)語句的基本語法以及基本使用。老樣子,首先還是來了解for循環(huán)的語法格式
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) { 語句; }
上面呢就是for循環(huán)的基本語法格式,我來簡(jiǎn)要介紹一下。
表達(dá)式1:設(shè)置初始條件,只執(zhí)行一次,可以為多個(gè)變量設(shè)置初始值。
表達(dá)式2:循環(huán)條件表達(dá)式,判斷是否集訓(xùn)循環(huán)。
表達(dá)式3:執(zhí)行循環(huán)體后再執(zhí)行。
這里要注意的是,表達(dá)式1只在循環(huán)開始時(shí)執(zhí)行一次,而表達(dá)式3是循環(huán)結(jié)束后再執(zhí)行。表達(dá)式2可以省略,省略后默認(rèn)值為1,則判斷為真,for循環(huán)就會(huì)成為一個(gè)死循環(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; }
我來簡(jiǎn)單解釋一下上述代碼的執(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時(shí)循環(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)的分號(hào)也不能去掉。
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)我們?cè)趧倓倢?shí)現(xiàn)的代碼中加入一個(gè)if語句,添加一個(gè)break后,執(zhí)行結(jié)果發(fā)生了變化??梢钥吹疆?dāng)執(zhí)行到i==5時(shí)循環(huán)結(jié)束了,那我們通過這個(gè)結(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)行一個(gè)小練習(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; }
我來簡(jiǎn)單說明一下
//假如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
那么我們可以看到上面那個(gè)代碼在外部for語句中嵌套了一個(gè)for語句,那我們可以知道foe循環(huán)是可以支持嵌套的。
以上就是今天的分享了,那么關(guān)于for循環(huán)你了解了多少呢。
到此這篇關(guān)于C語言中的for循環(huán)語句基本語法及使用的文章就介紹到這了,更多相關(guān)C語言for循環(huán)語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Clion配置opencv開發(fā)環(huán)境的詳細(xì)過程
這篇文章主要介紹了Clion配置opencv開發(fā)環(huán)境的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考的下2022-04-04基于matlab對(duì)比度和結(jié)構(gòu)提取的多模態(tài)解剖圖像融合實(shí)現(xiàn)
這篇文章主要介紹了多模態(tài)醫(yī)學(xué)圖像配準(zhǔn)與融合的概念、方法及意義,最后簡(jiǎn)單介紹了小波變換分析方法。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-11-11C++小知識(shí):C/C++中不要按值傳遞數(shù)組
今天小編就為大家分享一篇關(guān)于C++小知識(shí):C/C++中不要按值傳遞數(shù)組,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01C++實(shí)現(xiàn)高并發(fā)異步定時(shí)器
這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)高并發(fā)異步定時(shí)器,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11C語言動(dòng)態(tài)規(guī)劃點(diǎn)殺dp算法LeetCode炒股習(xí)題案例解析
這篇文章主要介紹為了C語言動(dòng)態(tài)規(guī)劃點(diǎn)殺dp算法,本文以LeetCode炒股習(xí)題案例來為大家進(jìn)行詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02Matlab處理圖像后實(shí)現(xiàn)簡(jiǎn)單的人臉檢測(cè)
本文主要介紹一下如何使用matlab進(jìn)行圖像處理后實(shí)現(xiàn)人臉檢測(cè),感興趣的可以了解一下2021-11-11