版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、會計學(xué)1C語言數(shù)組詳解語言數(shù)組詳解n例如:一個班級有例如:一個班級有3030個學(xué)生,可以用個學(xué)生,可以用g g1 1,g,g2 2, ,g,g3030代表代表學(xué)生的成績,其中學(xué)生的成績,其中g(shù) g是數(shù)組名,下標代表學(xué)生的序號是數(shù)組名,下標代表學(xué)生的序號。由于在。由于在C C語言中無法表示下標,所以就引入了語言中無法表示下標,所以就引入了 表表示下標。示下標。ng1:g1:第第1 1個學(xué)生的成績個學(xué)生的成績ngi:gi:第第i i個學(xué)生的成績等等個學(xué)生的成績等等第1頁/共56頁bd10bd10 bdbd0 0 bd bd1 1 bd bd2 2 bd bd9 9 數(shù)組名:數(shù)組名:數(shù)組中的所有元素
2、具有相同的名字數(shù)組中的所有元素具有相同的名字bdbd。數(shù)組元素名數(shù)組元素名數(shù)組元素下標數(shù)組元素下標數(shù)組長度數(shù)組長度為標識數(shù)組中的每為標識數(shù)組中的每個元素,個元素,C C語言對其進語言對其進行編號。這個編號稱之行編號。這個編號稱之為為數(shù)組元素下標數(shù)組元素下標。(。(C C語言規(guī)定下標從語言規(guī)定下標從0 0開開始)。始)。指定該數(shù)指定該數(shù)組的數(shù)據(jù)組的數(shù)據(jù)個數(shù)個數(shù)用于訪問的、具有相同用于訪問的、具有相同的數(shù)據(jù)類型。在程序設(shè)的數(shù)據(jù)類型。在程序設(shè)計中相當于變量名的用計中相當于變量名的用法。法。 一個數(shù)組就是一組連續(xù)的內(nèi)存空間,用來保存一個數(shù)組就是一組連續(xù)的內(nèi)存空間,用來保存數(shù)據(jù),數(shù)組中的每一項稱為一個數(shù)
3、據(jù),數(shù)組中的每一項稱為一個元素元素。第2頁/共56頁任一種任一種基本數(shù)據(jù)類型基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型?;驑?gòu)造數(shù)據(jù)類型。用戶自定義的數(shù)組名字,其定名規(guī)則與變量名定名規(guī)則一樣,都需遵循用戶自定義的數(shù)組名字,其定名規(guī)則與變量名定名規(guī)則一樣,都需遵循標識符定名規(guī)則標識符定名規(guī)則表示元素的個數(shù),即數(shù)組長度。表示元素的個數(shù),即數(shù)組長度。下標運算符下標運算符單目運算符單目運算符優(yōu)先級優(yōu)先級(1)左結(jié)合左結(jié)合不能用不能用( )第3頁/共56頁 注意:注意:1.數(shù)組名數(shù)組名不能不能與其它變量名相同與其它變量名相同void main() int a; float a10; 第4頁/共56頁第5頁/共56頁第6頁
4、/共56頁p可以是整型常量或整型表達式可以是整型常量或整型表達式第7頁/共56頁第8頁/共56頁54321a4a3a2a1a020202016201220082004a數(shù)組名表示數(shù)組名表示數(shù)組的起始地址數(shù)組的起始地址,是一個地址常量,是一個地址常量第9頁/共56頁第10頁/共56頁第11頁/共56頁第12頁/共56頁第13頁/共56頁第14頁/共56頁這兒只討論二維數(shù)組,多維數(shù)組可由二維數(shù)組推導(dǎo)得出這兒只討論二維數(shù)組,多維數(shù)組可由二維數(shù)組推導(dǎo)得出 二維數(shù)組定義的一般形式為:二維數(shù)組定義的一般形式為: 類型說明符類型說明符 數(shù)組名數(shù)組名常量表達式常量表達式常量表達式常量表達式第一常量表達式為行數(shù)
5、,第二個為列數(shù)第一常量表達式為行數(shù),第二個為列數(shù)int a34;float a3,4,b5,10; /*錯誤錯誤*/ 3222 1202 31 21 11 01 3020 1000aaaaaaaaaaaa第15頁/共56頁第16頁/共56頁a0654321a12a11a10a02a0120222018201420102006a002002a1第17頁/共56頁二維數(shù)組的表示形式:二維數(shù)組的表示形式:數(shù)組名數(shù)組名下標下標下標下標注意:注意:N 下標可以是整型表達式,如下標可以是整型表達式,如a2-12*2-1N 數(shù)組元素可以出現(xiàn)在表達式中,也可以被賦值數(shù)組元素可以出現(xiàn)在表達式中,也可以被賦值 b
6、12=a23/2;N 在使用數(shù)組元素時,應(yīng)該注意下標值應(yīng)在已定義的數(shù)組大小范圍內(nèi)在使用數(shù)組元素時,應(yīng)該注意下標值應(yīng)在已定義的數(shù)組大小范圍內(nèi) int a34; a34=5;N 嚴格區(qū)分在定義數(shù)組時用的嚴格區(qū)分在定義數(shù)組時用的a34和引用元素時的和引用元素時的a34第18頁/共56頁第19頁/共56頁EnglishMathC張張807592王王616571李李596370趙趙858790周周767785第20頁/共56頁第21頁/共56頁第22頁/共56頁第23頁/共56頁字符數(shù)組字符數(shù)組:用來存放字符數(shù)據(jù)的數(shù)組就是:用來存放字符數(shù)據(jù)的數(shù)組就是字符數(shù)組。字符數(shù)組。 定義方式:定義方式:char 數(shù)
7、組名數(shù)組名長度長度一維數(shù)組:一維數(shù)組:char a10; 二維數(shù)組:二維數(shù)組: char a45;第24頁/共56頁第25頁/共56頁第26頁/共56頁第27頁/共56頁可以引用字符數(shù)組中的一個元素,得到一個字符可以引用字符數(shù)組中的一個元素,得到一個字符第28頁/共56頁第29頁/共56頁 第30頁/共56頁第31頁/共56頁字符數(shù)組的輸入輸出可以有兩種方式:字符數(shù)組的輸入輸出可以有兩種方式:N 逐個字符輸入輸出。用逐個字符輸入輸出。用”%c”輸入或輸出一個字符輸入或輸出一個字符N 將整個字符串一次輸出。用將整個字符串一次輸出。用“%s”格式符,格式符,char c=“China”;print
8、f(“%s”,c);China0China第32頁/共56頁注意:注意:N 輸出字符不包括結(jié)束符輸出字符不包括結(jié)束符0;N 用用“%s”格式符輸出字符串時,格式符輸出字符串時,printf函數(shù)中的輸出項時字符數(shù)組名,而不是數(shù)組元素名。函數(shù)中的輸出項時字符數(shù)組名,而不是數(shù)組元素名。 printf(“%s”,c); N 如果數(shù)組長度大于字符串實際長度,也只輸出遇如果數(shù)組長度大于字符串實際長度,也只輸出遇0結(jié)束結(jié)束N 如果一個字符數(shù)組中包含一個以上如果一個字符數(shù)組中包含一個以上0 ,則遇到第一個,則遇到第一個0時結(jié)束。時結(jié)束。第33頁/共56頁 本例中由于定義數(shù)組長度為本例中由于定義數(shù)組長度為15,
9、 因此輸入的字符串長度必因此輸入的字符串長度必須小于須小于15,以留出一個字節(jié),以留出一個字節(jié)用于存放字符串結(jié)束標志用于存放字符串結(jié)束標志0。 對于字符數(shù)組,如果不作初始化對于字符數(shù)組,如果不作初始化賦值,則須說明數(shù)組長度。賦值,則須說明數(shù)組長度。 應(yīng)該特別注意的是,當用應(yīng)該特別注意的是,當用scanf函數(shù)輸入字符串時,字符串中不函數(shù)輸入字符串時,字符串中不能含有空格,否則能含有空格,否則將以空格作為串的結(jié)束符將以空格作為串的結(jié)束符。例如運行。例如運行上例,當輸入的字符串中含有上例,當輸入的字符串中含有空格時,運行情況為:空格時,運行情況為:第34頁/共56頁#include void mai
10、n() char st16,st26,st36,st46; printf(input string:n); scanf(%s%s%s%s,st1,st2,st3,st4); printf(%s %s %s %sn,st1,st2,st3,st4); 從輸出結(jié)果可以看出空格以后的字符都未能輸出。從輸出結(jié)果可以看出空格以后的字符都未能輸出。 為了避免為了避免這種情況,這種情況, 可可多設(shè)幾個字符數(shù)組分段存放含空格的串多設(shè)幾個字符數(shù)組分段存放含空格的串。程序可。程序可改寫如下:改寫如下:第35頁/共56頁重要一點:重要一點:在前面介紹過在前面介紹過scanf的各輸入項必須的各輸入項必須以地址方式出現(xiàn)
11、,如以地址方式出現(xiàn),如 &a,&b等。但等。但在上例中卻是以數(shù)組名方式出現(xiàn)的,在上例中卻是以數(shù)組名方式出現(xiàn)的,這是為什么呢這是為什么呢?這是由于在語言中這是由于在語言中規(guī)定,規(guī)定,數(shù)組名就代表了該數(shù)組的首地數(shù)組名就代表了該數(shù)組的首地址。址。第36頁/共56頁語言提供了豐富的字符串處理函數(shù),大致可語言提供了豐富的字符串處理函數(shù),大致可分為字符串的輸入、輸出、合并、修改、轉(zhuǎn)分為字符串的輸入、輸出、合并、修改、轉(zhuǎn)換、復(fù)制、搜索幾類。用于輸入輸出的字符換、復(fù)制、搜索幾類。用于輸入輸出的字符串函數(shù),串函數(shù), 在使用前應(yīng)包含頭文件在使用前應(yīng)包含頭文件stdio.h ;使用其它字符串函數(shù)則應(yīng)
12、包含頭文;使用其它字符串函數(shù)則應(yīng)包含頭文件件。 下面介紹幾個最常用的字符串函數(shù)。下面介紹幾個最常用的字符串函數(shù)。第37頁/共56頁格式:格式:puts (字符數(shù)組名字符數(shù)組名)功能:功能:把字符數(shù)組中的字符串輸出到顯示器。把字符數(shù)組中的字符串輸出到顯示器。 即在屏幕即在屏幕上顯示該字符串。上顯示該字符串。#include void main() static char c=BASICndBASE; puts(c); 從程序中可以看出從程序中可以看出puts函數(shù)中可以使用轉(zhuǎn)義字符,函數(shù)中可以使用轉(zhuǎn)義字符, 因此輸因此輸出結(jié)果成為兩行。出結(jié)果成為兩行。puts函數(shù)完全可以由函數(shù)完全可以由print
13、f函數(shù)函數(shù)取代。當需要按一定格式輸出時,通常使用取代。當需要按一定格式輸出時,通常使用printf函數(shù)函數(shù)。第38頁/共56頁格式:格式: gets (字符數(shù)組名字符數(shù)組名)功能:功能:從標準輸入設(shè)備鍵盤上輸入一個字符串。從標準輸入設(shè)備鍵盤上輸入一個字符串。 本函本函數(shù)得到一個函數(shù)值,即為該字符數(shù)組的首地址。數(shù)得到一個函數(shù)值,即為該字符數(shù)組的首地址。#includestdio.h“void main() char st15; printf(input string:n); gets(st); puts(st);可以看出當輸入的字符串中含有空格時,輸出仍為全部可以看出當輸入的字符串中含有空格時,
14、輸出仍為全部字符串。說明字符串。說明gets函數(shù)并不以空格作為字符串函數(shù)并不以空格作為字符串輸入結(jié)束的標志,而只以回車作為輸入結(jié)束。輸入結(jié)束的標志,而只以回車作為輸入結(jié)束。這是與這是與scanf函數(shù)不同的。函數(shù)不同的。第39頁/共56頁第40頁/共56頁第41頁/共56頁第42頁/共56頁第43頁/共56頁第44頁/共56頁格式格式: strlen(字符數(shù)組名字符數(shù)組名)功能:功能:測字符串的實際長度測字符串的實際長度(不含字符串結(jié)束標志不含字符串結(jié)束標志0) 并作為函數(shù)返回值。并作為函數(shù)返回值。#includestring.h“ #include “stdio.h”void main() i
15、nt k; char st=C language; k=strlen(st); printf (The lenth of the string is %dn,k); 第45頁/共56頁第46頁/共56頁第47頁/共56頁第48頁/共56頁1.數(shù)組是程序設(shè)計中最常用的數(shù)據(jù)結(jié)構(gòu)。數(shù)組可分為數(shù)值數(shù)組是程序設(shè)計中最常用的數(shù)據(jù)結(jié)構(gòu)。數(shù)組可分為數(shù)值數(shù)組數(shù)組(整數(shù)組,實數(shù)組整數(shù)組,實數(shù)組),字符數(shù)組以及后面將要介紹的指,字符數(shù)組以及后面將要介紹的指針數(shù)組,結(jié)構(gòu)數(shù)組等。針數(shù)組,結(jié)構(gòu)數(shù)組等。2.數(shù)組可以是一維的,二維的或多維的。數(shù)組可以是一維的,二維的或多維的。3.數(shù)組類型說明由類型說明符、數(shù)組名、數(shù)組長度數(shù)組類型說明由類型說明符、數(shù)組名、數(shù)組長度 (數(shù)數(shù)組元素個數(shù)組元素個數(shù))三部分組成。數(shù)組元素又稱為下標變量。三部分組成。數(shù)組元素又稱為下標變量。數(shù)組的類型是指下標變量取值的類型。數(shù)組的類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)游戲公司前臺接待總結(jié)
- 2025年全球及中國神經(jīng)外科分流器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球草坪護理CRM軟件行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國導(dǎo)向銷行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國古董搬運行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球雙膜儲氣罐行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球環(huán)保EPDM顆粒行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球壞死性筋膜炎藥品行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球車輛后備箱釋放電纜行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球光伏舟托行業(yè)調(diào)研及趨勢分析報告
- 第十一章《功和機械能》達標測試卷(含答案)2024-2025學(xué)年度人教版物理八年級下冊
- 2025年銷售部年度工作計劃
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- ESG表現(xiàn)對企業(yè)財務(wù)績效的影響研究
- DB3713T 340-2024 實景三維數(shù)據(jù)接口及服務(wù)發(fā)布技術(shù)規(guī)范
- 八年級生物開學(xué)摸底考(長沙專用)(考試版)
- 車間空調(diào)崗位送風(fēng)方案
- 使用錯誤評估報告(可用性工程)模版
- 初一年級班主任上學(xué)期工作總結(jié)
- 2023-2024年同等學(xué)力經(jīng)濟學(xué)綜合真題及參考答案
- 農(nóng)村集體土地使用權(quán)轉(zhuǎn)讓協(xié)議
評論
0/150
提交評論