《中國科技大學(xué)C語言講義》由會員分享,可在線閱讀,更多相關(guān)《中國科技大學(xué)C語言講義(51頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、數(shù) 組 是 一 組 有 序 數(shù) 據(jù) 的 集 合 , 數(shù) 組 中 每 一個 元 素 的 類 型 相 同 。 用 數(shù) 組 名 和 下 標(biāo) 來 唯 一 確定 數(shù) 組 中 的 元 素 。6.1 1維 數(shù) 組 的 定 義 和 引 用6.2 2維 數(shù) 組 的 定 義 和 引 用6.3 字 符 數(shù) 組 與 字 符 串第 6章 數(shù) 組 6.1 1維 數(shù) 組 的 定 義 和 引 用 例 使 數(shù) 組 元 素 a0 a9的 值 為 0 9, 然 后 逆 序 輸 出 。#include “stdio.h”void main() int i,a10; for (i=0;i=0; i-) printf(%d ,ai);
2、運 行 輸 出 : 9 8 7 6 5 4 3 2 1 0 3、 一 維 數(shù) 組 的 初 始 化1、 一 般 初 始 化 ,例 、 static int a10 = 0,1,2,3,4,5,6,7,8,9; int array10 = 1,2,3,4,5,6,7,8,9,10; 2、 部 分 元 素 初 始 化 ,例 、 static int a10 = 0,1,2,3,4;3、 全 部 元 素 均 初 始 化 為 0, 不 允 許 簡 寫 。例 、 static int a10 = 0,0,0,0,0,0,0,0,0,0; 不 能 簡 寫 為 : static int a10 = 0*10;
3、 4、 如 果 全 部 元 素 均 指 定 初 值 , 定 義 中 可 以 省 略 元 素的 個 數(shù) ,例 、 static int a = 1,2,3,4,5; 不 足 之 處 :仍 然 要 進(jìn) 行 9輪 冒 泡 操 作 , 盡 管不 會 有 任 何 數(shù) 據(jù) 交 換 操 作 。 . 行 數(shù) 列 數(shù)014523 01234567.20212223 c000c001c002c003c010c011c012c013c020c021c022c023c100c101c102c103c110c111c112c113c120c121c122c1236.2 2維 數(shù) 組 的 定 義 和 引 用 例 有 一
4、個 3 4的 矩 陣 , 要 求 編 程 序 以 求 出 其 中 值 最 大 的 那個 元 素 的 值 及 其 所 在 的 行 號 和 列 號 。算 法 :首 先 把 第 一 個 元 素 a00作 為臨 時 最 大 值 max, 然 后 把 臨 時 最大 值 max與 每 一 個 元 素 aij進(jìn)行 比 較 , 若 aijmax,把 aij作 為 新 的 臨 時 最 大 值 ,并 記 錄 下 其 下 標(biāo) i和 j。當(dāng) 全 部 元 素 比 較 完 后 ,max是 整 個 矩 陣 全 部 元 素 的 最 大 值 。 main() int i,j,row=0,colum=0,max; static
5、int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; max = a00; for(i=0; i=2; i+) /* 用 兩 重 循 環(huán) 遍 歷 全 部 元 素 */ for(j=0; j max ) max = aij; row = i; colum = j; printf(max=%d, row=%d, colum=%dn,max,row,colum); 6.3 字 符 數(shù) 組 與 字 符 串一 、 定 義 字 符 數(shù) 組例 、char c10; /* 定 義 c為 字 符 數(shù) 組 , 包 含 10個 元 素 */c0=I; c1= ; c2=a; c3=m; c4=
6、;c5=h; c6=a; c7=p; c8=p; c9=y; 注 意 :字 符 型 與 整 型 可 以 通 用 , 但 有 區(qū) 別 :char c10; /* 在 內(nèi) 存 中 占 10字 節(jié) */int c10; /* 在 內(nèi) 存 中 占 20字 節(jié) */ 二 、 字 符 數(shù) 組 的 初 始 化1、 逐 個 字 符 賦 初 值static char c10 = I, ,a,m, ,h,a,p,p,y;static char c10 = c, ,p,r,o,g,r,a,m; /* 9 */static char c = I, ,a,m, ,h,a,p,p,y; 注 意 : 初 始 化 數(shù) 據(jù) 少
7、 于 數(shù) 組 長 度 ,多 余 元 素 自 動 為 “ 空 ” ( 0,二 進(jìn) 制 0) 。 指 定 初 值 時 , 若 未 指 定 數(shù) 組 長 度 , 則 長 度 等 于 初 值 個 數(shù) 。 花 括 號 中 字 符 的 個 數(shù) 數(shù) 組 長 度 , 語 法 錯 以 字 符 串 常 量 賦 初 值static char c11 = I am happy;static char c11 = I am happy;注 意 : 數(shù) 組 長 度 字 符 串 中 的 字 符 數(shù) 若 數(shù) 組 長 度 字 符 串 中 的 字 符 數(shù) , 則 出 錯若 數(shù) 組 長 度 字 符 串 中 的 字 符 數(shù) , 則 后
8、 加 數(shù) 組 長 度 可 省 略I a m h a p p y 0 static char c = I am happy;static char c = I, ,a,m, ,h,a,p,p,y;這 兩 種 初 始 化 不 等 價 為 何 ?字 符 數(shù) 組 本 身 不 要 求 最 后 是 而 字 符 串 常 量 一 定 最 后 是 三 、 引 用引 用 一 個 元 素 , 得 到 一 個 字 符 。例 : c2 四 、 字 符 數(shù) 組 的 輸 入 輸 出1、 用 “ %c” 格 式 符 逐 個 輸 入 輸 出 。2、 用 “ %s” 格 式 符 按 字 符 串 輸 入 輸 出注 意 :%c 輸
9、出 , 常 用 于 字 符 數(shù) 組 中 無 標(biāo) 記 的 情 況%s 輸 出 , 用 于 字 符 數(shù) 組 中 有 標(biāo) 記 的 情 況。 void main() char c10; int i ; for( i =0; i10; i+ ) scanf(“%c”, /* ci=getchar();*/ for( i =0; i10; i+ ) printf(“%c”, ci); /*putchar(ci);*/ scanf(“%s”, c);printf(“%s”, c); 例 輸 出 一 個 鉆 石 圖 形 。 void main() static char diamond5= , ,*, ,*,
10、 ,*, *, , , ,*, ,*, ,*, , ,* ; int i, j; for(i=0;i5;i+) for(j=0;j5;j+) printf(%c,diamondij); printf(n); void main() static char diamond= “ * n * * n * *n * * n * n”; printf(“%s”,diamond); 案 例 字 符 數(shù) 組 的 整 體 輸 入 與 輸 出 。 /*功 能 : 將 2維 字 符 數(shù) 組 進(jìn) 行 初 始 化 , 并 在 屏 幕 上 輸 出 */void main() int i; char name59= 張
11、 三 山 , 李 四 季 , 王 五 魁 , 劉 六 順 , 趙 七 巧 ; for(i=0;i5;i+) printf(n%st,namei); /*namei代 表 該 行 數(shù) 組 元 素 的 首 地 址 */ 時 , 常 用 的 字 符 串 處 理 函 數(shù) gets scanf輸 入 的 字 符 串 中 可 包 含 空 格 字 符 輸 入 的 字 符 串 中 不 可 包 含 空 格 字 符 只 能 輸 入 一 個 字 符 串 可 連 續(xù) 輸 入 多 個 字 符 串 ( 使 用 %s%s)不 可 限 定 字 符 串 的 長 度 可 限 定 字 符 串 的 長 度 ( 使 用 %ns)遇 到
12、 回 車 符 結(jié) 束 遇 到 空 格 符 或 回 車 符 結(jié) 束 功 能 : 向 顯 示 器 輸 出 字 符 串 ( 輸 出 完 , 換 行 )說 明 : 如 果 是 字 符 數(shù) 組 , 則 必 須 以 0結(jié) 束 格 式 : strlen(字 符 串 地 址 ) 功 能 : 計 算 字 符 串 長 度返 值 : 返 回 字 符 串 實 際 長 度 , 不 包 括 0在 內(nèi) 0 將 字 符 串 中 大 寫 字 母 轉(zhuǎn) 換 成 小 寫 strlwr()函 數(shù)( 1) 調(diào) 用 方 式 : strlwr(字 符 串 )( 2) 函 數(shù) 功 能 : 將 字 符 串 中 的 大 寫 字 母 轉(zhuǎn) 換 成 小
13、 寫 , 其 它字 符 ( 包 括 小 寫 字 母 和 非 字 母 字 符 ) 不 轉(zhuǎn) 換 。將 字 符 串 中 小 寫 字 母 轉(zhuǎn) 換 成 大 寫 strupr()函 數(shù)( 1) 調(diào) 用 方 式 : strupr(字 符 串 )( 2) 函 數(shù) 功 能 : 將 字 符 串 中 小 寫 字 母 轉(zhuǎn) 換 成 大 寫 , 其 它 字符 ( 包 括 大 寫 字 母 和 非 字 母 字 符 ) 不 轉(zhuǎn) 換 。 常 見 錯 誤int a10,i ;for(i=1;i=10;i+).下 標(biāo) 越 界 上 機(jī) :教 材 : P168-169, 1, 7, 8, 9 實 驗 : P144, 7 8 1 63 5 74 9 2