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

標題: C語言教程(3)-控制語句 [打印本頁]

作者: 51heier    時間: 2015-12-10 03:36
標題: C語言教程(3)-控制語句
--C控制語句總結:


一種完備的編程語言應該為程序員提供以下三種程序流:

1.順序執行語句序列(順序);

2.在滿足某個條件之下反復執行一個語句序列(循環);

3.通過進行一個判斷在兩個可選的語句序列之間選擇執行(分支);

舉個例子:

大家靜下心來想想,其實在日常生活中,我們在安排自己的行為活動時大致也就這三類情況。比如我們坐地鐵,(順序開始:)先要走出校門,然后找地鐵站,然后去售票機投幣買票。(循環開始:)發現到黑龍江大學票價是三元,那么在我投幣數小于三元的情況下我就要一直往里投一元硬幣,投了三次(此時錢數等于三元,而不是小于三元啦),售票機就吐票了。(判斷開始:)到了上車時我還要判斷坐往哪個方向開的車吧,有兩個方向:一個開往哈東站,一個開往哈南站。在我要去黑大的情況下,我當然是坐開往哈南站的。是不是很佩服當年編寫這些編程語言的計算機工程師們對生活行為的強大歸納總結能力啊。

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


--while、for常用循環語句:


--while語句:

如果大家自己寫過程序,即使是簡單的小段程序也會接觸到while。大家在學習單片機沒有移植系統時(也就是裸機跑程序時)其實程序主體就是在一個while(1){程序主體};的死循環里不斷的跑,遇到中斷時出去執行完中斷然后回到程序中,也就是前臺、后臺的概念。一般復雜和實時性要求不高的小系統很適合這樣的程序,比如微波爐、電話機、玩具等等。

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

while(表達式){執行語句};

while語句是先判斷后執行,執行語句部分被稱為循環體。若表達式為真,就執行循環體。若表達式為假,可能就一次都不執行

什么是真呢?對于C語言來說,一個真表達式的值為1,一個假表達式為0。前面所得死循環就會永遠的循環下去,因為1永遠為真:

while(1)

{

循環體;

}

還有哪些是真?表達式為數值:其實可以說所有非零值都會被認為是真,只有0被認為是假。甚至負數也會被認為是真。

也就是說while(3){循環體;}while(-1){循環體;}也都是死循環。

表達式為語句時:表達式的形式是多樣的,要具體判斷表達式說的是不是真,是真執行。

下邊有兩段while循環語句

/*while語句1*/

int i=2;

while(i==2)

{

循環體;

}

/*while語句2*/

int a=10;

while(a-->0)

{

循環體;

}

語句1會進入循環,因為i等于2這件事是真的,并且會一直等于下去,所以循環體也會一直循環下去。語句2會進入循環,因為a=10>0這件事也是真的,但當a不斷自己減1(“--”為運算符,表示自己減小1,即a=a-1;)當a=0時,a=0>0這件事就是假了,所以就會跳出循環體。

--for語句:

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

for(<表達式1>;<表達式2>;<表達式3>)語句;

表達式1:賦值表達式。

表達式2:關系表達式或邏輯表達式,是循環的控制條件。

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

其實對于表達式1、2、3和后面的執行語句當不使用時都是可以省略的,但是那兩個分號;是不能省略的。

下邊列舉for語句幾種常用的變形:

1.for( ; ;)語句;

這是一個死循環,循環體會永遠的執行下去。

2.for( ;表達式2;表達式3)語句;

可見這種情況沒有對初始值進行賦值,所以當初始值不是已知固定的,而是由前邊的程序運算得到的,應該使用這種形式。例如:

i=a-3;

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

3.for(表達式1;表達式2;)語句;

一般在控制變量在循環體里有更新的時候使用這種形式。

for(i=1;i<88)

{

i=i*4+5;

}

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

如果所有的工作都在表達式1、2、3中完成了,那就沒必要非要加個語句。直接以分號瀟灑的結尾吧。

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

表達式1和表達式3都可以有一項或多項,多項時用逗號隔開。


--if常用分支語句:


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

1./*只有if判斷沒有else的情況*/

簡單形式的if語句可以選擇執行或忽略一個動作。

if(條件表達式)

{

執行表達式1;

執行表達式2;

...

}

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

if else語句使程序能在兩個動作之間進行選擇。

if(條件表達式)

{

執行表達式1;

執行表達式2;

...

}else{


執行表達式3;

執行表達式4;

...

}

3./*有多個if...else...嵌套的情況*/

else if實際上是一種變形,else if相當于另一個if else語句的else語句部分。

if(條件表達式1)

{

執行表達式1;

執行表達式2;

...

}else if(條件表達式2)

{


執行表達式3;

執行表達式4;

...

}else{


執行表達式5;

執行表達式6;

...

}


這次在文章里多多少少涉及到了點運算符,如--、==、<之類的,大家可以先自己看看。下周就開始運算符相關的內容了,堅持、奮斗。


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


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

51單片機教程:http://m.zg4o1577.cn/bbs/mcu-xuexi-1.html
STM32教程:http://m.zg4o1577.cn/bbs/dpj-41167-1.html





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91色网站 | 亚洲天堂一区 | 日韩欧美中文 | 国产日韩欧美综合 | 久插视频 | 四虎影| 免费看黄色片子 | 一区二区免费 | 久久亚洲国产 | 免费av不卡 | 精品在线免费观看 | 性欧美69 | 免费99精品国产自在在线 | 亚洲一区二区三区在线 | 一区二区小视频 | 麻豆黄色片 | 国产成人精品一区二 | 欧美在线视频一区 | 欧美精品在线免费观看 | 国产黄色一区二区 | 久艹视频在线观看 | 中国一级黄色录像 | 天天干天天舔 | 香蕉视频在线看 | 天天射天天干天天操 | 国产一区二区在线观看视频 | 国产精品aaa | 久久久久亚洲精品 | 青草导航 | 欧美日韩在线精品 | 成人动漫在线观看 | 亚洲精品自拍视频 | 91精品国产成人www | 黄色成人在线视频 | 亚洲欧美精品一区二区 | 日本免费高清视频 | 国产一区二区影院 | 久久精品www人人爽人人 | 国产成人午夜高潮毛片 | 精品国产成人 | 特黄老太婆aa毛毛片 |