计算机二级c语言笔试历年真题及答案(带注释).pdf
《计算机二级c语言笔试历年真题及答案(带注释).pdf》由会员分享,可在线阅读,更多相关《计算机二级c语言笔试历年真题及答案(带注释).pdf(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2009年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 C 语 言 程 序 设 计(考 试 时 间 90分 钟,满 分 100分)一、选 择 题(1)(10)、(21)(40)每 题 2 分,(11)(20)每 题 1 分,共 70分)(1)下 列 数 据 结 构 中,属 于 非 线 性 结 构 的 是(C)A)循 环 队 列 队 列,栈 都 是 线 性 的 B)带 链 队 列 0 二 叉 树 D)带 链 栈(2)下 列 数 据 结 果 中,能 够 按 照“先 进 后 出”原 则 存 取 数 据 的 是(B)A)循 环 队 列/队 列 是 先 进 先 出 的 B)栈 C
2、)队 列 D)二 叉 树(3)对 于 循 环 队 列,下 列 叙 述 中 正 确 的 是(D)A)队 头 指 针 是 固 定 不 变 的/MB)队 头 指 针 一 定 大 于 队 尾 指 针 C)队 头 指 针 一 定 小 于 队 尾 指 针 D)队 头 指 针 可 以 大 于 队 尾 指 针,也 可 以 小 于 队 尾 指 针(4)算 法 的 空 间 复 杂 度 是 指(A)A)算 法 在 执 行 过 程 中 所 需 要 的 计 算 机 存 储 空 间 略 B)算 法 所 处 理 的 数 据 量 C)算 法 程 序 中 的 语 句 或 指 令 条 数 D)算 法 在 执 行 过 程 中 所
3、需 要 的 临 时 工 作 单 元 数(5)软 件 设 计 中 划 分 模 块 的 一 个 准 则 是(B)A)低 内 聚 低 耦 合 内 聚 就 是 单 个 模 块 独 立 性 高 低 B)高 内 聚 低 耦 合 耦 合 是 模 块 之 间 的 接 口 的 复 杂 性,关 联 性 0 低 内 聚 高 耦 合 D)高 内 聚 高 耦 合(6)下 列 选 项 中 不 属 于 结 构 化 程 序 设 计 原 则 的 是(A)A)可 封 装 结 构 化 程 序 设 计 原 则 是 自 顶 向 下,逐 步 求 精,模 块 化,限 制 使 用 goto语 句 B)自 顶 向 下 0 模 块 化 D)逐
4、步 求 精(7)软 件 详 细 设 计 产 生 的 图 如 下:(C)该 图 是 A)N-S 图 B)PAD 图 0 程 序 流 程 图 D)E-R图 数 据 库 用 的(8)数 据 库 管 理 系 统 是(B)A)操 作 系 统 的 一 部 分 B)在 操 作 系 统 支 持 下 的 系 统 软 件 0 一 种 编 译 系 统 D)一 种 操 作 系 统(9)在 E-R图 中,用 来 表 示 实 体 联 系 的 图 形 是(C)A)椭 圆 图 表 示 属 性 B)矩 形 表 示 实 体 0 菱 形 D)三 角 形 没 这 个 的 吧(10)有 三 个 关 系 R,S 和 T 如 下:(C)R
5、 S TA B Ca 1 2b 2 1c 3 1A B Cd 32tinr jLIJr ar t jL1JLIJt d其 中 关 系 T 由 关 系 R 和 S 通 过 某 种 操 作 得 到,该 操 作 为 A)选 择 是 对 单 个 关 系 施 加 的 运 算,目 的 是 把 在 关 系 R 上,把 满 足 条 件 的 元 组 筛 选 出 来.B)投 影 从 一 个 关 系 中 选 择 所 需 要 的 属 性 重 新 排 列,组 成 一 个 新 关 系 0 交 D)并(11)以 下 叙 述 中 正 确 的 是A)程 序 设 计 的 任 务 就 是 编 写 程 序 代 码 并 上 机 调 试
6、 B)程 序 设 计 的 任 务 就 是 确 定 所 用 数 据 结 构 O 程 序 设 计 的 任 务 就 是 确 定 所 用 算 法 D)以 上 三 种 说 法 都 不 完 整(12)以 下 选 项 中,能 用 作 用 户 标 识 符 的 是 A)voidB)8_8C)_0_D)unsigned(13)阅 读 以 下 程 序 ttincludemain()int case;float printF;printf(“请 输 入 2 个 数:”);scanf(%d%f”,&case,&pjrintF);printf(w%d%fn”,case,printF);)该 程 序 编 译 时 产 生 错
7、 误,其 出 错 原 因 是 A)定 义 语 句 出 错,case是 关 键 字,不 能 用 作 用 户 自 定 义 标 识 符 B)定 义 语 句 出 错,printF不 能 用 作 用 户 自 定 义 标 识 符 O 定 义 语 句 无 错,scanf不 能 作 为 输 入 函 数 使 用 D)定 义 语 句 无 错,printf不 能 输 出 case的 值(14)表 达 式:(int)(double)9/2)-(9)%2 的 值 是 A)0B)3C)4D)5(15)若 有 定 义 语 句:int x=10;,则 表 达 式 x-=x+x的 值 为 A)-20B)-10C)0D)10(1
8、6)有 以 下 程 序 ttincludemain()int a=l,b=0;printf(%d,b=a+b);printf(“%dn”,a=2*b);)程 序 运 行 后 的 输 出 结 果 是 A)0,0B)1,0C)3,2D)1,217)设 有 定 义:int a=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)有 以 下 程 序 ttincludemainO int c=0,
9、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)有 以 下 程 序 ttincludemain()char s口 二“012xy”;int i,n=0;for(i=0;si!=0;i+)if(si=,a&si2);printf(%d%dn”,k,n);)程 序 运 行 后 的 输 出 结 果 是 A)0 2B)1 30 5 7D)1 2(22)有 以 下 定
10、义 语 句,编 译 时 会 出 现 编 译 错 误 的 是 A)char a=a;B)char a=n;3 是 转 义 字 符,代 表 回 车 H2d是 x开 头 的 是 十 六 进 制 的 数,它 等 于 十 进 制 ASCII值 46,是 减 号 C)char a=aaT;D)char a=x2d;(23)有 以 下 程 序 ttincludemain()char cl,c2;cl=A,+,8-;c2=,A,+8,-5;printf(a%c,%dn”,cl,c2);)已 知 字 母 A 的 ASCII码 为 65,程 序 运 行 后 的 输 出 结 果 是 A)E,68B)D,69C)E,
11、DD)输 出 无 定 值(24)有 以 下 程 序 includevoid fun(int p)int d=2;p=d+;printf(%d”,p);main()int a=l;fun(a);printf(%dn,a);程 序 运 行 后 的 输 出 结 果 是 A)32B)12C)21D)22(25)以 下 函 数 findmax拟 实 现 在 数 组 中 查 找 最 大 值 并 作 为 函 数 值 返 回,但 程 序 中 有 错 导 致 不 能 实 现 预 定 功 能 define MIN-2147483647int findmax(int x,int n)int i,max;for(i=
12、0;iN;I+)max=MIN/999999?9?9?999?9?if(maxreturn max;)造 成 错 误 的 原 因 是 A)定 义 语 句 int i,max;中 max未 赋 初 值 B)赋 值 语 句 max=MIN;中,不 应 给 max赋 MIN值 C)语 句 if(maxD)赋 值 语 句 max=MIN;放 错 了 位 置(26)有 以 下 程 序 ttincludemain()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)
13、1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2(27)若 有 定 义 语 句:int a410,*p,*q4;fi0i4,则 错 误 的 赋 值 是 A)p=aB)qi=aiC)p=aiD)p=&a2l(28)有 以 下 程 序 ttincludettincludemainO char str 20=aOne*Worldw,wOne*Dream!n,*p=strl;printf(a%df n,strlen(p);printf(%sn,p);)程 序 运 行 后 的 输 出 结 果 是 A)9,One*WorldB)9,One*Dream!C)10,One*Dream!D)
14、10,One*World(29)有 以 下 程 序 ttincludemainO int a=2,3,5,4,i;for(i=0;i4;i+)switch(i%2)case 0:switch(ai%2)case O:ai+;break;case l:ai一;break;case l:ai=O;)for(i=0;i4;i+)printf(a%dv,ai);printf(“n);)输 出 的 结 果 是 A)3 3 4 4B)2 0 5 00 3 0 4 0D)0 3 0 4(30)有 以 下 程 序#include#includemainO char a10=w abed;printf(%d,%
15、dn”,strlen(a),sizeof(a);)程 序 运 行 后 的 输 出 结 果 是 A)7,4B)4,10C)8,8D)10,10(31)下 面 是 有 关 C 语 言 字 符 数 组 的 描 述,其 中 错 误 的 是 A)不 可 以 用 赋 值 语 句 给 字 符 数 组 名 赋 字 符 串 B)可 以 用 输 入 语 句 把 字 符 串 整 体 输 入 给 字 符 数 组 C)字 符 数 组 中 的 内 容 不 一 定 是 字 符 串 D)字 符 数 组 只 能 存 放 字 符 串(32)下 列 函 数 的 功 能 是 fun(char*a,char*b)while(*b=*a
16、)!=0)a+,b+;A)将 a 所 指 字 符 串 赋 给 b 所 指 空 间 B)使 指 针 b 指 向 a 所 指 字 符 串 C)将 a 所 指 字 符 串 和 b 所 指 字 符 串 进 行 比 较 D)检 查 a 和 b 所 指 字 符 串 中 是 否 有(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=&f
17、un;(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+;return n;)程 序 运 行 以 后 的 输 出 结 果 是 A)7B)8C)9D)10(35)有 以 下 程 序 ttincludettdefine f(x)x*x*xmain()int a=3,s,t;s=f(a+1);t=f(a+1);printf(%d,%dn,s,t);)程 序 运 行 后 的 输 出 结 果 是 A)10,64B)10,10C)64
18、,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;struct 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=stringw;c=str;B)scanf(%s,
19、c);C)c=getchar();D)*c=string”;(38)有 以 下 程 序 includettincludestruct A int a;char b10;double c;struct A f(struct A t);main()struct A a=1001,ZhangDa”,1098.0;a=f(a);jprintf(%d,%s,%6.lfnM,a.a,a.b,a.c);)struct A f(struct A t)(t.a=1002;strcpy(t.b,n ChangRong);t.c=1202.0;return t;)程 序 运 行 后 的 输 出 结 果 是 A)10
20、01,ZhangDa,1098.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0(39)若 有 以 下 程 序 段 int r=8;printf(w%dnw,rl);输 出 结 果 是 A)16B)8C)4D)2(40)下 列 关 于 C 语 言 文 件 的 叙 述 中 正 确 的 是 A)文 件 由 一 系 列 数 据 依 次 排 列 组 成,只 能 构 成 二 进 制 文 件 B)文 件 由 结 构 序 列 组 成,可 以 构 成 二 进 制 文 件 或 文 本 文 件 C)文 件 由 数 据 序 列
21、组 成,可 以 构 成 二 进 制 文 件 或 文 本 文 件 D)文 件 由 字 符 序 列 组 成,其 类 型 只 能 是 文 本 文 件 二、填 空 题(每 空 2 分,共 30分)(1)某 二 叉 树 有 5 个 度 为 2 的 结 点 以 及 3 个 度 为 1 的 结 点,则 该 二 叉 树 中 共 有【1】个 结 点。(2)程 序 流 程 图 中 的 菱 形 框 表 示 的 是【2】。(3)软 件 开 发 过 程 主 要 分 为 需 求 分 析、设 计、编 码 与 测 试 四 个 阶 段,其 中【3】阶 段 产 生”软 件 需 求 规 格 说 明 书。(4)在 数 据 库 技 术
22、 中,实 体 集 之 间 的 联 系 可 以 是 一 对 一 或 一 对 多 或 多 对 多 的,那 么“学 生”和“可 选 课 程”的 联 系 为【4】o(5)人 员 基 本 信 息 一 般 包 括:身 份 证 号,姓 名,性 别,年 龄 等。其 中 可 以 作 为 主 关 键 字 的 是【5】o(6)若 有 定 义 语 句:int a=5;,则 表 达 式:a+的 值 是【6】。(7)若 有 语 句 double x=17;int y;,当 执 行 y=(int)(x/5)%2;之 后 y 的 值 为 7。(8)以 下 程 序 运 行 后 的 输 出 结 果 是 8】。includemai
23、n()int x=20;printf(“d”,0X20);printf(“%dn”,O X&X(9)以 下 程 序 运 行 后 的 输 出 结 果 是 9】。includemain()int a=l,b=7;do b=b/2;a+=b;while(bl);printf(“dn,a);(10)有 以 下 程 序 includemain()int f,fl,f2,i;fl=0;f2=l;printf(d%d”,fl,f2);for(i=3;i=5;i+)f=fl+f2;printf(“d”,f);fl=f2;f2=f;)printf(n);)程 序 运 行 后 的 输 出 结 果 是 10 o(1
24、1)有 以 下 程 序 ttincludeint 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);)程 序 运 行 后 的 输 出 结 果 是 111。(12)设 有 定 义:struct person int ID;char name12;p;请 将 scanf(“%d,1 2);语 句 补 充 完 整,使 其 能 够 为 结 构 体 变 量 p 的 成 员 ID正 确 读 入 数 据。(13)有 以 下 程 序 includemain()char a20=How
25、are you?w,b20;scanf(%s,b);printf(%s%snw,a,b);)程 序 运 行 时 从 键 盘 输 入:How are you?回 车)则 输 出 结 果 为 13 o(14)有 以 下 程 序 includetypedef struct int num;double sREC;void funl(REC x)x.num=23;x.s=88.5;main()REC a=16,90.0;funl(a);printf(%dn”,a.num);)程 序 运 行 后 的 输 出 结 果 是 14 o(15)有 以 下 程 序 ttincludefun(int x)if(x/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 笔试 历年 答案 注释
限制150内