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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2841|回復: 0
收起左側

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

[復制鏈接]
ID:99082 發表于 2015-12-10 03:36 | 顯示全部樓層 |閱讀模式
--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
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本不卡高字幕在线2019 | 午夜看看 | 国产精品一区视频 | 中文字幕一区二区在线播放 | 狠狠做深爱婷婷综合一区 | 欧美日韩性 | 亚洲国产福利 | 午夜亚洲精品 | 日本不卡免费 | 在线免费播放av | 国产传媒视频在线观看 | 免费成人黄色网址 | 欧美一二三 | 国产一级黄色录像 | 欧美视频网站 | 免费av网站在线观看 | 四虎最新地址 | 国产精品久久久久久久久借妻 | 午夜激情网 | 亚洲天天干 | 日韩在线不卡视频 | 人人草人人干 | 欧美成人精品欧美一级私黄 | 成年人视频免费看 | 91在线精品视频 | 99精品网站| 日本不卡在线播放 | 91在线视频 | 成人一区二区三区 | 免费欧美视频 | 成年人免费视频网站 | 国产福利视频 | 国产人成 | 久久久精品国产sm调教网站 | 成人午夜网站 | 天天操天天干天天爽 | 亚洲精品少妇 | 日日操天天操 | 精品免费 | 在线日韩视频 | 国产精品久久久久久久久久久久久久 |