日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ 数组换行_C语言的数组的构建与打印

發布時間:2025/3/20 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ 数组换行_C语言的数组的构建与打印 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在許多程序中,數組很重要。數組可以作為一種存儲多個相關項的便利方式。

數組(array)是按順序存儲的一系列類型相同的值,如10個char類型的字符或15個int類型的值。整個數組有一個數組名,通過整數下標訪問數組中單獨的項或元素(element)。例如,以下聲明:

float debs[20];

聲明debts是一個內含20個元素的數組,每個元素都可以存儲float類型的值。數組的第1個元素是debts[0],第2個元素是debts[1],以此類推,直到debts[19]。注意,數組元素的編號從0開始,不是從1開始。可以給每個元素賦float類型的值。例如,可以這樣寫:

debts[5] = 32.54;debts[6] = 1.2e+21

實際上,使用數組元素和使用同類型的變量一樣。例如,可以這樣把值讀入指定的元素中:

scanf("%f", &debts[4]); //

這里要注意一個潛在的陷阱:考慮到影響執行的速度,C編譯器不會檢查數組的下標是否正確。下面的代碼,都不正確:

debts[20] = 88.32; // no such array elementdebts[33] = 828.12; // no such array element

編譯器不會查找這樣的錯誤。當運行程序時,這會導致數據被放置在已被其他數據占用的地方,可能會破壞程序的結果甚至導致程序異常中斷。

數組的類型可以是任意數據類型。

int nannies[22]; /* an array to hold 22 integers */char actors[26]; /* an array to hold 26 characters */long big[500]; /* an array to hold 500 long integers */

字符串

字符串,可以把字符串存儲在char類型的數組中(一般而言,char類型數組的所有元素都存儲char類型的值)。如果char類型的數組末尾包含一個表示字符串末尾的空字符0,則該數組中的內容就構成了一個字符串。

Character arrays and strings.

用于識別數組元素的數字被稱為下標(subscript)、索引(indice)或偏移量(offset)。下標必須是整數,而且要從0開始計數。數組的元素被依次存儲在內存中相鄰的位置,如圖6.7所示。

The char and int arrays in memory

在for循環中使用數組

程序中有許多地方要用到數組,程序清單6.19是一個較為簡單的例子。該程序讀取10個高爾夫分數,稍后進行處理。使用數組,就不用創建10個不同的變量來存儲10個高爾夫分數。而且,還可以用for循環來讀取數據。程序打印總分、平均分、差點(handicap,它是平均分與標準分的差值)。

// scores_in.c -- uses loops for array processing#include #define SIZE 10#define PAR 72int main(void){ int index, score[SIZE]; int sum = 0; float average; printf("Enter %d golf scores:", SIZE); for (index = 0; index < SIZE; index++) scanf("%d", &score[index]); // read in the ten scores printf("The scores read in are as follows:"); for (index = 0; index < SIZE; index++) printf("%5d", score[index]); // verify input printf(""); for (index = 0; index < SIZE; index++) sum += score[index]; // add them up average = (float) sum / SIZE; // time-honored method printf("Sum of scores = %d, average = %.2f", sum, average); printf("That's a handicap of %.0f.", average - PAR); return 0;}

先看看程序清單6.19是否能正常工作,接下來再做一些解釋。下面是程序的輸出:

Enter 10 golf scores:

99 95 109 105 100

96 98 93 99 97 98

The scores read in are as follows:

99 95 109 105 100 96 98 93 99 97

Sum of scores = 991, average = 99.10

That's a handicap of 27.

程序運行沒問題,我們來仔細分析一下。首先,注意程序示例雖然輸入了11個數字,但是只讀入了10個數字,因為循環只讀了10個值。由于scanf()會跳過空白字符,所以可以在一行輸入10個數字,也可以每行只輸入一個數字,或者像本例這樣混合使用空格和換行符隔開每個數字(因為輸入是緩沖的,只有當用戶鍵入Enter鍵后數字才會被發送給程序)。

然后,程序使用數組和循環處理數據,這比使用10個單獨的scanf()語句和10個單獨的printf()語句讀取10個分數方便得多。for循環提供了一個簡單直接的方法來使用數組下標。注意,int類型數組元素的用法與int類型變量的用法類似。要讀取int類型變量fue,應這樣寫:scanf("%d", &fue)。要讀取int類型的元素score[index],所以這樣寫scanf("%d", &score[index])。

編程風格

該程序示例演示了一些較好的編程風格。

第一,用#define指令創建的明示常量(SIZE)來指定數組的大小。這樣就可以在定義數組和設置循環邊界時使用該明示常量。如果以后要擴展程序處理20個分數,只需簡單地把SIZE重新定義為20即可,不用逐一修改程序中使用了數組大小的每一處。

第二,下面的代碼可以很方便地處理一個大小為SIZE的數組:

for (index = 0; index < SIZE; index++)

第三,程序能重復顯示剛讀入的數據。這是很好的編程習慣,有助于確保程序處理的數據與期望相符。

最后,注意該程序使用了3個獨立的for循環。這是否必要?是否可以將其合并成一個循環?當然可以,讀者可以動手試試,合并后的程序顯得更加緊湊。但是,調整時要注意遵循模塊化(modularity)的原則。

模塊化隱含的思想是:應該把程序劃分為一些獨立的單元,每個單元執行一個任務。這樣做提高了程序的可讀性。也許更重要的是,模塊化使程序的不同部分彼此獨立,方便后續更新或修改程序。在掌握如何使用函數后,可以把每個執行任務的單元放進函數中,提高程序的模塊化。

總結

以上是生活随笔為你收集整理的c++ 数组换行_C语言的数组的构建与打印的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。