C語言中的for循環(huán)語句基本語法及使用
今天給大家分享C語言中的for循環(huán)語句的基本語法以及基本使用。老樣子,首先還是來了解for循環(huán)的語法格式
for(表達式1;表達式2;表達式3)
{
語句;
}上面呢就是for循環(huán)的基本語法格式,我來簡要介紹一下。
表達式1:設(shè)置初始條件,只執(zhí)行一次,可以為多個變量設(shè)置初始值。
表達式2:循環(huán)條件表達式,判斷是否集訓(xùn)循環(huán)。
表達式3:執(zhí)行循環(huán)體后再執(zhí)行。
這里要注意的是,表達式1只在循環(huán)開始時執(zhí)行一次,而表達式3是循環(huán)結(jié)束后再執(zhí)行。表達式2可以省略,省略后默認值為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,進入循環(huán),將變量a的初始值定義為1,判斷條件為a<11為真,然后輸出a,最后a++,那么我們知道變量初始化只執(zhí)行一次,變量
增值在循環(huán)結(jié)束后執(zhí)行,則a==1在最初只執(zhí)行一次,給a賦值為1后便和循環(huán)沒有關(guān)系了,a==1進入判斷條件<11為真,輸出a的值1,然后a自增==2,再次判斷<11為真,輸出a的值為2,a再次自增,如此循環(huán)下去,a的值到達11時循環(huán)結(jié)束。
那么既然a==1只執(zhí)行一次,a++每次都執(zhí)行,那么可不可以把a==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;
}
不過要注意的是,即使將表達式1和表達式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)我們在剛剛實現(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)的基本語法格式,我們來進行一個小練習(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,進入循環(huán),n=1,i=1,i==n,進入內(nèi)部循環(huán),ret=ret*i=1,i++=2>n,內(nèi)部循環(huán)跳出,sum=ret+sum=1,
//n++=2<=3,進入第二次外部循環(huán),i=1,n=2,i<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)文章
C++ Primer Plus 第四章之C++ Primer Plus復(fù)合類型學(xué)習(xí)筆記
數(shù)組(array)是一種數(shù)據(jù)格式,能夠存儲多個同類型的值。每個值都存儲在一個獨立的數(shù)組元素中,計算機在內(nèi)存中依次存儲數(shù)組的各個元素,今天給大家重點介紹C++ Primer Plus復(fù)合類型的實例詳解,感興趣的朋友一起看看吧2021-07-07
C++實現(xiàn)CreatThread函數(shù)主線程與工作線程交互的方法
這篇文章主要介紹了C++實現(xiàn)CreatThread函數(shù)主線程與工作線程交互的方法,是Windows應(yīng)用程序設(shè)計中非常實用的方法,需要的朋友可以參考下2014-10-10
C++集體數(shù)據(jù)交換實現(xiàn)示例講解
這篇文章主要介紹了C++集體數(shù)據(jù)交換實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-11-11
關(guān)于C++靜態(tài)成員函數(shù)訪問非靜態(tài)成員變量的問題
靜態(tài)成員函數(shù)不能訪問非靜態(tài)成員,這是因為靜態(tài)函數(shù)屬于類而不是屬于整個對象,靜態(tài)函數(shù)中的 member可能都沒有分配內(nèi)存。靜態(tài)成員函數(shù)沒有隱含的this自變量。所以,它就無法訪問自己類的非靜態(tài)成員2013-10-10

