c语言内循环,C语言循环控制语句
C語(yǔ)言循環(huán)控制語(yǔ)句是一個(gè)基于C語(yǔ)言的編程語(yǔ)句,該語(yǔ)句主要有while循環(huán)語(yǔ)句、do-while循環(huán)語(yǔ)句和for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。
中文名
C語(yǔ)言循環(huán)控制語(yǔ)句
類(lèi)????別
while循環(huán)語(yǔ)句,do-while語(yǔ)句等
目????地
實(shí)現(xiàn)循環(huán)結(jié)構(gòu)屬????于
計(jì)算機(jī)領(lǐng)域
歸????類(lèi)
編程語(yǔ)句
基????礎(chǔ)
C語(yǔ)言
C語(yǔ)言循環(huán)控制語(yǔ)句基本信息
編輯
在C語(yǔ)言程序中,一共有三種程序結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循環(huán)結(jié)構(gòu);順序結(jié)構(gòu),從頭到尾一句接著一句的執(zhí)行下來(lái),直到執(zhí)行完最后一句;選擇結(jié)構(gòu),到某個(gè)節(jié)點(diǎn)后,會(huì)根據(jù)一次判斷的結(jié)果來(lái)決定之后向哪一個(gè)分支方向執(zhí)行; 循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)有一個(gè)循環(huán)體,循環(huán)體里是一段代碼。對(duì)于循環(huán)結(jié)構(gòu)來(lái)說(shuō),關(guān)鍵在于根據(jù)判斷的結(jié)果,來(lái)決定循環(huán)體執(zhí)行多少次。C語(yǔ)言循環(huán)控制語(yǔ)句是一個(gè)基于C語(yǔ)言的編程語(yǔ)句,該語(yǔ)句主要有while循環(huán)語(yǔ)句、do-while循環(huán)語(yǔ)句和for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。
C語(yǔ)言循環(huán)控制語(yǔ)句循環(huán)語(yǔ)句
編輯
一般形式如下:
while(表達(dá)式)
語(yǔ)句;
其中執(zhí)行過(guò)程如下:
while語(yǔ)句
(1)計(jì)算while后面括號(hào)里表達(dá)式的值,若其結(jié)果非0,則轉(zhuǎn)入(2),否則轉(zhuǎn)(3)
(2)執(zhí)行循環(huán)體,轉(zhuǎn)(1)
(3)退出循環(huán),執(zhí)行循環(huán)體下面的語(yǔ)句。
由于是先執(zhí)行判斷后執(zhí)行循環(huán)體,所以循環(huán)體可能一次都不執(zhí)行。
循環(huán)體可以為空語(yǔ)句“;”。
C語(yǔ)言循環(huán)控制語(yǔ)句do-while語(yǔ)句
編輯
一般形式如下:
do
語(yǔ)句;
while(表達(dá)式);
(1)執(zhí)行循環(huán)體,轉(zhuǎn)(2)
do...while語(yǔ)句
(2)計(jì)算while后面括號(hào)里表達(dá)式的值,若其結(jié)果非0,則轉(zhuǎn)入(1),否則轉(zhuǎn)(3)
(3)退出循環(huán),執(zhí)行循環(huán)體下面的語(yǔ)句。
注意:do……while語(yǔ)句最后的分號(hào)(;)不可少,否則提示出錯(cuò)。循環(huán)體至少執(zhí)行一次。[1]
C語(yǔ)言循環(huán)控制語(yǔ)句for語(yǔ)句
編輯
for語(yǔ)句是循環(huán)控制結(jié)構(gòu)中使用最廣泛的一種循環(huán)控制語(yǔ)句,特別適合已知循環(huán)次數(shù)的情況。
一般形式如下:
for ( [表達(dá)式 1]; [表達(dá)式 2 ]; [表達(dá)式3] )
語(yǔ)句
其中:
表達(dá)式1:一般為賦值表達(dá)式,給控制變量賦初值;
for語(yǔ)句
表達(dá)式2:關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)控制條件;
表達(dá)式3:一般為賦值表達(dá)式,給控制變量增量或減量;
語(yǔ)句:循環(huán)體,當(dāng)有多條語(yǔ)句時(shí),必須使用復(fù)合語(yǔ)句。
其執(zhí)行過(guò)程如下:首先計(jì)算表達(dá)式1,然后計(jì)算表達(dá)式 2。若表達(dá)式2為真,則執(zhí)行循環(huán)體;否則,退出 for循環(huán),執(zhí)行for循環(huán)后的語(yǔ)句。如果執(zhí)行了循環(huán)體,則循環(huán)體每執(zhí)行一次,都計(jì)算表達(dá)式3,然后重新計(jì)算表達(dá)式2,依此循環(huán),直至表達(dá)式 2的值為假,退出循環(huán)。
for語(yǔ)句的三個(gè)表達(dá)式都是可以省略的,但分號(hào)“;”絕對(duì)不能省略。for語(yǔ)句有以下幾種格式:
(1)for(; ;) 語(yǔ)句;
(2)for(;表達(dá)式2;表達(dá)式3 ) 語(yǔ)句;
(3)for(表達(dá)式1;表達(dá)式2;) 語(yǔ)句;
(4)for(i=1,j = n; i < j; i ++,j - - ) 語(yǔ)句;
C語(yǔ)言循環(huán)控制語(yǔ)句三種語(yǔ)句比較
編輯
同一個(gè)問(wèn)題,往往既可以用 while語(yǔ)句解決,也可以用 do-while或者for語(yǔ)句來(lái)解決,但在實(shí)際應(yīng)用中,應(yīng)根據(jù)具體情況來(lái)選用不同的循環(huán)語(yǔ)句。選用的一般原則是:
(1) 如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已確定,一般用 for語(yǔ)句。如果循環(huán)次數(shù)是由循環(huán)體的執(zhí)行情況確定的,一般用 while語(yǔ)句或者do- while語(yǔ)句。
(2) 當(dāng)循環(huán)體至少執(zhí)行一次時(shí),用 do-while語(yǔ)句,反之,如果循環(huán)體可能一次也不執(zhí)行,則選用while語(yǔ)句。
C++/C循環(huán)語(yǔ)句中,for語(yǔ)句使用頻率最高,while語(yǔ)句其次,do語(yǔ)句很少用。
三種循環(huán)語(yǔ)句for、while、do-while可以互相嵌套自由組合。但要注意的是,各循環(huán)必須完整,相互之間絕不允許交叉。
C語(yǔ)言循環(huán)控制語(yǔ)句其他循環(huán)語(yǔ)句
編輯
多重循環(huán)結(jié)構(gòu)
在多重循環(huán)中,如果有可能,應(yīng)當(dāng)將最長(zhǎng)的循環(huán)放在最內(nèi)層,最短的循環(huán)放在最外層,以減少CPU跨越循環(huán)層的次數(shù)。
一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu)
三種循環(huán)可互相嵌套,層數(shù)不限
外層循環(huán)可包含兩個(gè)以上內(nèi)循環(huán),但不能相互交叉
C語(yǔ)言循環(huán)控制語(yǔ)句c循環(huán)舉例
編輯
這里使用c語(yǔ)言中的for循環(huán)。添加了九九乘法表查詢、每天存錢(qián)問(wèn)題、猴子吃桃問(wèn)題、百錢(qián)買(mǎi)百雞。
#include
void main()
{
float x,y,z,a,b,c,d,i,n,sum;int m;char yn;
system ("graftable 936");
yn='y';
while(yn=='y' )
{
clrscr ();
printf(" 歡迎使用 \n");
printf("請(qǐng)按提示操作,謝謝!\n");
printf("九九乘法表查詢請(qǐng)按1\n");
printf("每天存錢(qián)問(wèn)題請(qǐng)按2\n");
printf("猴子吃桃問(wèn)題請(qǐng)按3\n");
printf("一分?jǐn)?shù)序列課本請(qǐng)按4\n");
printf("百錢(qián)買(mǎi)百雞請(qǐng)按5\n");
m=getch();
switch(m)
{case '1':
{
for (a=1;a<=9;a++)
{for (b=1;b<=a;b++)
printf("%.0f*%.0f=%2.0f\t",a,b,a*b);
printf("\n");
}
break;}
case '2':
{
a=1,sum=0;
for(i=1;i<31;i++)
{sum=sum+a;
printf("第%2.0f天收益%20.0f分錢(qián)\t",i,sum);
a=2*a;
}
break;}
case '3':
{
b=1;
for(i=1;i<10;i++)
b=2*(b+1);
printf("猴子吃桃問(wèn)題:");
printf("第一天摘桃子的個(gè)數(shù)為%.0f個(gè)\n",b);
break;}
case '4':
{ a=2,b=1, sum=0;
for(i=1;i<=20;i++)
{ n=(1.0*a)/b; c=a; a=a+b; b=c; sum=sum+n; }
printf("2/1,3/2,5/3...最后結(jié)果%f\n",sum);
break;}
case '5':
{
for(a=1;a<=20;a++)
for(b=1;b<=33;b++)
for(c=3;c<=99;c=c+3)
if((5*a+3*b+c/3==100)&&(a+b+c==100))
printf("公雞=%.0f,母雞=%.0f,小雞=%.0f\n",a,b,c);
break;}
}
fflush(stdin);
printf("請(qǐng)選擇繼續(xù)y或者離開(kāi)n\n");
yn=getch();
}
}
參考資料
1.
C語(yǔ)言do-while語(yǔ)句的用法
.C語(yǔ)言中文網(wǎng)[引用日期2015-11-04]
總結(jié)
以上是生活随笔為你收集整理的c语言内循环,C语言循环控制语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql 计算近30天总金额_mysq
- 下一篇: 简直处处针对苹果!欧盟:手机平板将采用T