《计算机二级c语言历年真题及答案.pdf》由会员分享,可在线阅读,更多相关《计算机二级c语言历年真题及答案.pdf(110页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、这 里 预 祝 各 位 学 弟 学 妹 们,顺 利 通 过 二 级!取 得 好 成 绩,最 终 拿 到 证 书。2009年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 C 语 言 程 序 设 计(考 试 时 间 90分 钟,满 分 100分)一、选 择 题(1)一(10)、(21)(40)每 题 2 分,(11)(20)每 题 1分,共 70分)(1)下 列 数 据 结 构 中,属 于 非 线 性 结 构 的 是 A)循 环 队 列 B)带 链 队 列 0 二 叉 树 D)带 链 栈(2)下 列 数 据 结 果 中,能 够 按 照“先 进 后 出”原 则 存 取 数 据
2、 的 是 A)循 环 队 列 B)栈 C)队 列 D)二 叉 树(3)对 于 循 环 队 列,下 列 叙 述 中 正 确 的 是 A)队 头 指 针 是 固 定 不 变 的 B)队 头 指 针 一 定 大 于 队 尾 指 针 C)队 头 指 针 一 定 小 于 队 尾 指 针 D)队 头 指 针 可 以 大 于 队 尾 指 针,也 可 以 小 于 队 尾 指 针(4)算 法 的 空 间 复 杂 度 是 指 A)算 法 在 执 行 过 程 中 所 需 要 的 计 算 机 存 储 空 间 B)算 法 所 处 理 的 数 据 量 C)算 法 程 序 中 的 语 句 或 指 令 条 数 D)算 法 在
3、 执 行 过 程 中 所 需 要 的 临 时 工 作 单 元 数(5)软 件 设 计 中 划 分 模 块 的 一 个 准 则 是 A)低 内 聚 低 耦 合 B)高 内 聚 低 耦 合 C)低 内 聚 高 耦 合 D)高 内 聚 高 耦 合(6)下 列 选 项 中 不 属 于 结 构 化 程 序 设 计 原 则 的 是 A)可 封 装 D)自 顶 向 下 0 模 块 化D)逐 步 求 精(7)软 件 详 细 设 计 产 生 的 图 如 下:该 图 是 A)N-S 图 B)PAD 图 0 程 序 流 程 图 D)E-R 图(8)数 据 库 管 理 系 统 是 A)操 作 系 统 的 一 部 分
4、B)在 操 作 系 统 支 持 下 的 系 统 软 件 C)一 种 编 译 系 统 D)一 种 操 作 系 统(9)在 E-R图 中,用 来 表 示 实 体 联 系 的 图 形 是 A)椭 圆 图 B)矩 形 0 菱 形 D)三 角 形(10)有 三 个 关 系 R,S 和 T 如 下:R S TA B Ca 1 2b 2!c 3 1A B Cd 32r artl ndrzj ndLJJ其 中 关 系 T 由 关 系 R 和 S 通 过 某 种 操 作 得 到,该 操 作 为 A)选 择 B)投 影 0 交 D)并(11)以 下 叙 述 中 正 确 的 是 A)程 序 设 计 的 任 务 就
5、是 编 写 程 序 代 码 并 上 机 调 试B)程 序 设 计 的 任 务 就 是 确 定 所 用 数 据 结 构 C)程 序 设 计 的 任 务 就 是 确 定 所 用 算 法 D)以 上 三 种 说 法 都 不 完 整(12)以 下 选 项 中,能 用 作 用 户 标 识 符 的 是 A)voidB)8_8C)_0_D)unsigned(13)阅 读 以 下 程 序#includemain()int case;float printF;printf(“请 输 入 2个 数:”);scanf(%d%fw,&case,&pjrintF);printf(%d%fnw,case,printF);
6、该 程 序 编 译 时 产 生 错 误,其 出 错 原 因 是 A)定 义 语 句 出 错,case是 关 键 字,不 能 用 作 用 户 自 定 义 标 识 符 B)定 义 语 句 出 错,printF不 能 用 作 用 户 自 定 义 标 识 符 C)定 义 语 句 无 错,scanf不 能 作 为 输 入 函 数 使 用 D)定 义 语 句 无 错,printf不 能 输 出 case的 值(14)表 达 式:(int)(double)9/2)-(9)%2 的 值 是 A)0B)3C)4D)5(15)若 有 定 义 语 句:int x=10;,则 表 达 式 x-=x+x的 值 为 A)
7、-20B)-10C)0D)10(16)有 以 下 程 序#includemain()int a=l,b=0;printf(%d,b=a+b);printf(%dn,a=2*b);程 序 运 行 后 的 输 出 结 果 是 A)0,0B)1,0C)3,2D)1,217)设 有 定 义:inta=l,b=2,c=3;,以 下 语 句 中 执 行 效 果 与 其 它 三 个 不 同 的 是 A)if(ab)c=a,a=b,b=c;B)if(ab)c=a,a=b,b=c;C)if(ab)c=a;a=b;b=c;D)if(ab)c=a;a=b;b=c;(18)有 以 下 程 序 ttincludemai
8、n()int c=0,k;for(k=l;kb?(bc?l:0):0;功 能 相 同 的 是 A)if(ab)&(bc)k=l;else k=0;B)if(ab)|(bc)k=l;else k=0;C)if(a=b)k=0;else if(bb)k=l;else if(bc)k=l;else k=0;20)有 以 下 程 序#includemain()char s=012xy;int i,n=0;for(i=0;si!=0;i+)if(si=,a*&si2);printf(%d%dnw,k,n);程 序 运 行 后 的 输 出 结 果 是 A)0 2B)1 30 5 7D)1 2(22)有 以
9、 下 定 义 语 句,编 译 时 会 出 现 编 译 错 误 的 是 A)char a=,a;B)char a=n;C)char a=,aa;D)char a=,x2d,;(23)有 以 下 程 序 includemain()char cl,c2;cl=,A+8-e4,;c2=A+8-5;printf(%c,%dnw,cl,c2);己 知 字 母 A 的 ASCH码 为 65,程 序 运 行 后 的 输 出 结 果 是 A)E,68B)D,69C)E,DD)输 出 无 定 值(24)有 以 下 程 序 includevoid fun(int p)int d=2;p=d+;printf(%d,p
10、);main()int a=l;fun(a);printf(%dn,a);程 序 运 行 后 的 输 出 结 果 是 A)32B)12C)21D)22(25)以 下 函 数 findmax拟 实 现 在 数 组 中 查 找 最 大 值 并 作 为 函 数 值 返 回,但 程 序 中 有 错 导 致 不 能 实 现 预 定 功 能 ttdefine MIN-2147483647int findmax(int x,int n)int i,max;for(i=0;iN;I+)max=MIN;if(maxreturn max;造 成 错 误 的 原 因 是 A)定 义 语 句 int i,max;中
11、max未 赋 初 值 B)赋 值 语 句 max=MIN;中,不 应 给 max赋 MIN值 C)语 句 if(maxD)赋 值 语 句 max=MIN;放 错 了 位 置(26)有 以 下 程 序 includemain()int m=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(%d,%d,%d,%dn”,m,n,*p,*q);程 序 运 行 后 的 输 出 结 果 是 A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2(27)若 有 定 义 语 句:int a410,*p,*q4;且 0 i 4,则 错 误 的 赋 值 是 A)p=
12、aB)qi=aiC)p=aiD)p=&a2 1(28)有 以 下 程 序#include#includemain()char str 20=aOne*Worldw,One*Dream!”,*p=strl;printf(%d,”,strlen(p);printf(%snw,p);)程 序 运 行 后 的 输 出 结 果 是 A)9,One*WorldB)9,One*DreamC)10,One*DreamD)10,One*World(29)有 以 下 程 序#includemain()int a=2,3,5,4,i;for(i=0;i4;i+)switch(i%2)case 0:switch(ai
13、%2)case 0:ai+;break;case 1:ai一;break;case l:ai=0;for(i=0;i4;i+)printf(a%dw,ai);printf(“n);A)3 3 4 4B)2 0 5 00 3 0 4 0D)0 3 0 4(30)有 以 下 程 序 includeincludemain()char a10=abed;printf(%d,%dn”,strlen(a),sizeof(a);)程 序 运 行 后 的 输 出 结 果 是 A)7,4B)4,10C)8,8D)10,10(31)下 面 是 有 关 C 语 言 字 符 数 组 的 描 述,其 中 错 误 的 是
14、 A)不 可 以 用 赋 值 语 句 给 字 符 数 组 名 赋 字 符 串 B)可 以 用 输 入 语 句 把 字 符 串 整 体 输 入 给 字 符 数 组 C)字 符 数 组 中 的 内 容 不 一 定 是 字 符 串 D)字 符 数 组 只 能 存 放 字 符 串(32)下 列 函 数 的 功 能 是 fun(char*a,char*b)while(*b=*a)!=0)a+,b+;A)将 a所 指 字 符 串 赋 给 b 所 指 空 间 B)使 指 针 b 指 向 a 所 指 字 符 串 C)将 a所 指 字 符 串 和 b 所 指 字 符 串 进 行 比 较 D)检 查 a 和 b
15、所 指 字 符 串 中 是 否 有(33)设 有 以 下 函 数 void fun(int n,char*s).则 下 面 对 函 数 指 针 的 定 义 和 赋 值 均 是 正 确 的 是 A)void(*pf)();pf=fun;B)viod*pf();pf=fun;C)void*pf();*pf=fun;D)void(*pf)(int,char);pf=&fun;(34)有 以 下 程 序#includeint f(int n);main()int a=3,s;s=f(a);s=s+f(a);printf(%dn,s);int f(int n)static int a=l;n+=a+;r
16、eturn n;程 序 运 行 以 后 的 输 出 结 果 是 A)7B)8C)9D)10(35)有 以 下 程 序 includettdefine f(x)x*x*xmainO int a=3,s,t;s=f(a+1);t=f(a+1);printf(%d,%dn,s,t);程 序 运 行 后 的 输 出 结 果 是 A)10,64B)10,10C)64,10D)64,64(36)下 面 结 构 体 的 定 义 语 句 中,错 误 的 是 A)struct ord int x;int y;int z;struct ord a;B)struct ord int x;int y;int z;st
17、ruct ord a;C)struct ord int x;int y;int z;a;D)struct int x;int y;int z;a;(37)设 有 定 义:char*c;,以 下 选 项 中 能 够 使 字 符 型 指 针 c 正 确 指 向 一 个 字 符 串 的 是 A)char str=string”;c=str;B)scanf(s”,c);C)c=getchar();D)*c=string;(38)有 以 下 程 序 include#includestruct A int a;char b10;double c;struct A f(struct A t);main()s
18、truct A a=1001,w ZhangDa”,1098.0;a=f(a);jprintf(%d,%s,%6.lfnw,a.a,a.b,a.c);)struct A f(struct A t)(t.a=1002;strcpy(t.b,w ChangRong);t.c=1202.0;return t;)程 序 运 行 后 的 输 出 结 果 是 A)1001,ZhangDa,1098.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0(39)若 有 以 下 程 序 段 int r=8;printf(rt%d
19、nM,rl);输 出 结 果 是 A)16B)8C)4D)2(40)下 列 关 于 C 语 言 文 件 的 叙 述 中 正 确 的 是 A)文 件 由 一 系 列 数 据 依 次 排 列 组 成,只 能 构 成 二 进 制 文 件 B)文 件 由 结 构 序 列 组 成,可 以 构 成 二 进 制 文 件 或 文 本 文 件 C)文 件 由 数 据 序 列 组 成,可 以 构 成 二 进 制 文 件 或 文 本 文 件 D)文 件 由 字 符 序 列 组 成,其 类 型 只 能 是 文 本 文 件 二、填 空 题(每 空 2 分,共 30分)(1)某 二 叉 树 有 5个 度 为 2 的 结
20、点 以 及 3个 度 为 1 的 结 点,则 该 二 叉 树 中 共 有【1】个 结 点。(2)程 序 流 程 图 中 的 菱 形 框 表 示 的 是【2】o(3)软 件 开 发 过 程 主 要 分 为 需 求 分 析、设 计、编 码 与 测 试 四 个 阶 段,其 中【3】阶 段 产 生“软 件 需 求 规 格 说 明 书。(4)在 数 据 库 技 术 中,实 体 集 之 间 的 联 系 可 以 是 一 对 一 或 一 对 多 或 多 对 多 的,那 么“学 生”和“可 选 课 程”的 联 系 为【4】,(5)人 员 基 本 信 息 一 般 包 括:身 份 证 号,姓 名,性 别,年 龄 等
21、。其 中 可 以 作 为 主 关 键 字 的 是 15】o(6)若 有 定 义 语 句:int a=5;,则 表 达 式:a+的 值 是【6】。(7)若 有 语 句 double x=17;int y;,当 执 行 y=(int)(x/5)%2;之 后 y 的 值 为 o(8)以 下 程 序 运 行 后 的 输 出 结 果 是 8】oincludemain()int x=20;printf(“%d”,0X20);printf(“dn”,0X&X(9)以 下 程 序 运 行 后 的 输 出 结 果 是 9】ottincludemain()int a=l,b=7;do(b=b/2;a+=b;whi
22、le(bl);printf(%dn,a);(10)有 以 下 程 序 ttincludemain()int f,fl,f2,i;fl=0;f2=l;printf(“d%d”,fl,f2);for(i=3;i=5;i+)f=fl+f2;printf(rt%dw,f);fl=f2;f2=f;)printf(n);)程 序 运 行 后 的 输 出 结 果 是 10 o(11)有 以 下 程 序 includeint a=5;void fun(int b)int a=10;a+二 b;printf(%d,a);)main()int c=20;fun(c);a+=c;printf(%dn,a);程 序
23、运 行 后 的 输 出 结 果 是 11 O(12)设 有 定 义:struct person int ID;char name12;p;请 将 scanf(“d”,1 2);语 句 补 充 完 整,使 其 能 够 为 结 构 体 变 量 p 的 成 员 ID正 确 读 入 数 据。(13)有 以 下 程 序#includemain()char a20=How are you?”,b20;scanf(%s,b);printf(%s%sn”,a,b);)程 序 运 行 时 从 键 盘 输 入:How are you?回 车 则 输 出 结 果 为 1 3。(14)有 以 下 程 序#includ
24、etypedef struct int num;double sREC;void funl(REC x)x.nnm=23;x.s=88.5;main()REC a=16,90.0;funl(a);printf(%dn”,a.num);程 序 运 行 后 的 输 出 结 果 是 14 o(15)有 以 下 程 序#includefun(int x)if(x/20)run(x/2);printf(%d”,x);main()fun(6);printf(anff);)程 序 运 行 后 的 输 出 结 果 是 15 o2009年 9月 全 国 计 算 机 等 级 考 试 二 级 C 语 言 笔 试 参
25、 考 答 案 一、选 择 题(1)C(2)B(3)D(4)A(5)B(6)A(7)C(8)B(9)C(10)D(11)D(12)C(13)A(14)B(15)B(16)D(17)C(18)A(19)A(20)B(21)D(22)C(23)A(24)C(25)D(26)B(27)A(28)C(29)C(30)B(31)D(32)A(33)A(34)C(35)A(36)B(37)A(38)D(39)C(40)C*答 案 仅 供 参 考(10)0 1 123(9)5(8)1 0(7)1(6)5(5)身 份 证 号(4)多 对 多(3)需 求 分 析(2)逻 辑 条 件(1)14二、填 空 题 20。
26、9年 3月 二 级 C 语 言 笔 试 真 题 及 答 案(1)(10)每 小 题 2分,(11)(50)每 题 1分,共 60分)下 列 各 题 A)、B)、C)、D)四 个 选 项 中,只 有 一 个 选 项 是 正 确 的,请 将 正 确 选 项 涂 写 在 答 题 卡 相 应 位 置 上,答 在 试 卷 上 不 得 分。(1)下 列 叙 述 中 正 确 的 是 A)栈 是“先 进 先 出”的 线 性 表 B)队 列 是“先 进 先 出”的 线 性 表 C)循 环 队 列 是 非 线 性 结 构 D)有 序 性 表 既 可 以 采 用 顺 序 存 储 结 构,也 可 以 采 用 链 式
27、存 储 结 构(2)支 持 子 程 序 调 用 的 数 据 结 构 是 A)栈 B)树 C)队 列 D)二 叉 树(3)某 二 叉 树 有 5个 度 为 2的 结 点,则 该 二 叉 树 中 的 叶 子 结 点 数 是 A)10 B)8 C)6 D)4(4)下 列 排 序 方 法 中,最 坏 情 况 下 比 较 次 数 最 少 的 是 A)冒 泡 排 序 B)简 单 选 择 排 序 C)直 接 插 入 排 序 D)堆 排 序(5)软 件 按 功 能 可 以 分 为:应 用 软 件、系 统 软 件 和 支 撑 软 件(或 工 具 软 件)。下 面 属 于 应 用 软 件 的 是 A)编 译 软
28、件 B)操 作 系 统 C)教 务 管 理 系 统 D)汇 编 程 序(6)下 面 叙 述 中 错 误 的 是 A)软 件 测 试 的 目 的 是 发 现 错 误 并 改 正 错 误 B)对 被 调 试 的 程 序 进 行“错 误 定 位”是 程 序 调 试 的 必 要 步 骤 C)程 序 调 试 通 常 也 称 为 DebugD)软 件 测 试 应 严 格 执 行 测 试 计 划,排 除 测 试 的 随 意 性(7)耦 合 性 和 内 聚 性 是 对 模 块 独 立 性 度 量 的 两 个 标 准。下 列 叙 述 中 正 确 的 是 A)提 高 耦 合 性 降 低 内 聚 性 有 利 于 提
29、 高 模 块 的 独 立 性 B)降 低 耦 合 性 提 高 内 聚 性 有 利 于 提 高 模 块 的 独 立 性C)耦 合 性 是 指 一 个 模 块 内 部 各 个 元 素 间 彼 此 结 合 的 紧 密 程 度 D)内 聚 性 是 指 模 块 间 互 相 连 接 的 紧 密 程 度(8)数 据 库 应 用 系 统 中 的 核 心 问 题 是 A)数 据 库 设 计 B)数 据 库 系 统 设 计 C)数 据 库 维 护 D)数 据 库 管 理 员 培 训(9)有 两 个 关 系 R,S 如 下:RA B Ca 3 2b 0 1c 2 1Sizqab由 关 系 R 通 过 运 算 得 到
30、 关 系 S,则 所 使 用 的 运 算 为 A)选 择 B)投 影 C)插 入 D)连 接(10)将 E-R图 转 换 为 关 系 模 式 时,实 体 和 联 系 都 可 以 表 示 为 A)属 性 B)键 C)关 系 D)域(11)以 下 选 项 中 合 法 的 标 识 符 是 A)1-1 B)11 C)-11 D)1(12)若 函 数 中 有 定 义 语 句:int k;,则 A)系 统 将 自 动 给 k 赋 初 值 0B)这 时 k 中 值 无 定 义 C)系 统 将 自 动 给 k 赋 初 值-1D)这 时 k 中 无 任 何 值(13)以 下 选 项 中,能 用 作 数 据 常
31、量 的 是 A)0115 B)0118 C)1.5el.5 D)115L(14)设 有 定 义:int x=2;,以 下 表 达 式 中,值 不 为 6的 是 A)x*=x+lB)x+,2*xC)x*=(1+x)D)2*x,x+=2(15)程 序 段:int x=12;double y=3.141593;printf(%d%8.6f,x,y);的 输 出 结 果 是 A)123.141593B)123.141593C)12,3.141593D)123.141593(16)若 有 定 义 语 句:double x,y,*px,*py,执 行 了 px=&x,py=&y;之 后,正 确 的 输 入
32、 语 句 是 A)scanf(,x,y);B)scanf(;C)scanf(,px,py);D)scanf(”,x,y);(17)以 下 是 if语 句 的 基 本 形 式:if(表 达 式)语 句 其 中“表 达 式”A)必 须 是 逻 辑 表 达 式 B)必 须 是 关 系 表 达 式 C)必 须 是 逻 辑 表 达 式 或 关 系 表 达 式 D)可 以 是 任 意 合 法 的 表 达 式(18)有 以 下 程 序 include main()int x;scanf(%d,&x);if(x=3);elseif(x!=10)printf(%dn,x);)程 序 运 行 时,输 入 的 值
33、在 哪 个 范 围 才 会 有 输 出 结 果 A)不 等 于 10的 整 数 B)大 于 3且 不 等 于 10的 整 数 C)大 于 3或 等 于 10的 整 数 D)小 于 3的 整 数(19)有 以 下 程 序#includeMain()(int a=l,b=2,c=3,d=0;if(a=1&b+=2)if(b!=2|c!=3)printf(%d,%d,%dn”,a,b,c);else printf(%d,%d,%dn”,a,b,c);else printf(a%d,%d,%dnw,a,b,c);程 序 运 行 后 的 输 出 结 果 是 A)1,2,3B)1,3,2C)1,3,3D)
34、3,2,1(20)以 下 程 序 中 的 变 量 已 正 确 定 义 for(i=0;i4;i+,i+for(k=l;k3;k+);printf(*);程 序 段 的 输 出 结 果 是 A)*B)*C)*D)*(21)有 以 下 程 序#includemain()char*s=(“ABC);doprintf(%d”,*s%10);s+;while(*s);注 意,字 母 A 的 ASCII码 值 为 65。程 序 运 行 后 的 输 出 结 果 是 A)5670B)656667C)567D)ABC(22)设 变 量 已 正 确 定 义,以 下 不 能 统 计 出 一 行 中 输 入 字 符
35、个 数(不 包 含 回 车 符)的 程 序 段 是 A)n=0;while(ch=getchar()!=n)n+;B)n=0;while(getchar()!=n)n+;C)for(n=0;getchar()!=n;n+);D)n=0;for(ch=getchar();ch!=,n;n+);(23)有 以 下 程 序#includemain()int al,a2;char cl,c2;scanf(a%d%c%d%cw,&al,&cl,&a2,&c2);printf(a%d,%c,%d,%cw,&1,cl,a2,c2);)若 想 通 过 键 盘 输 入,使 得 al的 值 为 12,a2的 是
36、为 34,cl的 值 为 字 符 a,c2的 值 为 字 符 b,程 序 输 出 结 果 是:12,a,34,b,则 正 确 的 输 入 格 式 是(以 下 代 表 空 格,CR 代 表 回 车)A)12a34bB)12a34bC)12,a,34,bD)12a34b(24)有 以 下 程 序#includeint f(int x,int y)return()y-x)*x);main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(%dn,d);)程 序 运 行 后 的 输 出 结 果 是 A)10B)9C)8D)7(25)有 以 下 程 序#includ
37、evoid fun(char*s)while(*s)if(*s%2=0)printf(%c,*s);s+;)main()chara=good;fun(a)jprintf(n);)注 意:字 母 a 的 ASCH码 值 为 97,程 序 运 行 后 的 输 出 结 果 是 A)dB)goC)godD)good(26)有 以 下 程 序 include void fun(int*a,int*b)int*c;c=a;a=b;b=c;)main()int x=3,y-5,*P=&x,*q=&y;fun(p,q)jprintf(“d,%d,”,*p,*q);fun(&x,&y)jprintf(%d,%d
38、n”,*p,*q);)程 序 运 行 后 的 输 出 结 果 是 A)3,5,5,3B)3,5,3,5C)5,3,3,5D)5,3,5,3(27)有 以 下 程 序 include viod f(int*p,int*q);main()int m=l,n=2,*r=&m;f(r,&n)jprintf(%d,%d”,m,n);)void f(int*p,int*q)p=p+l;*q=*q+l;程 序 运 行 后 输 出 的 结 果 是 A)1,3B)2,3C)1,4D)1,2(28)以 下 函 数 按 每 行 8个 输 出 数 组 中 的 数 据 void fun(int*w,int n)int
39、i;for(i=0;in;i+)printf(%d,w);printf(“n”);)下 划 线 处 应 填 入 的 语 句 是 A)if(i/8=0)print(“n”);B)if(i/8=0)continue;C)if(i%8=0)print(n);D)if(i%8=0)continue;(29)若 有 以 下 定 义 int x10,*pt=x;则 对 x 数 组 元 素 的 正 确 应 用 是 A)*&x10B)*(x+3)C)*(pt+10)D)pt+3(30)设 有 定 义:char s81;int i=10;,以 下 不 能 将 一 行(不 超 过 80个 字 符)带 有 空 格
40、的 字 符 串 真 确 读 入 的 语 句 或 语 句 组 是 Agets(s)B)while(si+=getchar()!=n;s=0;C)scanf(%s,s);D)doscanf(%c,&s);while(si+!=n);s=0”;(31)有 以 下 程 序 include main()char*a=abed”,“ef“,“gh“,“ijk”);int I;for(i=0;i4;i+)printf(%c,*a);)程 序 运 行 后 输 出 的 结 果 是 A)aegiB)dfhkC)abedD)abedefghijk(32)以 下 选 项 中 正 确 的 语 句 组 是 A)char
41、s;s=BOOK!w;B)char*s;s=BOOK!”;C)char s10;s=BOOK!”;D)char*s;s=BOOK!”;(33)有 以 下 程 序include int funint x,int y if(x=y)return(x);else returen(x+y)/2)main()int a=4,b=5,c=6;printf(%dn”,fun(2*a,fun(b,c)程 序 运 行 后 的 输 出 结 果 是 A)3B)6C)8D)12(34)设 函 数 中 有 整 型 变 量 n,为 保 证 其 在 未 赋 值 的 情 况 下 初 值 为 0,应 选 择 的 存 储 类 别
42、 是 A)autoB)registerC)staticD)auto 或 register(35)有 以 下 程 序/include int b=2;int fun(int*k)b=*k+b;return(b);)main()int a10=l,2,3,4,5,6,7,8,I;for(i=2;i4;i+)b=fun(&a)+b;printf(%d,b);printf(n);)程 序 运 行 后 输 出 的 结 果 是 A)1012B)810C)1028D)1016(36)有 以 下 程 序 ttinclude ttdefine PT 3.5;define S(x)PT*x*x;mian()int
43、 a=l,b=2;printf(%4.lfn”,S(a+b);程 序 运 行 后 输 出 的 结 果 是 A)14.0B)31.5C)7.5D)程 序 有 错 无 输 出 结 果(37)有 以 下 程 序 ttinclude struct ord int x,y;dt2=l,2,3,4);main()struct ord*p=dt;printf(%d,”,+p-x);printf(%dn,+p-y);)程 序 的 运 行 结 果 是 A)1,2B)2,3C)3,4D)4,1(38)设 有 宏 定 义:#includeIsDIV(k,n)(k%n=l)?1:0且 变 量 m 已 正 确 定 义
44、并 赋 值,则 宏 调 用:IsDIV(m,5)&IsDIV(m,7)为 真 时 所 要 表 达 的 是 A)判 断 m 是 否 能 被 5或 者 7整 除 B)判 断 m 是 否 能 被 5和 7整 除 C)判 断 m 被 5或 者 7整 除 是 否 余 1D)判 断 m 被 5和 7整 除 是 否 余 1(39)有 以 下 程 序 include main()int a=5,b=l,t;t=(a2|b);printf(%dn,t)程 序 运 行 后 的 输 出 结 果 是 A)21B)11C)6D)1(40)有 以 下 程 序 include main()EILE*f;f=fopen(fi
45、lea.txt“,w”);fprintf(f,n abc);fclose(f);)若 文 本 文 件 filea.txt中 原 有 内 容 为:hello,则 运 行 以 上 程 序 后,文 件 filea.txt中 的 内 容 为 A)helloabcB)abcloC)abcD)abchello二、填 空 题(每 空 2分,共 30分)请 将 每 一 个 空 的 正 确 答 案 写 在 答 题 卡【1】至【15】序 号 的 横 线 上,答 在 试 卷 上 不 得 分。(1)假 设 一 个 长 度 为 50的 数 组(数 组 元 素 的 下 标 从 0到 49)作 为 栈 的 存 储 空 间,
46、栈 底 指 针 bottom指 向 栈 底 元 素,栈 顶 指 针 top指 向 栈 顶 元 素,如 果 bottom=49,top=30(数 组 下 标),则 栈 中 具 有【1】个 元 素。(2)软 件 测 试 可 分 为 白 盒 测 试 和 黑 盒 测 试。基 本 路 径 测 试 属 于【2】测 试。(3)符 合 结 构 化 原 则 的 三 种 基 本 控 制 结 构 是:选 择 结 构、循 环 结 构 和 3。(4)数 据 库 系 统 的 核 心 是 14】(5)在 E-R图 中,图 形 包 括 矩 形 框、菱 形 框、椭 圆 框。其 中 表 示 实 体 联 系 的 是 5 框。(6)
47、表 达 式(int)(double)(5/2)+2.5)的 值 是 6】(7)若 变 量 x、y 已 定 义 为 int类 型 且 x 的 值 为 99,y 的 值 为 9,请 将 输 出 语 句 printf(17】,x/y);补 充 完 整,使 其 输 出 的 计 算 结 果 形 式 为:x/y=ll(8)有 以 下 程 序 include main()(char cl,c2;scanf(&c,&cl);while(cl90)scanf(&c,&cl);c2=cl+32;printf(&c,&cn,cl,c2);)程 序 运 行 输 入 65回 车 后,能 否 输 出 结 果、结 束 运
48、行(请 回 答 能 或 不 能)【8】(9)以 下 程 序 运 行 后 的 输 出 结 果 是 9】#include main()int k=l,s=0;doif(k&2)!=0)continue;s+=k;k+;while(k)10);printf(s二&d/n,s);)(10)下 列 程 序 运 行 时,若 输 入 labcedl2df 回 车 输 出 结 果 为 10include main()chara=0,ch;while(ch=getchar()!=,n,)if(a&2!=0&(ch,a,&ch=,z,)ch=ch-a,+,;a+;putchar(ch);)printf(n”);)
49、(11)有 以 下 程 序,程 序 执 行 后,输 出 结 果 是【11】include void fun(int*a)a0=al;main()int a10=10,9,8,7,6,5,4,3,2,1,i;for(i=2;i=0;i-)fun&a;for(i=0;i10;i+)printf(&d”,a);printf(n”);)(12)请 将 以 下 程 序 中 的 函 数 声 明 语 句 补 充 完 整 ttinclude int 12main()int x,y,(*p)();p=max;printf(&dn”,&x,&y);)Int max(int a,int b)return(ab/a:
50、b);(13)以 下 程 序 用 来 判 断 指 定 文 件 是 否 能 正 常 打 开,请 填 空#include main()FILE*fp;if(fp=fopen(test,txt“,r)=13)printf(“未 能 打 开 文 件!n);elseprintf(文 件 打 开 成 功!n”);(14)下 列 程 序 的 运 行 结 果 为【14】#include include struct Aint a;char b10;doublec;voidf(structA*t);main()struct A a=(1001,w ZhangDa,1098,0);f(&a);printf(&d,