C语言while循环语句 do while语句 for循环语句
一、循環(huán)結(jié)構(gòu)的思想及意義:
知道了循環(huán)結(jié)構(gòu),那么在生活中也一樣,我們每天都在重復(fù)做著相同的事情,例如:吸氣呼氣的過程;又如夏天開電扇,電扇一圈一圈的轉(zhuǎn),這都是在重復(fù)?,F(xiàn)在大家玩?zhèn)€游戲,一個人A來說一個人B來做,一個人A說命令“敬禮,禮畢”,另一人B做動作十遍;第一種思維那就是說一下命令就讓B執(zhí)行動作,B執(zhí)行完動作后,A再繼續(xù)說命令,B再繼續(xù)做動作,同樣的事情重復(fù)十遍。如果利用所學(xué)的知識,讓你輸出十遍“敬禮,禮畢”,你會怎么寫程序呢?
那A要讓B說一萬遍呢,顯然如果還是用上面的程序來寫的話,那么今天你一個小時不用做別的了,你就在這里慢慢復(fù)制粘貼吧!所以肯定有好的辦法:A應(yīng)該對B說執(zhí)行命令動作“敬禮、禮畢”十遍。同樣的問題大家來看第二段程序代碼:
/* 輸出敬禮禮畢十遍 */ #include "stdio.h" void main() {int i;i=1;while(i<=10){ printf("%d.敬禮、禮畢\n",i); i=i+1;} }二、while的基本格式
while的基本格式:(流程圖如右圖所示)
while(表達(dá)式)
{
語句1;
……
語句 n;
}
其中表達(dá)式代表了循環(huán)條件,整個復(fù)合語句為循環(huán)體。
while語句規(guī)范:
1:{和}自成一行
2:語句1—語句n自動縮進(jìn)
while循環(huán)屬于當(dāng)型循環(huán),也就是先判斷表達(dá)式的值是否為真的(也可以理解為條件是否成立),若為真則循環(huán),否則退出循環(huán)。
它的格式變形如下;
表達(dá)式1;
while(表達(dá)式2)
{
語句;
表達(dá)式3;
}
其中表達(dá)式1代表了程序循環(huán)前的初始值,表達(dá)式2代表了控制條件,表達(dá)式3代表了增量變化
拿輸出1到100為例分析。
最初始的值(假設(shè)變量為i)應(yīng)該是i=1;條件是i<101(或i<=100);語句是輸出相應(yīng)的變量值 printf(“%d ”,i);而表達(dá)式3應(yīng)該是輸出一個后進(jìn)入下一個數(shù),也就是i++;
所以它的代碼也就很容易就出來了:
do—while循環(huán)語句
do–while語句
在循環(huán)中有當(dāng)型循環(huán),還有直到型循環(huán)。接下來我們就來學(xué)習(xí)下直到型循環(huán)。
一、do—while語句格式
1.do—while語句格式1
表達(dá)式1;
do
{
語句;
表達(dá)式3;
} while(表達(dá)式2);
其中表達(dá)式1代表了程序循環(huán)前的初始值,表達(dá)式2代表了控制條件,表達(dá)式3代表了增量變化
這種格式在程序中已經(jīng)很少用了。主要應(yīng)用于下種變形格式:
2.do—while語句格式變形
do
{
語句;
} while(條件表達(dá)式);
二、do-while語句的思想及意義
do英文翻譯成中文是做的意思,那么從上面的結(jié)構(gòu)我們也能看出,do語句后判斷條件表達(dá)式,如果條件還表達(dá)式成立,再次執(zhí)行語句,直到條件表達(dá)式不成立,往下繼續(xù)執(zhí)行。所以do—while的中心思想是至少執(zhí)行一次循環(huán)語句。
三、do-while循環(huán)結(jié)構(gòu)實例
下面我們一些操作實例來講解循環(huán)結(jié)構(gòu)的邏輯思維過程。
1.求1+2+3+4±—+100和是多少?
(1)步驟1,首先我們應(yīng)該分析的是,我們要求一個數(shù)即和,那么和初值是幾呢? sum=0
(2)sum+=1;
(3)sum+=2;
(4)sum+=3;
(5)假如我們?nèi)缫粋€變量i來代表值的變化的話那么我們應(yīng)該也能推算去,求和其實就是
(6)sum+=i;只是i要從1變化到100
(7)while代碼參考代碼如下
(8)do–while代碼參考代碼如下
/*求1+2+3+---+100的和*/ #include "stdio.h" void main()//求各 {//定義變量并初始化int i=1;int sum=0;do{sum+=i;i+=1; //步長} while(i<=100); //條件表達(dá)式printf("和是%d",sum); }2.輸入qq的密碼;輸入正確則顯示登錄成功,否則可以一直輸入密碼直到對為至,假設(shè)密碼為123456
(1)那么我們分析題目,應(yīng)該是先輸入后判斷的一種循環(huán)方式,那么應(yīng)該選擇do—while語句
(2)程序中要求我們輸入密碼,密碼可以變,所以要給密碼定義成一個變量,我們假設(shè)int password;
(3)因為密碼是輸入的,所以沒有初始值
(4)輸入密碼以后我們應(yīng)該判斷密碼是否和默認(rèn)密碼相同
(5)相同則登錄成功
(6)不相同則重新
(7)do–while代碼參考代碼如下
(8)do—while語句是可以被while()替換,其實循環(huán)之間的語句都可以相互替換,哪種方法更適合你,就選那種,也就是說一定要有一種是自己專長的。
(9)參考代碼如下 /*登錄*/ #include "stdio.h" #include "stdlib.h" void main()//登錄 {//定義變量并初始化int password;while(1){printf("請輸入qq登錄密碼:");scanf("%d",&password);if(password==123456){printf("登錄成功");break;}}}3.while 與do—while的相同與不同總結(jié)?
(1)while 語句是先計算表達(dá)式的值,再執(zhí)行循環(huán)體,do…while是執(zhí)行完一次循環(huán)體,再計算表達(dá)式的值
(2)當(dāng)表達(dá)式的值第一次為假時,while的循環(huán)體一次都不執(zhí)行,do…while則執(zhí)行一次循環(huán)體;
(3)當(dāng)表達(dá)式的值為真時,兩者無區(qū)別
(4)在不確定條件次數(shù)的情況下,程序一般用while比較多
for循環(huán)語句
for 循環(huán)為當(dāng)型循環(huán)。for循環(huán)最容易實現(xiàn)計數(shù)控制循環(huán)方法。for循環(huán)的使用最為靈活,且適合應(yīng)用在循環(huán)次數(shù)確定的情況下。
for循環(huán)的思想是,先分析清楚循環(huán)的初始值,循環(huán)的控制條件,循環(huán)變量的步長變化,然后直接把語句再寫到for的循環(huán)體里即可,這樣可以讓問題想的很清楚,流程也很清楚。
二、for循環(huán)語句的應(yīng)用
for語句是c語言所提供的功能更強(qiáng),使用更廣泛的一種循環(huán)語句。
1.for語句的一般格式
(1)第1種情況
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
語句;
(2)第2種情況
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
語句塊;
}
2.for語句的注意事項
(1)各表達(dá)式之間分號不能省略
(2)表達(dá)式1與表達(dá)式2與表達(dá)式3均可省略,一般是不省略的。
①當(dāng)表達(dá)式1省略時,相當(dāng)于省去了為循環(huán)變量賦初值,此時應(yīng)在for語句之前給循環(huán)變量賦初值
②當(dāng)表達(dá)式2省略時,表示不判斷循環(huán)條件,也就是認(rèn)為表達(dá)式2始終為真, 這時應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則將成為死循環(huán)
③當(dāng)表達(dá)式3省略時,即省去修改循環(huán)變量的值,但此時應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán)
(3)雖然說表達(dá)式可以省略,但是在使用for時,還是要正常使用的,也就是該有的都有。
三、for的邏輯思維過程
for語句和while語句一樣,它的思想是在做循環(huán)之前,也是先有一個初值表達(dá)式1,然后判斷條件表達(dá)式2是否成立,如果成立就執(zhí)行{}里的語句然后跳轉(zhuǎn)到表達(dá)式3,表達(dá)式3再跳轉(zhuǎn)到表達(dá)式2,再次判斷表達(dá)式2,如若成立再次,執(zhí)行{}里的語句語句然后跳轉(zhuǎn)到表達(dá)式3,表達(dá)式3再跳轉(zhuǎn)到表達(dá)式2,如果成立就再重復(fù)執(zhí)行,如果不成立就退出循環(huán)。
for的流程圖走向和while語句一模一樣,但是for的思維過程,可以直接先分析從第一次開始執(zhí)行,執(zhí)行條件是什么,步長是多少,然后執(zhí)行的語句是什么,套用for的結(jié)構(gòu)即可。
總結(jié)
以上是生活随笔為你收集整理的C语言while循环语句 do while语句 for循环语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive 常用正则表达式
- 下一篇: Arduino 语法参考