一业舍、定義和分類
1抖拦、定義
某些代碼會被重復執(zhí)行
2升酣、分類
for語句,while語句态罪,do...while語句噩茄,break和continue語句
二、for語句
1复颈、for最簡單的用法
格式:
for(表達式1绩聘;表達式2;表達式3)
語句A耗啦;
舉例:for循環(huán)執(zhí)行求1~4的和
#include
int main(void)
{
int i;
int sum=0; //sum一定要初始化凿菩,也就是必須要賦值,否則sum里面會是個垃圾值
for(i=1;i
sum=sum+i;
printf("sum=%d\n",sum);
return 0;
}
2帜讲、執(zhí)行的流程
(1)衅谷、單個for循環(huán)的使用:
for(表達式1;表達式2舒帮;表達式3)
語句A会喝;
流程:表達式1先執(zhí)行陡叠,看是否滿足2玩郊,滿足則執(zhí)行語句A;A執(zhí)行完繼續(xù)執(zhí)行3枉阵,然后判斷是否滿足2译红,若滿足則執(zhí)行A,A執(zhí)行完繼續(xù)執(zhí)行3兴溜,繼續(xù)判斷是否滿足2侦厚。。拙徽。
(2)刨沦、多個for循環(huán)的嵌套使用:
for(表達式1;表達式2;表達式3) //外層for語句,也叫外循環(huán)
{
for(表達式4;表達式5;表達式6) //內(nèi)層for語句膘怕,也叫內(nèi)循環(huán)
}
流程:外循環(huán)表達式1先執(zhí)行想诅,判斷是否滿足2,滿足則執(zhí)行內(nèi)循環(huán)表達式4岛心,判斷是否滿足5来破,滿足則執(zhí)行內(nèi)循環(huán)的語句A和B,AB執(zhí)行完則執(zhí)行6忘古,然后判斷是否滿足5徘禁,若滿足則執(zhí)行AB,若不滿足則跳到外循環(huán)來執(zhí)行表達式3髓堪,然后判斷3是否滿足2送朱,依次順序執(zhí)行
3娘荡、范圍問題
(1)、for(表達式1驶沼;表達式2它改;表達式3)
語句A;
語句B;
解釋:for默認只能控制語句A的執(zhí)行和不執(zhí)行商乎,for無法控制語句B的執(zhí)行和不執(zhí)行
(2)央拖、for(表達式1;表達式2鹉戚;表達式3)
{
語句A;
語句B;
}
解釋:此時for可以控制語句A和B鲜戒,for語句想要執(zhí)行多條語句只能用花括號括起來
4、舉例
(1)抹凳、求1~100之間奇數(shù)之和
#include
int main(void)
{
int i;
int sum=0;
for(i=1;i
sum=sum+i;
printf("i=%d\n",i);
printf("sum=%d\n",sum);
return 0;
}
(2)遏餐、求1~10之間能被3整除的所有數(shù)之和,for和if嵌套使用
#include
int main(void)
{
int i;
int sum=0;
for(i=3;i
{
if(i%3==0) //i能被3整除赢底,余數(shù)為0
sum=sum+i;
}
printf("sum=%d\n",sum);
return 0;
}
(3)失都、for循環(huán)的強制類型轉(zhuǎn)化,求1+1/2+.....+1/10
#include
int main(void)
{
int i;
float sum=0; //所求算式最終求和結(jié)果會含有小數(shù)幸冻,所以sum要定義成浮點型
for(i=1;i
{
sum=sum+1/(float)(i); //這里使用到了類型轉(zhuǎn)化粹庞,把整型i轉(zhuǎn)化成浮點型
//sum=sum+(float)(1/i); 這樣的寫法是錯誤的
//更簡單的寫法是:sum=sum+1.0/i;
}
printf("sum=%f\n",sum); //float必須用%f輸出,因為開始就將sum定義成了float型
return 0;
}
(4)洽损、多個for循環(huán)嵌套使用
#include
int main(void)
{
int i,j;
for(i=0;i
{
for(j=2;j
printf("AAA\n");
}
printf("BBB\n");
return 0;
}
相關(guān)文章
基礎(chǔ)C語言(二):數(shù)據(jù)類型漫贞、變量和數(shù)據(jù)的存儲
基礎(chǔ)C語言4:輸入輸出函數(shù)scanf和printf
ps:歡迎關(guān)注凱哥微信公眾號:凱哥Java