久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2658|回復(fù): 0
收起左側(cè)

C語(yǔ)言教程(3)-控制語(yǔ)句

[復(fù)制鏈接]
ID:99082 發(fā)表于 2015-12-10 03:36 | 顯示全部樓層 |閱讀模式
--C控制語(yǔ)句總結(jié):


一種完備的編程語(yǔ)言應(yīng)該為程序員提供以下三種程序流:

1.順序執(zhí)行語(yǔ)句序列(順序);

2.在滿足某個(gè)條件之下反復(fù)執(zhí)行一個(gè)語(yǔ)句序列(循環(huán));

3.通過(guò)進(jìn)行一個(gè)判斷在兩個(gè)可選的語(yǔ)句序列之間選擇執(zhí)行(分支);

舉個(gè)例子:

大家靜下心來(lái)想想,其實(shí)在日常生活中,我們?cè)诎才抛约旱男袨榛顒?dòng)時(shí)大致也就這三類情況。比如我們坐地鐵,(順序開(kāi)始:)先要走出校門,然后找地鐵站,然后去售票機(jī)投幣買票。(循環(huán)開(kāi)始:)發(fā)現(xiàn)到黑龍江大學(xué)票價(jià)是三元,那么在我投幣數(shù)小于三元的情況下我就要一直往里投一元硬幣,投了三次(此時(shí)錢數(shù)等于三元,而不是小于三元啦),售票機(jī)就吐票了。(判斷開(kāi)始:)到了上車時(shí)我還要判斷坐往哪個(gè)方向開(kāi)的車吧,有兩個(gè)方向:一個(gè)開(kāi)往哈東站,一個(gè)開(kāi)往哈南站。在我要去黑大的情況下,我當(dāng)然是坐開(kāi)往哈南站的。是不是很佩服當(dāng)年編寫這些編程語(yǔ)言的計(jì)算機(jī)工程師們對(duì)生活行為的強(qiáng)大歸納總結(jié)能力啊。

順序執(zhí)行語(yǔ)句順序(順序)相信大家都比較好理解,就是一句接著一句的執(zhí)行唄。循環(huán)控制語(yǔ)句主要涉及的控制型關(guān)鍵字:while、for、do while。分支控制循環(huán)語(yǔ)句主要涉及的控制型關(guān)鍵字:if else、switch break。


--while、for常用循環(huán)語(yǔ)句:


--while語(yǔ)句:

如果大家自己寫過(guò)程序,即使是簡(jiǎn)單的小段程序也會(huì)接觸到while。大家在學(xué)習(xí)單片機(jī)沒(méi)有移植系統(tǒng)時(shí)(也就是裸機(jī)跑程序時(shí))其實(shí)程序主體就是在一個(gè)while(1){程序主體};的死循環(huán)里不斷的跑,遇到中斷時(shí)出去執(zhí)行完中斷然后回到程序中,也就是前臺(tái)、后臺(tái)的概念。一般復(fù)雜和實(shí)時(shí)性要求不高的小系統(tǒng)很適合這樣的程序,比如微波爐、電話機(jī)、玩具等等。

while(1){};怎么就死循環(huán)了呢。先來(lái)介紹介紹,一般形式為:

while(表達(dá)式){執(zhí)行語(yǔ)句};

while語(yǔ)句是先判斷后執(zhí)行,執(zhí)行語(yǔ)句部分被稱為循環(huán)體。若表達(dá)式為真,就執(zhí)行循環(huán)體。若表達(dá)式為假,可能就一次都不執(zhí)行

什么是真呢?對(duì)于C語(yǔ)言來(lái)說(shuō),一個(gè)真表達(dá)式的值為1,一個(gè)假表達(dá)式為0。前面所得死循環(huán)就會(huì)永遠(yuǎn)的循環(huán)下去,因?yàn)?永遠(yuǎn)為真:

while(1)

{

循環(huán)體;

}

還有哪些是真?表達(dá)式為數(shù)值:其實(shí)可以說(shuō)所有非零值都會(huì)被認(rèn)為是真,只有0被認(rèn)為是假。甚至負(fù)數(shù)也會(huì)被認(rèn)為是真。

也就是說(shuō)while(3){循環(huán)體;}while(-1){循環(huán)體;}也都是死循環(huán)。

表達(dá)式為語(yǔ)句時(shí):表達(dá)式的形式是多樣的,要具體判斷表達(dá)式說(shuō)的是不是真,是真執(zhí)行。

下邊有兩段while循環(huán)語(yǔ)句

/*while語(yǔ)句1*/

int i=2;

while(i==2)

{

循環(huán)體;

}

/*while語(yǔ)句2*/

int a=10;

while(a-->0)

{

循環(huán)體;

}

語(yǔ)句1會(huì)進(jìn)入循環(huán),因?yàn)閕等于2這件事是真的,并且會(huì)一直等于下去,所以循環(huán)體也會(huì)一直循環(huán)下去。語(yǔ)句2會(huì)進(jìn)入循環(huán),因?yàn)閍=10>0這件事也是真的,但當(dāng)a不斷自己減1(“--”為運(yùn)算符,表示自己減小1,即a=a-1;)當(dāng)a=0時(shí),a=0>0這件事就是假了,所以就會(huì)跳出循環(huán)體。

--for語(yǔ)句:

for循環(huán)把所有的三種動(dòng)作(初始化、檢測(cè)、更新)都放在一起。它的一般形式為:

for(<表達(dá)式1>;<表達(dá)式2>;<表達(dá)式3>)語(yǔ)句;

表達(dá)式1:賦值表達(dá)式。

表達(dá)式2:關(guān)系表達(dá)式或邏輯表達(dá)式,是循環(huán)的控制條件。

表達(dá)式3:一般為賦值表達(dá)式,使控制變量增大或減小。

其實(shí)對(duì)于表達(dá)式1、2、3和后面的執(zhí)行語(yǔ)句當(dāng)不使用時(shí)都是可以省略的,但是那兩個(gè)分號(hào);是不能省略的。

下邊列舉for語(yǔ)句幾種常用的變形:

1.for( ; ;)語(yǔ)句;

這是一個(gè)死循環(huán),循環(huán)體會(huì)永遠(yuǎn)的執(zhí)行下去。

2.for( ;表達(dá)式2;表達(dá)式3)語(yǔ)句;

可見(jiàn)這種情況沒(méi)有對(duì)初始值進(jìn)行賦值,所以當(dāng)初始值不是已知固定的,而是由前邊的程序運(yùn)算得到的,應(yīng)該使用這種形式。例如:

i=a-3;

for( ;i<k;i++){循環(huán)體}

3.for(表達(dá)式1;表達(dá)式2;)語(yǔ)句;

一般在控制變量在循環(huán)體里有更新的時(shí)候使用這種形式。

for(i=1;i<88)

{

i=i*4+5;

}

4.for(表達(dá)式1;表達(dá)式2;表達(dá)式3);

如果所有的工作都在表達(dá)式1、2、3中完成了,那就沒(méi)必要非要加個(gè)語(yǔ)句。直接以分號(hào)瀟灑的結(jié)尾吧。

5.for(i=1,j=a;i<j;i++,j--)語(yǔ)句;

表達(dá)式1和表達(dá)式3都可以有一項(xiàng)或多項(xiàng),多項(xiàng)時(shí)用逗號(hào)隔開(kāi)。


--if常用分支語(yǔ)句:


在C語(yǔ)言里,if是控制型關(guān)鍵字。下邊列舉總能用到的if...else...條件判斷語(yǔ)句的變形形式。

1./*只有if判斷沒(méi)有else的情況*/

簡(jiǎn)單形式的if語(yǔ)句可以選擇執(zhí)行或忽略一個(gè)動(dòng)作。

if(條件表達(dá)式)

{

執(zhí)行表達(dá)式1;

執(zhí)行表達(dá)式2;

...

}

2./*既有if還有else的情況*/

if else語(yǔ)句使程序能在兩個(gè)動(dòng)作之間進(jìn)行選擇。

if(條件表達(dá)式)

{

執(zhí)行表達(dá)式1;

執(zhí)行表達(dá)式2;

...

}else{


執(zhí)行表達(dá)式3;

執(zhí)行表達(dá)式4;

...

}

3./*有多個(gè)if...else...嵌套的情況*/

else if實(shí)際上是一種變形,else if相當(dāng)于另一個(gè)if else語(yǔ)句的else語(yǔ)句部分。

if(條件表達(dá)式1)

{

執(zhí)行表達(dá)式1;

執(zhí)行表達(dá)式2;

...

}else if(條件表達(dá)式2)

{


執(zhí)行表達(dá)式3;

執(zhí)行表達(dá)式4;

...

}else{


執(zhí)行表達(dá)式5;

執(zhí)行表達(dá)式6;

...

}


這次在文章里多多少少涉及到了點(diǎn)運(yùn)算符,如--、==、<之類的,大家可以先自己看看。下周就開(kāi)始運(yùn)算符相關(guān)的內(nèi)容了,堅(jiān)持、奮斗。


以下是本系列教程文章列表:歡迎大家踴躍討論,有問(wèn)題可在51黑論壇回帖提出.


C語(yǔ)言基礎(chǔ)教程(1):http://www.zg4o1577.cn/bbs/dpj-41177-1.html
C語(yǔ)言教程(2)-關(guān)鍵字 變量:http://www.zg4o1577.cn/bbs/dpj-41178-1.html
C語(yǔ)言教程(3)-控制語(yǔ)句:http://www.zg4o1577.cn/bbs/dpj-41179-1.html
C語(yǔ)言教程(4)-運(yùn)算符:http://www.zg4o1577.cn/bbs/dpj-41180-1.html
C語(yǔ)言教程(5)-函數(shù):http://www.zg4o1577.cn/bbs/dpj-41181-1.html
C語(yǔ)言教程(6)-數(shù)組與函數(shù)指針:http://www.zg4o1577.cn/bbs/dpj-41182-1.html

51單片機(jī)教程:http://www.zg4o1577.cn/bbs/mcu-xuexi-1.html
STM32教程:http://www.zg4o1577.cn/bbs/dpj-41167-1.html
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产伦一区二区三区观看体验 | 中文字幕第十五页 | 成人一区二区三区在线观看 | 久久精品一 | 久久av资源网 | 成人av看片| 国产欧美一区二区三区日本久久久 | 精品国产欧美 | 91大神xh98xh系列全部 | 99热碰| 午夜免费视频 | 亚洲毛片一区二区 | 国产欧美精品区一区二区三区 | 国产高清在线精品一区二区三区 | 成人在线亚洲 | 国产伦精品一区二区三区照片91 | 国产毛片久久久久久久久春天 | 亚洲人成人一区二区在线观看 | 成年人网站国产 | 日韩精品1区2区3区 成人黄页在线观看 | 黄片毛片在线观看 | 亚洲福利免费 | 97日日碰人人模人人澡分享吧 | 成人在线免费视频 | 天天插天天舔 | 成人免费视频 | 亚洲欧美日韩久久 | 国产精品 欧美精品 | 二区在线视频 | 国产激情片在线观看 | 精品九九九 | 黄色在线免费播放 | 精品欧美一区二区精品久久久 | 日韩中文一区 | 日本xx视频免费观看 | 伊人久久综合 | 成人激情视频在线观看 | 成人精品毛片 | 久久69精品久久久久久国产越南 | 一本一道久久a久久精品综合蜜臀 | 国产欧美视频一区 |