零基礎(chǔ)自學(xué)C語言 | 學(xué)習(xí)筆記(10)

今天學(xué)習(xí)學(xué)習(xí)第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)恩商,時間有點(diǎn)來不及了海铆,所以更筆記會有點(diǎn)跟不上窗声,因?yàn)楣P記是我的一個復(fù)習(xí)過程侮穿,所以在考試之前都要把書看完屑彻,不知道有沒有一起要考的這個親徊哑,二級C考試之前硼啤,肯定要把書先過一遍艰猬,整理讀書筆記横堡,只是我自己的一個記憶鞏固和知識整理的過程。所以大家互相鼓勵冠桃,同時希望有考二級C的伙伴能一起共享復(fù)習(xí)資料和練習(xí)命贴。。


循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

來由:循環(huán)結(jié)構(gòu)是為了解決需要重復(fù)選擇的問題食听。

循環(huán)結(jié)構(gòu)包括:while 語句胸蛛、for語句以及do…while語句。

while 語句

一般形式:while(表達(dá)式)語句……//語句就是循環(huán)體樱报,也就是復(fù)合語句葬项。

即:只要循環(huán)條件為真(條件表達(dá)式的值為1),就執(zhí)行循環(huán)體語句

特點(diǎn):先判斷條件表達(dá)式肃弟,后執(zhí)行循環(huán)體語句玷室。

如:求1~100的數(shù)的和的程序。

#inculde <stdio.h>

int main(){

int i,sum; ? ? ? ? ? ? ? /*定義變量i和相加的和為sum */

i=1;sum=0; ? ? ? ? ? ?/*給i和sum分別賦初值笤受,否則它們的值是不可預(yù)測的穷缤,結(jié)果不正確 */

while(i<=100) ? ? ? ?/*當(dāng)i大于100時退出循環(huán)*/

{

sum+=i; ? ? ? ? ? ? ? ? /*sum=sum*/

i++; ? ? ? ? ? ? ? ? ? ? ?/*i+1后再循環(huán),這個語句有使循環(huán)趨于結(jié)束*/

}

printf("sum=%d\n",sum);

return 0;}

注:

1箩兽、循環(huán)體中如果包含一個以上的語句津肛,應(yīng)該用花括號括起來,作為復(fù)合語句出現(xiàn)汗贫,如果不括身坐,則while語句的范圍只到其后面第1個分號處秸脱。

2、不要忽略給變量賦初值部蛇,否則它們的值是不可預(yù)測的摊唇,結(jié)果肯定是不正確的

3、在循環(huán)體中應(yīng)有使循環(huán)趨于結(jié)束的語句涯鲁。

思考:求使s=1+2+3+..+n大于1000時n的值巷查。

提示,可參考上面例題抹腿,在其中加上if語句岛请。。if(sum>1000) break;

while語句還有另一種形式警绩。

do……while 語句

一般形式:do

? ? ? ? ? ? ? ? 語句

? ? ? ? ? ? ? ?while(表達(dá)式)崇败;

這里最重要的一點(diǎn)是,這里while( 表達(dá)式)后面一定要加上分號肩祥。

它的執(zhí)行過程:先無條件執(zhí)行循環(huán)體后室,然后再檢查條件是否成立,若成立再執(zhí)行搭幻,這是和while語句不同的咧擂。

/*用do……while語句 ?求1~100的數(shù)的和的程序*/

#include <stdio.h>

int main(){

int i=1,sum=0;

do{

sum+=i;

i++;}

while(i<=1000); ? ? ? ? ? ? ? ? ? ? ? ? ? ?/*這里括號后面一定要加分號*/

printf("sum=%d,i=%d\n",sum,i);

return 0;

}

用for語句實(shí)現(xiàn)循環(huán)

其特點(diǎn):更靈活,不僅可以用于已知的循環(huán)次數(shù)檀蹋,也可以是未知的循環(huán)次數(shù)松申,其完全可以替代while語句。

一般形式:for(表達(dá)式1俯逾;表達(dá)式2贸桶;表達(dá)式3) ? 語句。

表達(dá)式1:設(shè)置初始條件桌肴,只執(zhí)行一次皇筛,可以為零,一個或多個變量設(shè)置初值坠七。

表達(dá)式2:循環(huán)條件表達(dá)式水醋,用來判斷是否繼續(xù)循環(huán),在每次循環(huán)體前先執(zhí)行此表達(dá)式彪置。

表達(dá)式3:作為循環(huán)的調(diào)整拄踪,在執(zhí)行完循環(huán)體后才進(jìn)行的。

簡單的記憶方式:for(循環(huán)變量賦初值拳魁;循環(huán)條件惶桐;循環(huán)變量增值) ? 語句

例:for(i=1;i<=100;i++) ? ? ? ?sum+=i;

for語句是可以和while語句相互轉(zhuǎn)換的。

for語句一般形式:for(表達(dá)式1姚糊;表達(dá)式2贿衍;表達(dá)式3) ? 語句。

改寫成while語句的一般形式為:

while(表達(dá)式2){

語句

表達(dá)式3} ? ? ? ? ? ? ? ? ?/*二者是無條件等價(jià)*/

注意:

1救恨、for(;i<=100贸辈;i++),for語句的表達(dá)式1可以省略忿薇,但分號不能省略裙椭。同時必須在for語句之前加上表達(dá)式1。

2署浩、表達(dá)式2也可以省略,意思就是這個循環(huán)體恒為真(非零)就會一直執(zhí)行下去扫尺。

3筋栋、表達(dá)式3也可以省略,但我們必須設(shè)置一個條件讓其能正常結(jié)束正驻。表達(dá)式3也可以放在語句里面弊攘。

4、表達(dá)式1和表達(dá)式3都沒有姑曙,如果不在其他地方加上的話襟交,程序是無法運(yùn)行的。三個表達(dá)式都沒有的話伤靠,在其他加上他們的話捣域,也不影響,否則就執(zhí)行不了宴合。

5焕梅、表達(dá)式1可以是設(shè)置成循環(huán)變量初值的賦值表達(dá)式,也可以是循環(huán)變量無關(guān)的其他表達(dá)式卦洽。

如:for(sum=0;i<=100;i++) sum+=i;但一定要保證循環(huán)能正常運(yùn)行贞言。

6、表達(dá)式1和表達(dá)式3可以是一個簡單的表達(dá)式阀蒂,也可以是逗號表達(dá)式该窗,即包含一人以上的簡單表達(dá)式,中間用逗號間隔蚤霞。

如:for(sum=0酗失,i=1;i<=100;i++,i--) sum+=i;但一定要保證循環(huán)能正常運(yùn)行。

7争便、表達(dá)式2一般都是關(guān)系表達(dá)式或邏輯表達(dá)式级零,但也可以是數(shù)值表達(dá)式或字符表達(dá)式。只是其值為1(非零),就執(zhí)行循環(huán)體奏纪。

8鉴嗤、C99允許在for語句的表達(dá)式1中定義變量并賦初值。

循環(huán)的嵌套

定義:一個循環(huán)體內(nèi)又包含了另一個完整的循環(huán)結(jié)構(gòu)序调,就是循環(huán)的嵌套醉锅。

三種循環(huán)語句(while語句、do……while 語句发绢、for語句)是可以互相嵌套的硬耍。


循環(huán)語句嵌套的一般形式

改變循環(huán)執(zhí)行的狀態(tài)

用break語句提前終止循環(huán)

在用switch語句的時候就已經(jīng)用過break語句了,

一般形式:break;

break語句只能用于循環(huán)語句和switch語句中边酒,而不能單獨(dú)作用经柴。

用continue語句提前結(jié)束本次循環(huán)

有時不想終止整個循環(huán),但只希望提前結(jié)束本次循環(huán)墩朦,而接著執(zhí)行下個循環(huán)坯认,可以用continue語句

/*要求輸出100~200之間不能3整除的數(shù)。*/

int n;

for(n=100;n<=200;n++)

{

if(n%3==0)

continue;

printf(" %d",n);

}

printf("\n");


循環(huán)結(jié)構(gòu)我一直在找內(nèi)容來讓我理解它氓涣,我現(xiàn)在自己都還有一點(diǎn)懵牛哺,現(xiàn)在也只是有點(diǎn)簡單的理解,所以沒有基礎(chǔ)劳吠,特別是數(shù)學(xué)差或者邏輯思維差的引润,真的熟練應(yīng)用要很難,特別是循環(huán)的嵌套痒玩,多層嵌套繞的頭暈淳附,希望大家可以互相留言說大家對循環(huán)的理解,這個東西我發(fā)現(xiàn)就是死記硬背不行凰荚,不理解就不會用了燃观。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市便瑟,隨后出現(xiàn)的幾起案子缆毁,更是在濱河造成了極大的恐慌,老刑警劉巖到涂,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脊框,死亡現(xiàn)場離奇詭異,居然都是意外死亡践啄,警方通過查閱死者的電腦和手機(jī)浇雹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屿讽,“玉大人昭灵,你說我怎么就攤上這事吠裆。” “怎么了烂完?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵试疙,是天一觀的道長。 經(jīng)常有香客問我抠蚣,道長祝旷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任嘶窄,我火速辦了婚禮怀跛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柄冲。我一直安慰自己吻谋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布现横。 她就那樣靜靜地躺著滨溉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪长赞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天闽撤,我揣著相機(jī)與錄音得哆,去河邊找鬼。 笑死哟旗,一個胖子當(dāng)著我的面吹牛贩据,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播闸餐,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼饱亮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了舍沙?” 一聲冷哼從身側(cè)響起近上,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拂铡,沒想到半個月后壹无,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡感帅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年斗锭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片失球。...
    茶點(diǎn)故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡岖是,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豺撑,我是刑警寧澤烈疚,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站前硫,受9級特大地震影響胞得,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屹电,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一阶剑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧危号,春花似錦牧愁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至偷线,卻和暖如春磨确,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背声邦。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工乏奥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亥曹。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓邓了,卻偏偏與公主長得像,于是被迫代替她去往敵國和親媳瞪。 傳聞我的和親對象是個殘疾皇子骗炉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容