程式媛養成計劃/隨身流、機智、宅男/弦子和if和for/最新章節列表/即時更新

時間:2018-11-07 10:04 /架空歷史 / 編輯:楊俊
熱門小說《程式媛養成計劃》是任煦之秋傾心創作的一本職場、機智、現代都市風格的小說,主角if,int,弦子,內容主要講述:「和一維陣列一樣,二維陣列同樣有兩種初始化方式,一種是一次邢把所有資料都放

程式媛養成計劃

主角名稱:int弦子forif

需用時間:約1天讀完

閱讀指數:10分

《程式媛養成計劃》線上閱讀

《程式媛養成計劃》精彩章節

「和一維陣列一樣,二維陣列同樣有兩種初始化方式,一種是一次把所有資料都放去,比如說這裡的地圖資料:int map[8][8]={

{0, 0, 3, 3, 3, 0, 0, 0},

{0, 0, 3, 4, 3, 0, 0, 0},

{0, 0, 3, 0, 3, 3, 3, 3},

{3, 3, 3, 2, 0, 2, 4, 3},

{3, 4, 0, 2, 1, 3, 3, 3},

{3, 3, 3, 3, 2, 3, 0, 0},

{0, 0, 0, 3, 4, 3, 0, 0},

{0, 0, 0, 3, 3, 0, 0, 0}};

從這種表示方法也可以推斷出老爹跟你說的,二維陣列其實就是一個一維陣列,只不過它的每個元素也是一個以為陣列。

第二方式就是一個一個的往數組裡面放資料,例如:map[0][1]= 1;

代表的編號為0的小袋子裡面的第一元素是1,以此類推。」

「那可不可以向大袋子裡面一個一個的裝小袋子呢?」

我突發奇想

「在c語言裡面按照正規作是不可以的哦!」

老爹意味牛敞地笑

「那非正規方式呢?」

我賊兮兮地問

「這個得等到你學了指標再說。」

老爹似乎早就知我會有此一問,於是描淡寫地就把我給打發了。

「哼!」

我斜著眼睛了老爹一眼。

「既然已經說到了陣列,那就順帶把字串也給說了吧。還記得你寫的第一個輸出『hello world』的程式麼?」

「當然記得咯!」

「那還記得『hello world』當時是放在什麼符號裡面的麼?」

「雙引號!」

我在心裡默默地將hello world程式給寫了一遍。

「準確的說是英文雙引號,在c語言中,英文雙引號就代表一個字串,字串中的內容就是雙引號裡面的內容,現在我們來研究一下『hello world』這個字串。

char str[]=“hello world“;

猜猜上面這個字元陣列str的度是多少。」

「哼!事出反常必有妖,既然你讓我猜,說明真實的度絕對不是表面上數的那麼多,按照字元數,度本來應該是10。……我猜11!」

我思索了一下,然不怎麼確定地報出了自己的答案。如果說是10,那肯定會錯!

果不其然,老爹臉上出了一絲驚訝的表情。

「居然被你蒙對了,其實上面的定義和這句程式碼等效:char str[]={h,e,l,l,o,,w,o,r,l,d,\0};最一個字元做反斜槓零,是字串的結束符。計算機一旦檢測到這個字元,就算面還有字元,也不會在行相關作了。

還有,這個反斜槓做轉義符,用來啟或者關閉一些字元的特殊功能。」

?奧特曼的煞讽器?」

「可以這麼理解,我舉個例子吧,還記得反斜槓n麼?這個時候反斜槓就啟用了字元n的特殊功能——換行,於此相似的還有反斜槓b、t、r等,還有剛剛說到的反斜槓0。」

「上面的是開啟特殊功能,那關閉怎麼說呢?」

「剛剛說了,雙引號代表的是一個字串,也就是說,雙引號是有特殊意義,那如果我們需要在字串中使用雙引號怎麼辦?比如說要輸出這句話:『dad said:“c is very fun!“』。」

「哈哈,你都說了用反斜槓關閉它的特殊功能,多半就是這樣了吧:printf(“dad said:\“c is very fun!\““);」

看著我敲出來的程式碼,老爹笑著拍了拍手。

「玥玥,你有沒有發現在取陣列元素的時候好像有點問題?」

老爹一邊說,一邊出了他那讓人抓狂的笑容。

一般老爹這麼說,那肯定是意有所指。

「老爹你先說無論是往數組裡面放資料,還是從數組裡面取資料,都要靠陣列的編號,這樣看來,的確可以把陣列中的每一個元素都取出來。

但是如果陣列的元素太多,一個一個的取也是一個很大的工程量。況且要一個一個的取的話,對於載入地圖的時候完全沒有幫助嘛!」

我腦袋飛速運轉,開始分析當存在的問題。

老爹意地點了點頭,然:「分析得不錯,那接下來就跟你說說混沌先民中掌回法則的兩尊大神——for和while。」

回法則?」

我眼睛一亮,從老爹的話中捕捉到了一些資訊。

「不錯,這兩位可是有大能耐,當它們施展回法則的時候,會讓它們所在的那片空間的時間止,直到回法則結束。」

「聽起來好有意思的樣子!」

「既然如此,那麼我們先用一個锯涕的小例子來說明它們的用法。

比如說現在我一個度為1000的int型陣列,需是每一個元素的值就是它的在陣列中的編號。

如果沒有回法則的話,我們就只能這樣:int arr[1000]={0, 1, 2, 3……,998, 999};或者這樣:

int arr[1000];

arr[0]= 0;

arr[1]= 1;

……

arr[999]= 999;

不?」

「老費了!」

「但是有了for和while,我們就很容易就能做到了,先說for:for(int i = 0; i < 1000; i)

{

arr[i]= i;

}」

「這……這就完了?」

這回到我無語了,這相差也太大了吧?

「簡單吧?現在來跟你說說這是什麼意思。

for(回開始;回條件;數)

{

每次回執行的內容

}

當for回啟的時候,首先會執行回開始,在上面的例子中,我們在這個地方聲明瞭一個名為i的int型量,併為它初始化值為0。接下來for就會檢查回條件,如果條件為真,它就要執行每次回都要做的事情,咱們這裡向陣列編號為i的元素賦值為i。此時i = 0,0當然是小於1000的,於是for執行回的內容,將編號為0(i = 0)的元素賦值為0(i=0)。

當每次回的事情做完,for就要執行數,我們要它將i加1,所以這個時候i就從0成了1。

接下來for又要去檢查回的條件是不是足,1小於1000成立,於是執行回內容:將編號為1(i = 1)的元素賦值為1(i=1),然執行數, i從成了2。

一直就是判斷條件->執行內容->執行數->判斷條件……

直到i=999的時候。

當for執行完本次的回內容,即:將編號為999(i = 999)的元素賦值為999(i=999),再執行數,i就從999成了1000。

這個時候for再去判斷回條件的時候,i等於1000並不小於1000,回條件不成立,結束回。」

(23 / 58)
程式媛養成計劃

程式媛養成計劃

作者:任煦之秋 型別:架空歷史 完結: 否

★★★★★
作品打分作品詳情
推薦專題大家正在讀
熱門