untitled

Similar documents

2006年国家公务员招录考试行测真题(A)

untitled

( CIP).:,3.7 ISBN TB CIP (3) ( ) ISBN O78 : 3.

C 1

CC213

<4D F736F F D C4EAC6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FAC8ABB9FACDB3D2BBBFBCCAD4CEC4BFC6D7DBBACDCAD4BEEDBCB0B4F0B0B82DD6D8C7ECBEED2E646F63>

untitled

Microsoft PowerPoint - ds-1.ppt [兼容模式]

<4D F736F F D C4EAB9FABCD2B9ABCEF1D4B1D0D0D5FEC4DCC1A6B2E2D1E9A3A841C0E0A3A92E646F63>

耶 穌 來 到 地 上, 祂 復 活! 借 著 祂 從 死 裡 的 復 活, 祂 走 出 墳 墓 的 時 候, 祂 釋 放 出 復 活 的 大 能 這 個 復 活 的 大 能 大 到 一 個 地 步, 進 到 那 一 些 已 睡 的 聖 徒, 他 們 醒 了, 進 到 他 們 的 裡 面, 他 們

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

學 習 目 標 1. 了 解 有 計 畫 的 運 動 之 前, 實 施 身 體 檢 查 的 重 要 性 2. 了 解 熱 身 與 緩 和 運 動 可 以 預 防 運 動 傷 害 3. 了 解 包 紮 護 具 裝 備 與 場 地 器 材 的 維 護, 可 以 避 免 傷 害 發 生 4. 了 解 食

C/C++ - 数组与指针

Microsoft Word - 第3章.doc

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80

nooog

碩命題橫式

untitled

四川省普通高等学校

bingdian001.com

第5章修改稿

内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

第3章.doc

C

untitled

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

45 18 A4~A DAY A %

1 已 賺 得 並 已 收 到 現 金 2 已 經 收 到 現 金, 但 仍 未 賺 得 3 尚 未 賺 得, 或 收 到 現 金 4 已 經 賺 得, 但 尚 未 收 到 現 金 (2)9. 下 列 何 種 報 表 係 表 達 一 公 司 在 某 一 時 點 之 財 務 狀 況? 1 綜 合 損


C/C++ - 字符输入输出和字符确认

Microsoft Word - 2AF63內文.doc

untitled

C/C++ - 文件IO

文档 1

ebook14-4

14052_公開用.pdf

#!! +!,! # &!. / !!, 7!!, & #! % 7! % )

& ( )! +!, # %! ( & &.! / /.

# 7 % % % < % +!,! %!!

書本介紹


) E F EF F F = = FE = F = F 5 E O E F O O O O O O O O O EFO E F 6 8cm 3cm 5cm cm 3cm 5cm cm 7 5% x + 3 x =

CC213

C++ 程式設計


C/C++ - 函数

《分析化学辞典》_数据处理条目_1.DOC

全国计算机技术与软件专业技术资格(水平)考试

untitled

C/C++ 语言 - 循环

c_cpp

记 忆 155 期 北 京 大 学 文 革 专 辑 (9) 目 录 专 稿 章 铎 从 高 云 鹏 的 遭 遇, 看 迟 群 之 流 的 专 制 附 : 高 云 鹏 给 胡 宗 式 章 铎 的 信 (2015 年 11 月 19 日 ) 评 论 马 云 龙 王 复 兴 抢 救 记 忆 : 一 个 北

硕士论文正文


不 会 忘 记, 历 史 不 会 忘 记, 当 一 个 古 老 神 州 正 以 崭 新 的 姿 态 昂 首 屹 立 于 世 界 东 方 的 时 候, 当 世 界 把 延 伸 的 广 角 镜 瞄 准 这 片 神 奇 土 地 的 时 候, 中 国 人 民 已 深 深 感 到, 现 在 所 拥 有 的,

标题

Microsoft Word - media-tips-zh.doc

第六篇守势




第一章

第 二 章 鉴 证 业 务 的 定 义 和 目 标 第 五 条 鉴 证 业 务 是 指 注 册 会 计 师 对 鉴 证 对 象 信 息 提 出 结 论, 以 增 强 除 责 任 方 之 外 的 预 期 使 用 者 对 鉴 证 对 象 信 息 信 任 程 度 的 业 务 鉴 证 对 象 信 息 是 按

A 单 位 负 责 人 B 会 计 机 构 负 责 人 C 会 计 主 管 人 员 D 会 计 人 员 多 选 题 : 1. 单 位 伪 造 变 造 会 计 凭 证 会 计 账 簿, 编 制 虚 假 财 务 会 计 报 告 的, 县 级 以 上 人 民 政 府 财 政 部 可 以 依 法 行 使 的


目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

山东建筑大学学分制管理规定(试行)

2015年计算机二级(C语言)模拟试题及答案(四)

untitled

新・解きながら学ぶC言語

Microsoft PowerPoint - C_Structure.ppt

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

zyk00168ZW.PDF

介 绍 议 会 新 成 立 的 专 业 议 会 推 动 委 员 会 工 作 方 向 专 业 议 会 推 动 委 员 会 召 集 人 欧 阳 枝 成 立 教 学 专 业 议 会 一 向 是 教 育 人 员 专 业 操 守 议 会 的 梦 想 及 目 标 从 七 年 前 当 我 第 一 次 出 席 操

Ps22Pdf


Microsoft Word 箕æ−¥ï¼‹å®ı稿;

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

※※※※※

机 密

新・明解C言語入門編『索引』

<4D F736F F D20CCABB1A3CAD9A3A A3A BAC5B8BDBCFE3836CAC0BCCDD0D0C8CBC9EDD2E2CDE2C9CBBAA6B1A3CFD5A3A843BFEEA3A9CCF5BFEE2E646F63>

chap07.key

C

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

FY.DOC

悖论

untitled

untitled

epub 33-8

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总

Ps22Pdf

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

( CI P ) /,. :, ISBN X820.3 CIP (2005) : : : : /

untitled


Transcription:

CHAPTER 02 2 CHAPTER

2-1 2-4 2-2 2-5 2-3 2-6

2-1 2-1-1 2-2

02 int A[3] = {10, 20, 30; A[0] 10 A[1] 20 A[2] 30 int *pa[3], A[3]; C 3 pa pa[0]pa[1]pa[2] 3 A A[0]A[1]A[2] 3 A A[0] A + i A[i] A + i &A[i]*(A + i) A[i] 2-3

2-1-2 int A[m][n]; [0][0] [0][1] [0][2] [0][n-1] [1][0] [1][1] [1][2] [1][n-1] [2][0] [2][1] [2][2] [2][n-1] [m-1][0] [m-1][1] [m-1][2] [m-1][n-1] 2-4

02 2-1-3 A[upper0] upper0 A[upper0][upper1] upper0upper1 A[upper0][upper1][upper2] upper0upper1 upper2 n A[upper0][upper1] [uppern-1] upper0upper1 uppern-1 2-5

2-2 int A[10]; A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] int X = A[0]; A[0] = 100; A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 25 22 8 19 32 40 6 15 55 10 A[4] A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 25 22 8 19 10 32 40 6 15 55 2-6

02 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 25 22 8 19 32 40 6 15 55 A[2] A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 25 22 19 32 40 6 15 55 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 25 22 8 19 32 40 6 15 55 A B B0] B[1] B[2] B[3] B[4] B[5] B[6] B[7] B[8] B[9] 25 22 8 19 32 40 6 15 55 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] 25 22 8 19 32 40 6 15 55 ( 32) 2-7

2.1 [] \Ch02\ex2_1.c /* A n */ array_traverse(int A[], int n) { int i; for(i = 0; i < n; i++) printf("%d\n", A[i]); main() { int A[5] = {10, 20, 30, 40, 50; array_traverse(a, 5); 2.2 [] /* A n i value*/ array_insert(int A[], int n, int i, int value) { int j; if (i < 0 i >= n) return; /* i */ for(j = n - 1; j > i; j--) /* i */ A[j] = A[j - 1]; A[i] = value; /* i value*/ 2-8

02 2.3 [] /* A n i */ array_delete(int A[], int n, int i) { int j; if (i < 0 i >= n) return; /* i */ for(j = i; j < n - 1; j++) /**/ A[j] = A[j + 1]; A[n - 1] = 0; /* 0*/ A = B = A t = 2-9

2-10

02 2-11

2.4[] \Ch02\ex2_4.c /* A mn */ matrix_traverse(int m, int n, int A[m][n]) { int i, j; for(i = 0; i < m; i++){ for(j = 0; j < n; j++) printf("%d ", A[i][j]); printf("\n"); main() { int A[2][3] = {{11, 12, 13, {21, 22, 23; matrix_traverse(2, 3, A); 2.5[] /* A mn A B B nm */ matrix_transpose(int m, int n, int A[m][n], int B[n][m]) { int i, j; for(i = 0; i < m; i++) for(j = 0; j < n; j++) B[j][i] = A[i][j]; 2-12

02 2.6[] /* ABC mn C=A+B*/ matrix_add(int m, int n, int A[m][n], int B[m][n], int C[m][n]) { int i, j; for(i = 0; i < m; i++) for(j = 0; j < n; j++) C[i][j] = A[i][j] + B[i][j]; 1. [] 2. [] 3. [] for(i = 0; i < m; i++) for(j = 0; j < p; j++){ C[i][j] = 0; for(k = 0; k < n; k++) C[i][j] += A[i][k] * B[k][j]; 2-13

2-3 α α int A[5]; A[0] A[1] + 1 x sizeof(int) A[0] A[1] A[2] A[3] A[4] A[2] A[3] A[4] + 2 x sizeof(int) + 3 x sizeof(int) + 4 x sizeof(int) α α α 2-14

02 2.7 2.8 α α α α 2.9 2-15

α α α α 2.10 n α α + i 0 x upper 1 x upper 2 x x upper n-1 A[i 0 ][i 1 ][0] [0] α + i 0 x upper 1 x upper 2 x x upper n-1 + i 1 x upper 2 x upper 3 x x upper n-1 2-16

02 2.11 α α α α α α α α 1. 2. 3. 2-17

2-4 2-4-1 Polynomial [0] [1] [2] [n] n c n c n-1 c 1 n+2 [n+1 ] c 0 Polynomial [0] [1] [2] [2m-1] [2m] m c m-1 e m-1 c 0 e 0 2m+1 2-18

02 typedef struct{ int coef; int exp; NonZeroTerm; #define MAX_SIZE 100 typedef struct{ int count; NonZeroTerm terms[max_size]; Polynomial; /**/ /**/ /**/ /* MAX_SIZE */ /**/ /**/ /**/ Polynomial A, B; count 4 terms [0] [1] [2] [3] coef exp coef exp coef exp coef exp 3 5 8 4-6 2 5 0 count 3 terms [0] [1] [2] coef exp coef exp coef exp 2 6 4 2 1 0 2-19

2.12[] \Ch02\ex2_12.c ( 1/3) /* xy x < y -1 x == y 0 x > y 1*/ #define COMPARE(x, y) ((x < y)? -1 : (x == y)? 0 : 1) #define MAX_SIZE 100 /* MAX_SIZE */ typedef struct{ /**/ int coef; /**/ int exp; /**/ NonZeroTerm; 2-20

02 \Ch02\ex2_12.c ( 2/3) typedef struct{ int count; NonZeroTerm terms[max_size]; Polynomial; /**/ /**/ /**/ /**/ main() { Polynomial A, B, C; A.count = 0; attach(&a, 3, 5); attach(&a, 8, 4); attach(&a, -6, 2); attach(&a, 5, 0); B.count = 0; attach(&b, 2, 6); attach(&b, 4, 2); attach(&b, 1, 0); /* Polynomial ABC*/ /* A(X) = 3X 5 + 8X 4-6X 2 + 5 */ /* B(X) = 2X 6 + 4X 2 + 1 */ PolyAdd(&A, &B, &C); /* C(X) = A(X) + B(X)*/ int i; /* C(X) */ printf(" C(X)%d \n", C.count); for(i = 0; i < C.count; i++) printf("%d %d\t %d\n", i+1, C.terms[i].coef, C.terms[i].exp); /**/ attach(polynomial *ptr, int coef, int exp) { if (ptr->count >= MAX_SIZE) return; ptr->terms[ptr->count].coef = coef; ptr->terms[ptr->count].exp = exp; ptr->count++; 2-21

\Ch02\ex2_12.c ( 3/3) /* C(X) = A(X) + B(X)*/ PolyAdd(Polynomial *pa, Polynomial *pb, Polynomial *pc) { int currenta = 0, currentb = 0; pc->count = 0; while(currenta < pa->count && currentb < pb->count){ switch(compare(pa->terms[currenta].exp, pb->terms[currentb].exp)){ /* A B B */ case -1: attach(pc, pb->terms[currentb].coef, pb->terms[currentb].exp); currentb++; break; /* A B */ case 0: if((pa->terms[currenta].coef + pb->terms[currentb].coef)!= 0) attach(pc, pa->terms[currenta].coef + pb->terms[currentb].coef, pa->terms[currenta].exp); currenta++; currentb++; break; /* A B A */ case 1: attach(pc, pa->terms[currenta].coef, pa->terms[currenta].exp); currenta++; while(currenta < pa->count){ /* A */ attach(pc, pa->terms[currenta].coef, pa->terms[currenta].exp); currenta++; while(currentb < pb->count){ /* B */ attach(pc, pb->terms[currentb].coef, pb->terms[currentb].exp); currentb++; 2-22

02 2-4-2 A = 45 #define MAX_SIZE 100 typedef struct{ int row; int col; int value; SparseTerm; /* MAX_SIZE */ /**/ /**/ /**/ /**/ SparseTerm A[MAX_SIZE]; A [0] [1] [2] [3] [4] [5] [6] row 4 0 0 1 2 2 3 col 5 1 4 3 0 2 4 value 6 1 2 3 4 5 6 2-23

2.13[] B [0] [1] [2] [3] [4] [5] [6] row 5 0 1 2 3 4 4 col 4 2 0 2 1 0 3 value 6 4 1 5 3 2 6 SparseTranspose(SparseTerm A[], SparseTerm B[]) /* B = A t */ { int currentb; int i, j; B[0].row = A[0].col; 2-24

02 B[0].col = A[0].row; B[0].value = A[0].value; if (B[0].value == 0) return; currentb = 1; for(i = 0; i < A[0].col; i++) for(j = 0; j <= B[0].value; j++) if (A[j].col == i){ B[currentB].row = A[j].col; B[currentB].col = A[j].row; B[currentB].value = A[j].value; currentb++; /**/ /* A */ /**/ /* B*/ 2.14[] 2-25

1. [] 2. [] 2-26

02 2-5 char name1[] = "Jean Chen"; char name2[10] = "Mary"; char name3[5] = {'J', 'o', 'e', '\0'; [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] name1 J e a n C h e n \0 [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] name2 M a r y \0 [0] [1] [2] [3] [4] name3 J o e \0 printf("%c", name1[3]); /* name1 'n' */ name3[2] = 'y'; /* name3 'y' */ 2-27

char str[] = "Jean Chen"; printf("%d", strlen(str)); /* str 9*/ char str[50]; strcpy(str, "Happy New Year"); /* "Happy New Year" str */ char str1[] = "Happy Birthday"; char str2[] = "Happy New Year"; printf("%d", strcmp(str1, str2)); /* -1 str1 str2*/ 2-28

02 2.15[] int StrLength(char str[]) { int i = 0; while(str[i]!= '\0') i++; return i; 2.16[] StrCopy(char str1[], char str2[]) { int i = 0; while(str2[i]!= '\0'){ str1[i] = str2[i]; i++; str1[i] = '\0'; 2-29

2.17[ (pattern matching)] int StrMatch(char str[], char pat[]) { int i, j; int start = 0; /* str */ int end = strlen(str) - 1; /* str */ int endp = strlen(pat) - 1; /* pat */ int endmatch = endp; /* str pat */ for(i = 0; endmatch <= end; endmatch++, start++){ if (str[endmatch] == pat[endp]) for(j = 0, i = start; j < endp && str[i] == pat[j]; i++, j++); if (j == endp) return start; /**/ return -1; /**/ 2-30

02 j endp pat[] = y y x \0 start end match end str[] = y x y x x x y y x x x \0 no match start end match end y x y x x x y y x x x \0 no match start end match end y x y x x x y y x x x \0 no match start end match end y x y x x x y y x x x \0 no match start end match end y x y x x x y y x x x \0 no match start end match end y x y x x x y y x x x \0 no match start end match end y x y x x x y y x x x \0 match 2-31

2-6 typedef struct{ int year; int month; int day; DATE; typedef struct{ char name[50]; DATE birthday; PERSON; PERSON employee; employee.name = "Mary Wang"; employee.birthday.year = 1995; employee.birthday.month = 2; employee.birthday.day = 14; 2-32

02 α α α α α α α 2-33

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. count? terms [0] [1] [2] coef exp coef exp coef exp coef exp?????? 2-34

02 11. 12. [] 13. 14. 15. [ ] 2-35