C語言C++編程之選擇循環(huán)+嵌套循環(huán)+數(shù)組簡介

回顧一下do while循環(huán)

關(guān)鍵字:do while

通用形式:

do

statement

while ( expression );

示例:

do

{scanf ("%d",&number);}

while ( number != 20 );

如何選擇循環(huán)

首先要確定的是選擇入口條件循環(huán)還是出口條件循環(huán)。通常入口條件循環(huán)用的比較多,有幾個原因。

一般在執(zhí)行循環(huán)之前測試條件比較好。

測試放在程序的開頭,程序不可讀性較高

在很多應(yīng)用中,要求在一開始不滿足測試條件時就直接跳過整個循環(huán)。

那么如果需要加入一個入口條件循環(huán),該用哪一個?答案是隨便用那個。

一般而言當(dāng)循環(huán)涉及到初始化和更新變量時用for循環(huán)比較合適,其他情況下用while循環(huán)更好。對于下面這種條件,使用while循環(huán)就很合適:

while( scanf ("%ld", &num) == 1))

對應(yīng)涉及索引計數(shù)的循環(huán),用for循環(huán)更合適:

for( count = 1; count <= 100; count++)

嵌套循環(huán)

嵌套循環(huán)只在一個循環(huán)內(nèi)包含另一個循環(huán)。嵌套循環(huán)常用于按行和列顯示數(shù)據(jù),也就是說,一個循環(huán)處理一行中的所有列,另一個循環(huán)處理一行中的所有行。小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 六二七,零一二,四六四 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!

[cpp]view plaincopy

/*rows1.c?--?使用循環(huán)嵌套*/??

#include???

#define?ROWS?6??

#define?CHARS?10??

int?main?(void)??

{??

int?rows;??

char?ch;??


for(rows?=?0;?rows?<?ROWS;?rows++)??

????{??

for(ch?=?'A';?ch?<?'A'+10;?ch++)??

????????{??

printf("%c",?ch);??

?????????}???

printf("\n");??

????}??

return?0;??

}??

結(jié)果會是這樣:

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

程序中的第一個for循環(huán)被稱為外層循環(huán),第二個for循環(huán)自然叫內(nèi)層循環(huán)。只要知道內(nèi)層循環(huán)在每次外層循環(huán)迭代是都執(zhí)行完所有循環(huán)。

上一個程序中兩個循環(huán)都坐立同樣的事情,還可以通過外層循環(huán)控制內(nèi)層循環(huán),每次完成不同的任務(wù)。

[cpp]view plaincopy

/*rows2.c?--?使用循環(huán)嵌套*/??

#include???

#define?ROWS?10??

#define?CHARS?10??

int?main?(void)??

{??

int?rows;??

char?ch;??


for(rows?=?0;?rows?<?ROWS;?rows++)??

????{??

for(ch?=?('A'?+?rows);?ch?<?('A'+?CHARS);?ch++)??

????????{??

printf("%c",?ch);??

?????????}???

printf("\n");??

????}??

return?0;??

}??

結(jié)果會是這樣:

ABCDEFGHIJ

BCDEFGHIJ

CDEFGHIJ

DEFGHIJ

EFGHIJ

FGHIJ

GHIJ

HIJ

IJ

J

因為每次迭代都把rows的值與‘A’相加,所以變量ch每一次都會被賦予不同的值,理清順序就能理解其中的原理。

數(shù)組簡介

在許多程序中,數(shù)字很重要。數(shù)組可以作為一種儲存多個相關(guān)項的便利方式。書本在后面的章節(jié)中會有詳細(xì)的講解,這里說到底只是簡介,因為后面的程序會遇到一些數(shù)組,事先了解一下。

數(shù)組(array)是按順序儲存一系列類型相同的值,如10個char類型的字符或15個int類型的值或者其他的類型都可以。

float?debts [ 20 ] ;

這個聲明說明了在這是個名叫debts的float類型的數(shù)組,含有20個元素,依次儲存在內(nèi)存中的相鄰位置。其中第一個元素是debts [ 0 ]?然后以此類推到? ? ? debts [ 19 ],雖然聲明的時候是20,但這是從0開始的,一直到19。小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 六二七,零一二,四六四 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!

可以給數(shù)組元素賦值,就像這樣:debts[5] = 12.34 ;?但是假如把方括號中的下標(biāo)值輸錯了,比如debts[55] = 12.34;編譯器不會檢查下標(biāo)是否正確,但當(dāng)運行程序的時候,這會導(dǎo)致數(shù)據(jù)被放在已經(jīng)被其他數(shù)據(jù)占用的地方,可能會破壞程序結(jié)果或者直接異常中斷。還有一點,下標(biāo)必須是整數(shù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)組在程序設(shè)計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)據(jù)元素的集合稱...
    朱森閱讀 4,285評論 2 13
  • 第1章 第一個C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計第5章 條件結(jié)構(gòu)程序設(shè)計第6章...
    小獅子365閱讀 10,892評論 3 71
  • 1)程序結(jié)構(gòu)是三種: 順序結(jié)構(gòu) 、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循環(huán)結(jié)構(gòu)。 2)讀程序都要從main()入口, 然后從最上...
    杵臼涼薄yo閱讀 2,421評論 0 7
  • 在我難過的時候 抱我一下 什么都別說
    克利瑪塔閱讀 181評論 0 0
  • 上周末一時興起吸煙數(shù)顆,身體毫不客氣,即刻使口舌生瘡,報應(yīng)來得真快。 我對焦油幾無抗體,失過聲,傷過肺,且每次吸入...
    赤山紅土閱讀 815評論 1 1

友情鏈接更多精彩內(nèi)容