机 密 启 用 前 2007 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 C 语 言 程 序 设 计 24 注 意 事 项 一 考 生 应 严 格 遵 守 考 场 规 则, 得 到 监 考 人 员 指 令 后 方 可 作 答 二 考 生 拿 到 试 卷 后 应 首 先 将 自 己 的 姓 名 准 考 证 号 等 内 容 涂 写 在 答 题 卡 的 相 应 位 置 上 三 选 择 题 答 案 必 须 用 铅 笔 填 涂 在 答 题 卡 的 相 应 位 置 上, 填 空 题 的 答 案 必 须 用 蓝 黑 色 钢 笔 或 圆 珠 笔 写 在 答 题 卡 的 相 应 位 置 上, 答 案 写 在 试 卷 上 无 效 四 注 意 字 迹 清 楚, 保 持 卷 面 整 洁 五 考 试 结 束 将 试 卷 和 答 题 卡 放 在 桌 上, 不 得 带 走 待 监 考 人 员 收 毕 清 点 后, 方 可 离 场 * * * 版 权 所 有, 任 何 单 位 或 个 人 不 得 保 留 复 制 和 出 版, 违 者 必 究 * * * 教 育 部 考 试 中 心 二 00 七 年 七 月 制
2007 年 9 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 公 共 基 础 知 识 和 C 语 言 程 序 设 计 ( 考 试 时 间 120 分 钟, 满 分 100 分 ) 一 选 择 题 ((1)-(10) 每 小 题 2 分,(11)-(50) 每 小 题 1 分, 共 60 分 ) (1) 软 件 是 指 ( ) A) 程 序 B) 程 序 和 文 档 C) 算 法 加 数 据 结 构 D) 程 序 数 据 与 相 关 文 档 的 完 整 集 合 (2) 软 件 调 试 的 目 的 是 ( ) A) 发 现 错 误 B) 改 正 错 误 C) 改 善 软 件 的 性 能 D) 验 证 软 件 的 正 确 性 (3) 在 面 向 对 象 的 方 法 中, 实 现 信 息 隐 蔽 是 依 靠 ( ) A) 对 象 的 继 承 B) 对 象 的 多 态 C) 对 象 的 封 装 D) 对 象 的 分 类 (4) 下 列 叙 述 中, 不 符 合 良 好 程 序 设 计 风 格 要 求 的 是 ( ) A) 程 序 的 效 率 第 一, 清 晰 第 二 B) 程 序 的 可 读 性 好 C) 程 序 中 要 有 必 要 的 注 释 D) 输 入 数 据 前 要 有 提 示 信 息 (5) 下 列 叙 述 中 正 确 的 是 ( ) A) 程 序 执 行 的 效 率 与 数 据 的 存 储 结 构 密 切 相 关 B) 程 序 执 行 的 效 率 只 取 决 于 程 序 的 控 制 结 构 C) 程 序 执 行 的 效 率 只 取 决 于 所 处 理 的 数 据 量 D) 以 上 三 种 说 法 都 不 对 (6) 下 列 叙 述 中 正 确 的 是 ( ) A) 数 据 的 逻 辑 结 构 与 存 储 结 构 必 定 是 一 一 对 应 的 B) 由 于 计 算 机 存 储 空 间 是 向 量 式 的 存 储 结 构, 因 此, 数 据 的 存 储 结 构 一 定 是 线 性 结 构 C) 程 序 设 计 语 言 中 的 数 据 一 般 是 顺 序 存 储 结 构, 因 此, 利 用 数 组 只 能 处 理 线 性 结 构 D) 以 上 三 种 说 法 都 不 对 (7) 冒 泡 排 序 在 最 坏 情 况 下 的 比 较 次 数 是 A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2 (8) 一 棵 二 叉 树 中 共 有 70 个 叶 子 结 点 与 80 个 度 为 1 的 结 点, 则 该 二 叉 树 中 的 总 结 点 数 为 A)219 B)221 C)229 D)231 (9) 下 列 叙 述 中 正 确 的 是 ( ) A) 数 据 库 系 统 是 一 个 独 立 的 系 统, 不 需 要 操 作 系 统 的 支 持 B) 数 据 库 技 术 的 根 本 目 标 是 要 解 决 数 据 的 共 享 问 题 C) 数 据 库 管 理 系 统 就 是 数 据 库 系 统 D) 以 上 三 种 说 法 都 不 对 (10) 下 列 叙 述 中 正 确 的 是 ( ) A) 为 了 建 立 一 个 关 系, 首 先 要 构 造 数 据 的 逻 辑 关 系 B) 表 示 关 系 的 二 维 表 中 各 元 组 的 每 一 个 分 量 还 可 以 分 成 若 干 数 据 项 C) 一 个 关 系 的 属 性 名 表 称 为 关 系 模 式 二 级 C 语 言 程 序 设 计 试 卷 第 1 页 ( 共 11 页 )
D) 一 个 关 系 可 以 包 括 多 个 二 维 表 (11)C 语 言 源 程 序 名 的 后 缀 是 ( ) A).exe B).C C).obj D).cp (12) 可 在 C 程 序 中 用 作 用 户 标 识 符 的 一 组 标 识 符 是 ( ) A)and B)Date _2007 y-m-d C)Hi D)case Dr.Tom Bigl (13) 下 列 选 项 中, 合 法 的 一 组 C 语 言 数 值 常 量 是 ( ) A)028 B)12..5e-3 0xa23.0xf 4.5e0 C).177 D)0x8A 4e1.5 10,000 0abc 3.e5 (14) 下 列 叙 述 中 正 确 的 是 ( ) A)C 语 言 程 序 将 从 源 程 序 中 第 一 个 函 数 开 始 执 行 B) 可 以 在 程 序 中 由 用 户 指 定 任 意 一 个 函 数 作 为 主 函 数, 程 序 将 从 此 开 始 执 行 C)C 语 言 规 定 必 须 用 main 作 为 主 函 数 名, 程 序 将 从 此 开 始 执 行, 在 此 结 束 D)main 可 作 为 用 户 标 识 符, 用 以 命 名 任 意 一 个 函 数 作 为 主 函 数 (15) 若 在 定 义 语 句 :int a,b,c,*p=&c; 之 后, 接 着 执 行 下 列 选 项 中 的 语 句, 则 能 正 确 执 行 的 语 句 是 ( ) A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c); C)scanf("%d",p); D)scanf("%d",&p); (16) 下 列 关 于 long int 和 short 类 型 数 据 占 用 内 存 大 小 的 叙 述 中 正 确 的 是 ( ) A) 均 占 4 个 字 节 B) 根 据 数 据 的 大 小 来 决 定 所 占 内 存 的 字 节 数 C) 由 用 户 自 己 定 义 D) 由 C 语 言 编 译 系 统 决 定 (17) 若 变 量 均 已 正 确 定 义 并 赋 值, 下 列 合 法 的 C 语 言 赋 值 语 句 是 ( ) A)x = y = = 5; B)x = n%2.5; C)x + n = i; D)x = 5 = 4+ 1; (18) 有 下 列 程 序 段 : int j;float y;char name[50] ; scanf("%2d%f%s",&j,&y,name); 当 执 行 上 述 程 序 段, 从 键 盘 上 输 入 55566 7777abc 后,y 的 值 为 ( ) A)55566.0 B)566.0 C)7777.0 D)566777.0 (19) 若 变 量 已 正 确 定 义, 有 下 列 程 序 段 : i=0; do printf("%d,",i);while(i+ +); printf("%d\n",i) ; 其 输 出 结 果 是 ( ) A)0,0 B)0,1 C)1,1 D) 程 序 进 入 无 限 循 环 (20) 有 下 列 计 算 公 式 : 二 级 C 语 言 程 序 设 计 试 卷 第 2 页 ( 共 11 页 )
y = x ( x 0) ( x < 0) 若 程 序 前 面 已 在 命 令 行 中 包 含 math.h 文 件, 不 能 够 正 确 计 算 上 述 公 式 的 程 序 段 是 ( ) A)if(x>=0) y=sqrt(x); B)y=sqrt(x); else y=sqrt(-x) ; if(x<0) y=sqrt(-x); C)if(x>=0) y=sqrt(x) ; D)y=sqrt(x>=0? x:-x); if(x<0) y=sqrt(-x); (21) 设 有 条 件 表 达 式 :(EXP)?i+ +:j--, 则 下 列 表 达 式 中 与 (EXP) 完 全 等 价 的 是 ( ) A)(EXP= =0) B)(EXP! =0) C)(EXP= =1) D)(EXP! =1) (22) 有 下 列 程 序 : { int y=9; for(;y>0;y--) if(y%3= =0) printf("%d",--y); A)741 B)963 C)852 D)875421 (23) 已 有 定 义 :char c;, 程 序 前 面 已 在 命 令 行 中 包 含 ctype.h 文 件, 不 能 用 于 判 断 c 中 的 字 符 是 否 为 大 写 字 母 的 表 达 式 是 ( ) A)isupper(c) B)'A'<=c<='Z' C)'A'<=c&&c<='Z' D)c<=('z'-32)&&('a'-32)<=c (24) 有 下 列 程 序 : { int i,j,m=55; for(i=1;i<=3;i+ +) for(j=3;j<=i;j+ +) m=m%j; printf("%d\n",m); A)0 B)1 C)2 D)3 (25) 若 函 数 调 用 时 的 实 参 为 变 量 时, 下 列 关 于 函 数 形 参 和 实 参 的 叙 述 中 正 确 的 是 ( ) A) 函 数 的 实 参 和 其 对 应 的 形 参 共 占 同 一 存 储 单 元 B) 形 参 只 是 形 式 上 的 存 在, 不 占 用 具 体 存 储 单 元 C) 同 名 的 实 参 和 形 参 占 同 一 存 储 单 元 D) 函 数 的 形 参 和 实 参 分 别 占 用 不 同 的 存 储 单 元 (26) 已 知 字 符 'A' 的 ASCII 代 码 值 是 65, 字 符 变 量 cl 的 值 是 'A',c2 的 值 是 'D' 执 行 语 句 printf("%d,%d",c1,c2-2) ; 后, 输 出 结 果 是 ( ) A)A,B B)A,68 C)65,66 D)65,68 (27) 下 列 叙 述 中 错 误 的 是 ( ) A) 改 变 函 数 形 参 的 值, 不 会 改 变 对 应 实 参 的 值 B) 函 数 可 以 返 回 地 址 值 C) 可 以 给 指 针 变 量 赋 一 个 整 数 作 为 地 址 值 二 级 C 语 言 程 序 设 计 试 卷 第 3 页 ( 共 11 页 ) x
D) 当 在 程 序 的 开 头 包 含 头 文 件 stdio.h 时, 可 以 给 指 针 变 量 赋 NULL (28) 下 列 正 确 的 字 符 串 常 量 是 ( ) A)"\\\" B)'abc' C)Olympic Games D)" " (29) 设 有 定 义 :char p[ ]={'1', '2', '3', *q=p;, 下 列 不 能 计 算 出 一 个 char 型 数 据 所 占 字 节 数 的 表 达 式 是 ( ) A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p[0]) (30) 有 下 列 函 数 : int aaa(char *s) { char *t=s; while( *t+ +); t - -; return(t-s); 下 列 关 于 aaa 函 数 的 功 能 的 叙 述 正 确 的 是 ( ) A) 求 字 符 串 s 的 长 度 B) 比 较 两 个 串 的 大 小 C) 将 串 s 复 制 到 串 t D) 求 字 符 串 s 所 占 字 节 数 (31) 若 有 定 义 语 句 :int a[3][6];, 按 在 内 存 中 的 存 放 顺 序,a 数 组 的 第 10 个 元 素 是 ( ) A)a[0][4] B)a[1][3] C)a[0][3] D)a[1][4] (32) 有 下 列 程 序 : void fun(char * *p) { + +p; printf("%s\n", *p); { char *a[ ]=("Morning","Afternoon","Evening","Night"); fun(a); A)Afternoon B)fternoon C)Morning D)orning (33) 若 有 定 义 语 句 :int a[2][3],*p[3];, 则 下 列 语 句 中 正 确 的 是 ( ) A)p=a; B)p[0]=a; C)p[0]=&a[1][2]; D)p[1]=&a; (34) 有 下 列 程 序 : void fun(int *a,int n)/*fun 函 数 的 功 能 是 将 a 所 指 数 组 元 素 从 大 到 小 排 序 */ { int t,i,j; for(i=0;i<n-1;j+ +) for(j=i+1;j<n;j+ +) if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t; { int c[10]={1,2,3,4,5,6,7,8,9,0,i; fun(c+4,6); for(i=0;i<10;i+ +) printf("%d,",c[i]); printf("\n"); 二 级 C 语 言 程 序 设 计 试 卷 第 4 页 ( 共 11 页 )
A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4, C)0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0, (35) 有 下 列 程 序 : int fun(char s[ ]) { int n=0; while(*s<='9'&&*s>='0') {n=10*n+*s-'0';s+ +; return(n); { char s[10]={'6','1','*','4','*','9','*','0','*'; printf("%d\n",fun(s)); A)9 B)61490 C)61 D)5 (36) 当 用 户 要 求 输 入 的 字 符 串 中 含 有 空 格 时, 应 使 用 的 输 入 函 数 是 ( ) A)scanf( ) B)getchar( ) C)gets( ) D)getc( ) (37) 下 列 关 于 字 符 串 的 叙 述 中 正 确 的 是 ( ) A)C 语 言 中 有 字 符 串 类 型 的 常 量 和 变 量 B) 两 个 字 符 串 中 的 字 符 个 数 相 同 时 才 能 进 行 字 符 串 大 小 的 比 较 C) 可 以 用 关 系 运 算 符 对 字 符 串 的 大 小 进 行 比 较 D) 空 串 一 定 比 空 格 打 头 的 字 符 串 小 (38) 有 下 列 程 序 : void fun(char *t,char *s) { while(*t! =0) t+ +; while((*t+ + =*s+ +)! =0); { char ss[10]="acc",aa[10]="bbxxyy"; fun(ss,aa); printf("%s,%s\n",ss,aa); A)accxyy,bbxxyy B)acc,bbxxyy C)accxxyy,bbxxyy D)accbbxxyy,bbxxyy (39) 有 下 列 程 序 : #include <string.h> void fun(char s[ ][10],int n) { char t; int i,j; for(i=0;i<n-1;i+ +) for(j=i+1;j<n;j+ +) /* 比 较 字 符 串 的 首 字 符 大 小, 并 交 换 字 符 串 的 首 字 符 */ if(s[i][0]>s[j][0]){t=s[i][0];s[i][0]=s[j][0];s[j][0]=t; 二 级 C 语 言 程 序 设 计 试 卷 第 5 页 ( 共 11 页 )
{ char ss[5][10]={"bcc","bbcc","xy","aaaacc","aabcc"; fun(ss,5); printf("%s,%s\n",ss[0],ss[4]); A)xy,aaaacc B)aaaacc,xy C)xcc,aabcc D)acc,xabcc (40) 在 一 个 C 源 程 序 文 件 中 所 定 义 的 全 局 变 量, 其 作 用 域 为 ( ) A) 所 在 文 件 的 全 部 范 围 B) 所 在 程 序 的 全 部 范 围 C) 所 在 函 数 的 全 部 范 围 D) 由 具 体 定 义 位 置 和 extern 说 明 来 决 定 范 围 (41) 有 下 列 程 序 : int a=1; int f(int c) { static int a=2; c=c+1; return (a+ +)+c; { int i,k=0; for(i=0;i<2;i+ +) { int a=3;k+ =f(a); k+ =a; printf("%d\n",k); A)14 B)15 C)16 D)17 (42) 有 下 列 程 序 : void fun(int n,int *p) { int f1,f2; if(n= =1 n= =2) *p=1; else { fun(n-1,&f1); fun(n-2,&f2); *p=f1+f2; { int s; fun(3,&s); printf("%d\n",s); A)2 B)3 C)4 D)5 (43) 若 程 序 中 有 宏 定 义 行 :#define N 100, 则 下 列 叙 述 中 正 确 的 是 ( ) A) 宏 定 义 行 中 定 义 了 标 识 符 N 的 值 为 整 数 100 二 级 C 语 言 程 序 设 计 试 卷 第 6 页 ( 共 11 页 )
B) 在 编 译 程 序 对 C 源 程 序 进 行 预 处 理 时 用 100 替 换 标 识 符 N C) 对 C 源 程 序 进 行 编 译 时 用 100 替 换 标 识 符 N D) 在 运 行 时 用 100 替 换 标 识 符 N (44) 下 列 关 于 typedef 的 叙 述 错 误 的 是 ( ) A) 用 typedef 可 以 增 加 新 类 型 B)typedef 只 是 将 已 存 在 的 类 型 用 一 个 新 的 名 字 来 代 表 C) 用 typedef 可 以 为 各 种 类 型 说 明 一 个 新 名, 但 不 能 用 来 为 变 量 说 明 一 个 新 名 D) 用 typedef 为 类 型 说 明 一 个 新 名, 通 常 可 以 增 加 程 序 的 可 读 性 (45) 有 下 列 程 序 : struct tt { int x;struct tt *y;*p; struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a; { int i; p=a; for(i=1;i<=2;i+ +) {printf("%d,",p->x);p=p->y; A)20,30, B)30,17 C)15,30, D)20,15, (46) 有 下 列 程 序 : #include <string.h> typedef struct{ char name[9];char sex;float score[2]; STU; STU f(stu a) { STU b={"zhao",'m',85.0,90.0;int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i<2;i+ +) a.score[i]=b.score[i]; return a; { STU c={"qian",'f',95.0,92.0,d; d=f(c); printf("%s,%c,%2.0f,%2.0f\n",d.neme,d.sex,d.score[0],d.score[1]); A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92 (47) 设 有 下 列 定 义 : union data {int d1; float d2;demo; 则 下 列 叙 述 中 错 误 的 是 ( ) A) 变 量 demo 与 成 员 d2 所 占 的 内 存 字 节 数 相 同 B) 变 量 demo 中 各 成 员 的 地 址 相 同 C) 变 量 demo 和 各 成 员 的 地 址 相 同 D) 若 给 demo.d1 赋 99 后,demo.d2 中 的 值 是 99.0 (48) 有 下 列 程 序 : 二 级 C 语 言 程 序 设 计 试 卷 第 7 页 ( 共 11 页 )
{ int a=1,b=2,c=3,x; x=(a^b)&c; printf("%d\n",x); A)0 B)1 C)2 D)3 (49) 读 取 二 进 制 文 件 的 函 数 调 用 形 式 为 :fread(buffer,size,count,fp);, 其 中 buffer 代 表 的 是 ( ) A) 一 个 文 件 指 针, 指 向 待 读 取 的 文 件 B) 一 个 整 型 变 量, 代 表 待 读 取 的 数 据 的 字 节 数 C) 一 个 内 存 块 的 首 地 址, 代 表 读 入 数 据 存 放 的 地 址 D) 一 个 内 存 块 的 字 节 数 (50) 有 下 列 程 序 : { FILE *fp; int a[10]={1,2,3,0,0,i; fp=fopen("d2.dat","wb"); fwtite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen("d2.dat","rb"); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i<10;i+ +) printf("%d",a[i] ); A)1,2,3,0,0,0,0,0,0,0, B)1,2,3,1,2,3,0,0,0,0, C)123,0,0,0,0,123,0,0,0,0, D)1,2,3,0,0,1,2,3,0,0, 二 填 空 题 ( 每 空 2 分, 共 40 分 ) (1) 软 件 需 求 规 格 说 明 书 应 具 有 完 整 性 无 歧 义 性 正 确 性 可 验 证 性 可 修 改 性 等 特 性, 其 中 最 重 要 的 是 1 (2) 在 两 种 基 本 测 试 方 法 中, 2 测 试 的 原 则 之 一 是 保 证 所 测 模 块 中 每 一 个 独 立 路 径 至 少 要 执 行 一 次 (3) 线 性 表 的 存 储 结 构 主 要 分 为 顺 序 存 储 结 构 和 链 式 存 储 结 构 队 列 是 一 种 特 殊 的 线 性 表, 循 环 队 列 是 队 列 的 3 存 储 结 构 (4) 对 下 列 二 叉 树 进 行 中 序 遍 历 的 结 果 为 4 (5) 在 E-R 图 中, 矩 形 表 示 5 (6) 执 行 下 列 程 序 时, 输 入 1234567<CR>, 则 输 出 结 果 是 6 二 级 C 语 言 程 序 设 计 试 卷 第 8 页 ( 共 11 页 )
{ int a=1,b; scanf("%2d%2d",&a,&b); printf("%d%d\n",a,b); (7) 下 列 程 序 的 功 能 是 输 出 a b c 三 个 变 量 中 的 最 小 值 请 填 空 #include<stdio.h> { int a,b,c,t1,t2; scanf("%d%d%d",&a,&b,&c); t1=a<b? 7 ; t2=c<t1? 8 ; printf("%d\n",t2); (8) 下 列 程 序 的 输 出 结 果 是 9 main() { int n=12345,d; while(n! =0) { d=n%10;printf("%d",d);n/=10; (9) 有 下 列 程 序 段, 且 变 量 已 正 确 定 义 和 赋 值 for(s=1.0,k=1;k<=n;k+ +) s=s+1.0/(k*(k+1) ); printf("s=%f\n\n",s); 请 填 空, 使 下 列 程 序 段 的 功 能 与 之 完 全 相 同 s=1.0;k=1; while( 10 ){s=s+1.0/(k*(k+1) ); 11 ; printf("s=%f\n\n",s); (10) 下 列 程 序 的 输 出 结 果 是 12 { int i; for(i='a';i<'f';i+ +,i+ +) printf("%c",i-'a'+'a'); printf("\n"); (11) 下 列 程 序 的 输 出 结 果 是 13 #include <string.h> char *fun(char *t) { char *p=t; return (p+strlen(t)/2); { char *str="abcdefgh"; str=fun(str); puts(str); (12) 下 列 程 序 中 函 数 f 的 功 能 是 在 数 组 x 的 n 个 数 ( 假 定 n 个 数 互 不 相 同 ) 中 找 出 最 大 最 二 级 C 语 言 程 序 设 计 试 卷 第 9 页 ( 共 11 页 )
小 数, 将 其 中 最 小 的 数 与 第 一 个 数 对 换, 把 最 大 的 数 与 最 后 一 个 数 对 换 请 填 空 void f(int x[ ],int n) { int p0,p1,i,j,t,m; i=j=x[0]; p0=p1=0; for(m=0;m<n;m+ +) { if(x[m]>i) {i=x[m];p0=m; else if(x[m]<j) {j=x[m];p1=m; t=x[p0];x[p0]=x[n-1];x[n-1]=t; t=x[p1];x[p1]= 14 ; 15 =t; { int a[10],u; for(u=0;u<10;u+ +) scanf("%d",&a[u]); f(a,10); for(u=0;u<10;u+ +) printf("%d",a[u]); printf("\n"); (13) 下 列 程 序 统 计 从 终 端 输 入 的 字 符 中 大 写 字 母 的 个 数,num[0] 中 统 计 字 母 A 的 个 数, num[1] 中 统 计 字 母 B 的 个 数, 其 他 依 次 类 推 用 # 号 结 束 输 入, 请 填 空 #include <ctype.h> { int num[26]={0,i; char c; whilc(( 16 )! ='#') if(isupper(c)) num[c-'a']+ = 17 ; for(i=0;i<26;i+ +) printf("%c:%d\n",i+'a',num[i]); (14) 执 行 下 列 程 序 的 输 出 结 果 是 18 { int i,n[4]={1; for(i=1,i<=3;i+ +) { n[i]=n[i-1]*2+1;printf("%d",n[i]); (15) 下 列 程 序 的 输 出 结 果 是 19 #define M 5 #define N M+M main() { int k; k=n*n*5;printf("%d\n",k); (16) 函 数 min( ) 的 功 能 是 在 带 头 结 点 的 单 链 表 中 查 找 数 据 域 中 值 最 小 的 结 点 请 填 空 二 级 C 语 言 程 序 设 计 试 卷 第 10 页 ( 共 11 页 )
struct node { int data; struct node *next; ; int min(struct node *first) /* 指 针 first 为 链 表 头 指 针 */ { struct node *p; int m; p = first->next;m=p->data;p=p->next; for(;p! =NULL;p= 20 ) if(p->data<m)m=p->data; return m; 二 级 C 语 言 程 序 设 计 试 卷 第 11 页 ( 共 11 页 )