?維數(shù)組
數(shù)組是?種由相同數(shù)據(jù)類型組成的構(gòu)造類型。數(shù)組的每個成員 稱為?個 數(shù)組元素
? 最簡單的數(shù)組是 ?維數(shù)組
?維數(shù)組的定義:
類型說明符 數(shù)組名[常量表達式] = {值1,值2...};
?維數(shù)組的定義
如何定義?個?維數(shù)組?
數(shù)據(jù)類型 ? ?數(shù)組名字 ? ? ?[元素個數(shù)];
? int ? ? ? ? ? ?ages ? ? ? ? ? ?[10];
數(shù)組的初始化
在數(shù)據(jù)定義的同時對數(shù)組進?初始化
?如: int ages[2] = {3, 5};
數(shù)組中元素的訪問
通過數(shù)組名+下標去訪問數(shù)組中的元素
?如: ages[0];
數(shù)組定義舉例
// 聲明?個整型數(shù)組
int a[5] = {2, 3, 4, 5, 6};
int b[5] = {2, 3, 4};
int c[5] = {0};
int d[] = {4, 3, 2, 1, 4};
?例:
// 整型數(shù)組
int a[5] = {0};
// 浮點型數(shù)組
float b[] = {2.10, 3.22};
// 字符數(shù)組
char str[] = "iPhone";
數(shù)組元素
數(shù)組元素的 訪問:數(shù)組名 +下標
數(shù)組下標:數(shù)組元素在數(shù)組中的序號。從 0 開始,到
數(shù)組元素個數(shù)-1;下標可以是常量,也可以是變量
數(shù)組元素的訪問
訪問數(shù)組中的元素時,下標可以為變量
?如: age[i];
訪問數(shù)組中的元素可以采?for循環(huán),
我們把這個操作稱作遍歷
注意:使?數(shù)組時,注意數(shù)組不能越界的問題
注意事項
系統(tǒng)不會檢測 數(shù)組元素的下標 是否 越界,編程時,必須保證數(shù)組
下標?不能 越界。
不能這樣定義數(shù)組
int array[] = {}; 或者 int array[2] = {1, 2, 3};
數(shù)組是?個整體,不能 直接參加運算,只能?對 單個元素進?處理,
通常?到數(shù)組的地?都會?到循環(huán)
?、數(shù)組排序
冒泡排序
使?數(shù)組時,很多時候需要將數(shù)組中的元素按照?定條件進?排
序
冒泡排序 是?較 常見 的排序算法
因為其原理跟 ?底?泡上升??? 很相似?得名
冒泡排序涉及到 雙循環(huán),外層循環(huán)控制趟數(shù),內(nèi)層循環(huán)控制?
較次數(shù)
字符數(shù)組
?于存放字符變量的數(shù)組稱為字符數(shù)組
字符數(shù)組屬于?維數(shù)組,定義?式與普通?維數(shù)組相似,只是
數(shù)據(jù)的類型是char
字符數(shù)組的定義:
char name[5] = {'a', 'b', 'c', 'd', 'e'};
char name[] = "iPhone";
操作字符數(shù)組的函數(shù)
有’\0’結(jié)束標識的字符數(shù)組也稱為 字符串
系統(tǒng)提供了很多 字符串處理函數(shù)
?strlen() 計算字符串長度
?strcpy() 字符串拷貝
?strcat() 字符串拼接
?strcmp() 字符串?較
注意事項
字符串所占的空間 ?少要? 字符串長度?1,因為字符串結(jié)尾
默認有’\0’,占?個字節(jié), 系統(tǒng)提供的字符串處理函數(shù)都是根據(jù)
‘\0’ 來判斷字符串是否結(jié)束
char str[] = {'o', 'k'};
char str = “ok”;
注意:在printf輸出字符串時,占位符?%s
宏定義
宏定義是預編譯功能的?種
注意: 預編譯?稱為預處理, 是為編譯做的預備?作的階段。
處理#開頭的指令, ?如拷貝#include包含的?件代碼,
#define宏定義的替換,條件編譯等
使?宏定義的好處:可提?程序的通?性和易讀性,減少不?致性,
減少輸?錯誤和便于修改。例如:數(shù)組的元素個數(shù)常?宏定義
#define PI 3.1415926
#define 是宏定義指令, PI代表宏名, 3.1415926是預編譯時會被替
換的內(nèi)容。
注意事項
#define MUL(A, B) ((A) * (B))
宏定義只是替代的過程,在定義有參數(shù)的宏時,運算符要有(),
避免運算優(yōu)先級的影響
總結(jié)
數(shù)組 通常與 循環(huán) 結(jié)合使?
數(shù)組下標 從0開始 最?到 數(shù)組容量-1
?定要注意下標越界問題
字符串數(shù)組在 定義 的時候?定要 多留?個元素位置留
給’\0’
定義宏時,加括號是為了防?受操作符優(yōu)先級的影響