c语言不知道循环次数用什么语句,C语言while循环语句 do while语句 for循环语句
一、循環(huán)結(jié)構(gòu)的思想及意義:
知道了循環(huán)結(jié)構(gòu),那么在生活中也一樣,我們每天都在重復(fù)做著相同的事情,例如:吸氣呼氣的過程;又如夏天開電扇,電扇一圈一圈的轉(zhuǎn),這都是在重復(fù)。現(xiàn)在大家玩?zhèn)€游戲,一個(gè)人A來說一個(gè)人B來做,一個(gè)人A說命令“敬禮,禮畢”,另一人B做動(dòng)作十遍;第一種思維那就是說一下命令就讓B執(zhí)行動(dòng)作,B執(zhí)行完動(dòng)作后,A再繼續(xù)說命令,B再繼續(xù)做動(dòng)作,同樣的事情重復(fù)十遍。如果利用所學(xué)的知識(shí),讓你輸出十遍“敬禮,禮畢”,你會(huì)怎么寫程序呢?
/* 輸出敬禮禮畢十遍 */
#include "stdio.h"
void main()
{
printf("1.敬禮、禮畢\n");
printf("2.敬禮、禮畢\n");
printf("3.敬禮、禮畢\n");
printf("4.敬禮、禮畢\n");
printf("5.敬禮、禮畢\n");
printf("6.敬禮、禮畢\n");
printf("7.敬禮、禮畢\n");
printf("8.敬禮、禮畢\n");
printf("9.敬禮、禮畢\n");
printf("10.敬禮、禮畢\n");
}
那A要讓B說一萬遍呢,顯然如果還是用上面的程序來寫的話,那么今天你一個(gè)小時(shí)不用做別的了,你就在這里慢慢復(fù)制粘貼吧!所以肯定有好的辦法:A應(yīng)該對B說執(zhí)行命令動(dòng)作“敬禮、禮畢”十遍。同樣的問題大家來看第二段程序代碼:
/* 輸出敬禮禮畢十遍 */
#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)條件,整個(gè)復(fù)合語句為循環(huán)體。
while語句規(guī)范:
1:{和}自成一行
2:語句1—語句n自動(dòng)縮進(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)該是輸出一個(gè)后進(jìn)入下一個(gè)數(shù),也就是i++;
所以它的代碼也就很容易就出來了:
void main()
{
int i;
i=1;
while(i<101)
{
printf(“%d ”,i);
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)實(shí)例
下面我們一些操作實(shí)例來講解循環(huán)結(jié)構(gòu)的邏輯思維過程。
1.求1+2+3+4±—+100和是多少?
(1)步驟1,首先我們應(yīng)該分析的是,我們要求一個(gè)數(shù)即和,那么和初值是幾呢? sum=0
(2)sum+=1;
(3)sum+=2;
(4)sum+=3;
(5)假如我們?nèi)缫粋€(gè)變量i來代表值的變化的話那么我們應(yīng)該也能推算去,求和其實(shí)就是
(6)sum+=i;只是i要從1變化到100
(7)while代碼參考代碼如下
/*求1+2+3+---+100的和*/
#include "stdio.h"
void main()//求各
{
//定義變量并初始化
int i=1;
int sum=0;
while(i<=100) //條件表達(dá)式
{
sum+=i;
i+=1; //步長
}
printf("和是%d",sum);
}
(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)程序中要求我們輸入密碼,密碼可以變,所以要給密碼定義成一個(gè)變量,我們假設(shè)int password;
(3)因?yàn)槊艽a是輸入的,所以沒有初始值
(4)輸入密碼以后我們應(yīng)該判斷密碼是否和默認(rèn)密碼相同
(5)相同則登錄成功
(6)不相同則重新
(7)do–while代碼參考代碼如下
/*判斷qq密碼*/
#include "stdio.h"
void main()//登錄
{
//定義變量并初始化
int password;
do
{
printf("請輸入qq登錄密碼:");
scanf("%d",&password);
}while(password!=123456); //條件表達(dá)式
printf("登錄成功");
}
(8)do—while語句是可以被while()替換,其實(shí)循環(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 語句是先計(jì)算表達(dá)式的值,再執(zhí)行循環(huán)體,do…while是執(zhí)行完一次循環(huán)體,再計(jì)算表達(dá)式的值
(2)當(dāng)表達(dá)式的值第一次為假時(shí),while的循環(huán)體一次都不執(zhí)行,do…while則執(zhí)行一次循環(huán)體;
(3)當(dāng)表達(dá)式的值為真時(shí),兩者無區(qū)別
(4)在不確定條件次數(shù)的情況下,程序一般用while比較多
for循環(huán)語句
for 循環(huán)為當(dāng)型循環(huán)。for循環(huán)最容易實(shí)現(xiàn)計(jì)數(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語句的注意事項(xiàng)
(1)各表達(dá)式之間分號不能省略
(2)表達(dá)式1與表達(dá)式2與表達(dá)式3均可省略,一般是不省略的。
①當(dāng)表達(dá)式1省略時(shí),相當(dāng)于省去了為循環(huán)變量賦初值,此時(shí)應(yīng)在for語句之前給循環(huán)變量賦初值
②當(dāng)表達(dá)式2省略時(shí),表示不判斷循環(huán)條件,也就是認(rèn)為表達(dá)式2始終為真, 這時(shí)應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則將成為死循環(huán)
③當(dāng)表達(dá)式3省略時(shí),即省去修改循環(huán)變量的值,但此時(shí)應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán)
(3)雖然說表達(dá)式可以省略,但是在使用for時(shí),還是要正常使用的,也就是該有的都有。
三、for的邏輯思維過程
for語句和while語句一樣,它的思想是在做循環(huán)之前,也是先有一個(gè)初值表達(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语言不知道循环次数用什么语句,C语言while循环语句 do while语句 for循环语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10联网进入msn页面,信号出现感
- 下一篇: 给中国学生的第三封信——成功、自信、快乐