《二级C语言笔试试卷与答案解析.pdf》由会员分享,可在线阅读,更多相关《二级C语言笔试试卷与答案解析.pdf(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、二 级 C 语 音 笔 试 试 卷 与 答 案 解 析 机 密 启 用 前 2010年 3 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 C 语 言 程 序 设 计(考 试 时 间 90分 钟,满 分 100分)一、选 择 题(1)(10)、(21)(40)每 题 2 分,(11)(20)每 题 1 分,共 70分)下 列 各 题 A)、B)、C)、D)四 个 选 项 中,只 有 一 个 选 项 是 正 确 的。请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,答 在 试 卷 上 不 得 分。(1)下 列 叙 述 中 正 确 的 是 A)对 长 度 为 的
2、有 序 链 表 进 行 查 找,最 坏 清 况 下 需 要 的 比 较 次 数 为 B)对 长 度 为 的 有 序 链 表 进 行 对 分 查 找,最 坏 情 况 下 需 要 的 比 较 次 数 为(/2)C)对 长 度 为 的 有 序 链 表 进 行 对 分 查 找,最 坏 情 况 下 需 要 的 比 较 次 数 为(10g2”)D)对 长 度 为 的 有 序 链 表 进 行 对 分 查 找,最 坏 情 况 下 需 要 的 比 较 次 数 为(nlogrt)(2)算 法 的 时 间 复 杂 度 是 指 A)算 法 的 执 行 时 间 B)算 法 所 处 理 的 数 据 量 C)算 法 程 序
3、 中 的 语 司 或 指 令 条 数 D)算 法 在 执 行 过 程 中 所 需 要 的 基 本 运 算 次 数(3)软 件 按 功 能 可 以 分 为:应 用 软 件、系 统 软 件 和 支 撑 软 件(或 工 具 软 件)。下 面 属 于 系 统 软 件 的 是 A)编 辑 软 件 B)操 作 系 统 C)教 务 管 理 系 统 D)浏 览 器(4)软 件(程 序)调 试 的 任 务 是 A)诊 断 和 改 正 程 序 中 的 错 误 吴 C)发 现 并 改 正 程 序 中 的 所 有 错 误(5)数 据 流 程 图(D F D 图)是 A)软 件 概 要 设 计 的 工 具 C)结 构
4、化 方 法 的 需 求 分 析 工 具 B)尽 可 能 多 地 发 现 程 序 中 的 错 D)确 定 程 序 中 错 误 的 性 质 B)软 件 详 细 设 计 的 工 具 D)面 向 对 象 方 法 的 需 求 分 析 工 具(6)软 件 生 命 周 期 可 分 为 定 义 阶 段,开 发 阶 段 和 维 护 阶 段。详 细 设 计 属 于 A)定 义 阶 段 B)开 发 阶 段 C)维 护 阶 段 D)上 述 三 个 阶 段(7)数 据 库 管 理 系 统 中 负 责 数 据 模 式 定 义 的 语 言 是 A)数 据 定 义 语 言 B)数 据 管 理 语 言 C)数 据 操 纵 语
5、言 D)数 据 控 制 语 言(8)在 学 生 管 理 的 关 系 数 据 库 中,存 取 一 个 学 生 信 息 的 数 据 单 位 是 A)文 件 B)数 据 库 C)字 段 D)记 录(9)数 据 库 设 计 中,用 E-R图 来 描 述 信 息 结 构 但 不 涉 及 信 息 在 计 算 机 中 的 表 示,它 属 于 数 据 库 设 计 的 A)需 求 分 析 阶 段 C)概 念 设 计 阶 段 B)逻 辑 设 计 阶 段 D)物 理 设 计 阶 段(10)有 两 个 关 系 R 和 T 如 下:C)交 D)并(11)以 下 叙 述 正 确 的 是 A)C 语 言 程 序 是 由 过
6、 程 和 函 数 组 成 的 B)C 语 言 函 数 可 以 嵌 套 调 用,例 如:fun(fun(x)C)C 语 言 函 数 不 可 以 单 独 编 译 D)C 语 言 中 除 了 main函 数,其 他 函 数 不 可 作 为 单 独 文 件 形 式 存 在(12)以 下 关 于 C 语 言 的 叙 述 中 正 确 的 是 A)C 语 言 中 的 注 释 不 可 以 夹 在 变 量 名 或 关 键 字 的 中 间 B)C 语 言 中 的 变 量 可 以 在 使 用 之 前 的 任 何 位 置 进 行 定 义 C)在 C 语 言 算 术 表 达 式 的 书 写 中,运 算 符 两 侧 的
7、运 算 数 类 型 必 须 一 致 D)C 语 言 的 数 值 常 量 中 夹 带 空 格 不 影 响 常 量 值 的 正 确 表 示(13)以 下 C 语 言 用 户 标 识 符 中,不 合 法 的 是 A)_1 B)AaBc C)a_b D)a-b(14)若 有 定 义:double a=22;int i=0,k=18;,则 不 符 合 C 语 言 规 定 的 赋 值 语 句 是 A)a=a+,i+;B)i=(a+k)=(i+k);C)i=a%ll;D)i=!a;(1 5)有 以 下 程 序#include main()char a,b,c,d;scanf(c%c”,&a,&b);c=ge
8、tchar();d=getchar();printf(u%c%c%c%cn,a,b,c,d);)当 执 行 程 序 时,按 下 列 方 式 输 入 数 据(从 第 1列 开 始,代 表 回 车,注 意:回 车 也 是 一 个 字 符)1234则 输 出 结 果 是 A)1234 B)12 C)12 D)123 34(1 6)以 下 关 于 C 语 言 数 据 类 型 使 用 的 叙 述 中 错 误 的 是 A)若 要 准 确 无 误 差 的 表 示 自 然 数,应 使 用 整 数 类 型 B)若 要 保 存 带 有 多 位 小 数 的 数 据,应 使 用 双 精 度 类 型 C)若 要 处 理
9、 如“人 员 信 息”等 含 有 不 同 类 型 的 相 关 数 据,应 自 定 义 结 构 体 类 型 D)若 只 处 理“真”和“假”两 种 逻 辑 值,应 使 用 逻 辑 类 型(1 7)若 a 是 数 值 类 型,则 逻 辑 表 达 式(a=l)I I(a!=l)的 值 是 A)1 B)0 C)2 D)不 知 道 a 的 值,不 能 确 定(1 8)以 下 选 项 中 与 if(a=l)a=b;else a+;语 句 功 能 不 同 的 sw itch语 句 是 A)switch(a)casel:a=b;break;default:a+;C)switch(a)default:a+;br
10、eak;case l:a=b;)(1 9)有 如 下 嵌 套 的 i f语 句 if(ab)if(ac)k=a;else k=c;elseif(bc)k=b;else k=c;B)switch(a=l)case O:a=b;break;case l:a+;)D)switch(a=l)case 1:a=b;break;case 0:a+;)以 下 选 项 中 与 上 述 i f语 句 等 价 的 语 句 是 A)k=(ab)?a;b;k=(bc)?b:c;B)k=(ab)?(bc)?b:c);C)k=(ab)?(ac)?a:c):(bc)?b:c);D)k=(a;x=(ac)?a:c;(2 0)
11、有 以 下 程 序#include main()in i,j,m=l;for(i=l;i0;j-)if(i*j3)break;m=i*j;)printf(m=%dn,m);程 序 运 行 后 的 输 出 结 果 是 A)m=6 B)m=2 C)m=4 D)m=5(2 1)有 以 下 程 序#include main()int a=l;b=2;for(;a8;a+)b+=a;a+=2;printf(%d,%dn,a,b);)程 序 运 行 后 的 输 出 结 果 是 A)9,18 B)8,11 C)7,11D)10,14(2 2)有 以 下 程 序,其 中 k 的 初 值 为 八 进 制 数#i
12、nclude main()int k=011;printf(n%dnn,k+);程 序 运 行 后 的 输 出 结 果 是 A)12 B)11 C)10 D)9(23)下 列 语 句 组 中,正 确 的 是 A)char*s;s=Olympic;B)char s7;s=,OlympicH;C)char*s;s=Olympic);D)char s7;s=Olympic*);(2 4)以 下 关 于 return语 句 的 叙 述 中 正 确 的 是 A)一 个 自 定 义 函 数 中 必 须 有 一 条 return语 句 B)一 个 自 定 义 函 数 中 可 以 根 据 不 同 情 况 设
13、置 多 条 return语 句 C)定 义 成 void类 型 的 函 数 中 可 以 有 带 返 回 值 的 return语 句 D)没 有 return语 句 的 自 定 义 函 数 在 执 行 结 束 时 不 能 返 回 到 调 用 处(2 5)下 列 选 项 中,能 正 确 定 义 数 组 的 语 句 是 A)int numO.2OO8;C)int N=2008;int numN;B)int num;D)#define N 2008int numfN;(2 6)有 以 下 程 序#include void fun(char*c,int d)*c=*c+l;d=d+l;printf(%c
14、,%c,*c,d);main()char b=a,a=A;fun(&b,a);printf(%c,%cn,b,a);程 序 运 行 后 的 输 出 结 果 是 A)b,B,b,A B)b,B,B,Aa,BC)a,B,B,a D)a,B,(2 7)若 有 定 义 in t(*p t)3;,则 下 列 说 法 正 确 的 是 A)定 义 了 基 类 型 为 in t的 三 个 指 针 变 量 B)定 义 了 基 类 型 为 in t的 具 有 三 个 元 素 的 指 针 数 组 ptC)定 义 了 一 个 名 为*pt、具 有 三 个 元 素 的 整 型 数 组 D)定 义 了 一 个 名 为 p
15、 t的 指 针 变 量,它 可 以 指 向 每 行 有 三 个 整 数 元 素 的 二 维 数 组(2 8)设 有 定 义 double a 1 0,*s=a;,以 下 能 够 代 表 数 组 元 素 a3的 是 A)(*s)3 B)*(s+3)C)*5闭 D)*s+3(2 9)有 以 下 程 序#include main()int a5=1,2,3,4,51,b5=0,2,1,3,0,i,s=0;for(i=0;i5;i+)s=s+abi);printf(%dn,s);)程 序 运 行 后 的 输 出 结 果 是 A)6 B)10 C)11 D)153 0)有 以 下 程 序#include
16、 main()intb 33=0,l,2,0,l,2,0,l,2,i,j,t=l;for(i=0;i3;i+)forG=i,j=l;j+)t+=bibji;printf(%dn,t);程 序 运 行 后 的 输 出 结 果 是 A)1 B)3 C)4 D)9(3 1)若 有 以 下 定 义 和 语 句 char sll 0=abcd!,*s2=n 123W;printf(%d%dn,strlen(s 1),strlen(s2);则 输 出 结 果 是 A)5 5 B)10 5 C)10 7 D)5 8(3 2)有 以 下 程 序#include#define N 8void fun(int*x
17、,int i)*x=*(x+i);main()int aN=1,2,3,4,5,67,8,i;fun(a,2);for(i=0;iN/2;i+)printf(%dn,ai);printf(nnu);程 序 运 行 后 的 输 出 结 果 是 A)13 13 B)2 2 3 4 C)3 2 3 4 D)1 2 3 4(3 3)有 以 下 程 序#include int f(int n);main()inta4=l,2,3,4,s;s=f(a,4);printf(H%dnn,s);int f(int t,int n)if(n0)return tn-l+f(t,n-l);else return 0;
18、程 序 运 行 后 的 输 出 结 果 是 A)4 B)10 C)14 D)6(3 4)有 以 下 程 序#include int fun()static int x=l;x*2;return x;main()int i,s=l,for(i=l;i=2;i+)s=fun();printf(n%dnn,s);程 序 运 行 后 的 输 出 结 果 是 A)0 B)1 C)4 D)8(3 5)有 以 下 程 序#include#define SUB(a)(a)-(a)main()int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(%dn,d);程 序 运 行 后 的 输 出
19、 结 果 是 A)0 B)-12 C)-20 D)10(3 6)设 有 定 义:struct complex int real,unreal;datal=l,8,data2;则 以 下 赋 值 语 句 中 错 误 的 是 A)data2=datal;C)data2.real=datal.real;B)data2=(2,6);D)data2.real=datal.unreal;(3 7)有 以 下 程 序#include#include struct A int a;char b10;double c;void f(struct A t);main()struct A a=1001,MZhang
20、DaH,1098.0;f(a);printf(%d,%s,%6.lfnn,a.a,a.b,a.c);void f(struct A t)t.a=1002;strcpy(t.b,hangR ong);t.c=l202.0;程 序 运 行 后 的 输 出 结 果 是,A)1001,zhangDa,1098.0 B)1002,changRong,1202.0C)1001,changR ong,1098.0 D)1002,ZhangD a,1202.0(3 8)有 以 下 定 义 和 语 句 struct workers int num;char nam e20;char c;struct int d
21、ay;int m onth;int y e a r;s;struct w orkers w,*pw;pw=&w;能 给 w 中 y e a r成 员 赋 1 9 8 0的 语 句 是 A)*pw.year=1980;C)pw-year=1980;(3 9)有 以 下 程 序#include main()int a=2,b=2,c=2;printf(%dna/b&c);)程 序 运 行 后 的 输 出 结 果 是 A)0 B)1(4 0)有 以 下 程 序#include main()FILE*fp;char strflO;fp=fopen(,m yfile.dat,wn);fputs(n ab
22、cn,fp);fc lose(fp);fpfopen(M my file.datan,*a+n);fprintf(fp,n%d,28);rew ind(fp);fscanf(fp,n%sn,str);puts(str);fclose(fp);)程 序 运 行 后 的 输 出 结 果 是 A)abc B)28c一 致 而 出 错 B)w.year=1980;D)w.s.year=1980;C)2 D)3C)abc28 D)因 类 型 不二、填 空 题(每 空 2 分,共 3 0分)请 将 每 空 的 正 确 答 第 5 去 答 题 卡【1】至 15 序 号 的 横 线 上,答 在 试 卷 上 不
23、 得 分。(1)一 个 队 列 的 初 始 状 态 为 空。现 将 元 素 A,B,C,D,E,F,5,4,3,2,1依 次 入 队,然 后 再 依 次 退 队,则 元 素 退 队 的 顺 序 为【1】。(2)设 某 循 环 队 列 的 容 量 为 5 0,如 果 头 指 针 front=45(指 向 队 头 元 素 的 前 一 位 置),尾 指 针 rear=10(指 向 队 尾 元 素),则 该 循 环 队 列 中 共 有【2 1 个 元 索。(3)设 二 叉 树 如 下:对 该 二 二 树 进 行 后 序 遍 历 的 结 果 为【3】。(4)软 件 是【4】、数 据 和 文 档 的 集
24、合。(5)有 一 个 学 生 选 课 的 关 系,其 中 学 生 的 关 系 模 式 为:学 生(学 号,姓 名,班 级,年 龄),课 程 的 关 系 模 式 为:课 程(课 号,课 程 名,学 时),其 中 两 个 关 系 模 式 的 键 分 别 是 学 号 和 课 号,则 关 系 模 式 选 课 可 定 义 为:选 课(学 号,.【5】,成 绩)。(6)设 x 为 int型 变 量,请 写 出 一 个 关 系 表 达 式【6,用 以 判 断 x 同 时 为 3和 7 的 倍 数 时,关 系 表 达 式 的 值 为 真。(7)有 以 下 程 序#include main()int a=l,b
25、=2,c=3,d=0;if(a=l)if(b!=2)if(c=3)d=l;else d=2;else if(c!=3)d=3;else d=4;else d=5;printf(dn”,d);)程 序 运 行 后 的 输 出 结 果 是 一【7】。(8)有 以 下 程 序#include main()int m,n;scanf(H%d%d,&m,&n);while(m!=n)while(mn)m=m-n;while(m)printfC%dn,m);)程 序 运 行 后,当 输 入 1463V回 车 时,输 出 结 果 是 8】。(9)有 以 下 程 序#include main()int i,j
26、,a 口 3=12,3,4,5,6,7,8,9;for(i=0;i3;i+)for(j=i;j3;j+)printfC*%d,aij);printf(n);)程 序 运 行 后 的 输 出 结 果 是 9】。(1 0)有 以 下 程 序#include main()int a=l,2,3,4,5,6,*k3,i=0;while(i3)ki=&a2*i;printf(%d,*ki);i+;)程 序 运 行 后 的 输 出 结 果 是【10】。(1 1)有 以 下 程 序#include main()inta33=l,2,3,4,5,6,7,8,9);intb3=0,i;for(i=0;i3;i4
27、-+)bi=ail2+a2i;for(i=0;i3;i+)printf(%dn,bi);printf(nn);)程 序 运 行 后 的 输 出 结 果 是 _ m j。(1 2)有 以 下 程 序#include#include void fun(char*str)char temp;int n,i;n=strlen(str);temp=strn-l;for(i=n-1;i0;i)stri=stri-l;str0=temp;)main()char s50;scanf(n%sM,s);fun(s);printf(%snu,s);程 序 运 行 后 输 入:abcdef(回 车,则 输 出 结 果
28、 是【12】o(1 3)以 下 程 序 的 功 能 是:将 值 为 三 位 正 整 数 的 变 量 x 中 的 数 值 按 照 个 位、十 位、百 位 的 顺 序 拆 分 并 输 出。请 填 空。#include main()int x=256;printf(%d-%d-%dn,13,x/10%10,x/100);(1 4)以 下 程 序 用 以 删 除 字 符 串 所 有 的 空 格,请 填 空。#include main()char s 100=Our teacher teach C language!;int i,j;for(i=j=0;si!=,0,;i+)if(si!=,)sj=si
29、;j+;Sj1=14printfCt%sn,s);(1 5)以 下 程 序 的 功 能 是:借 助 指 针 变 量 找 出 数 组 元 素 中 的 最 大 值 及 其 元 素 的 下 标 值。请 填 空。#include main()int a10,*p,*s;for(p=a;p-a 10;p+)scanf(n%dn,p);for(p=a,s=a;p-a*s)s=1 5;printfCuindex=%dn,s-a);2010年 3 月 全 国 计 算 机 等 级 考 试 二 级 C 参 考 答 案 及 解 析 一、选 择 题(1)A)【解 析】本 题 主 要 考 查 的 知 识 点 为 查 找
30、 技 术。顺 序 查 找 的 使 用 情 况:线 性 表 为 无 序 表;表 采 用 链 式 存 储 结 构。二 分 法 查 找 只 适 用 于 顺 序 存 储 的 有 序 表,并 不 适 用 于 线 性 链 表。(2)D)【解 析】算 法 的 时 间 复 杂 度,是 指 执 行 算 法 所 需 要 的 计 算 工 作 量。算 法 的 工 作 量 可 以 用 算 法 在 执 行 过 程 中 所 需 基 本 运 算 的 执 行 次 数 来 度 量。(3)B)【解 析】软 件 根 据 应 用 目 标 的 不 同.是 多 种 多 样 的。软 件 按 功 能 可 以 分 为:应 用 软 件、系 统 软
31、 件、支 撑 软 件(或 工 具 软 件)。应 用 软 件 是 为 解 决 特 定 领 域 的 应 用 而 开 发 的 软 件。系 统 软 件 是 计 算 机 管 理 自 身 资 源,提 高 计 算 机 使 用 效 率 并 为 计 算 机 用 户 提 供 各 种 服 务 的 软 件。支 撑 软 件 是 介 于 系 统 软 件 和 应 用 软 件 之 间,协 助 用 户 开 发 软 件 的 工 具 性 软 件,包 括 辅 助 和 支 持 开 发 和 维 护 应 用 软 件 的 工 具 软 件,还 包 括 辅 助 管 理 人 员 控 制 开 发 进 程 和 项 目 管 理 的 工 具 软 件。(4
32、)A)【解 析】在 对 程 序 进 行 了 成 功 的 测 试 之 后 将 进 入 程 序 调 试(通 常 称 D ebug,即 排 错)。程 序 调 试 的 任 务 是 诊 断 和 改 正 程 序 中 的 错 误。它 与 软 件 测 试 不 同,软 件 测 试 是 尽 可 能 多 地 发 现 软 件 中 的 错 误。先 要 发 现 软 件 的 错 误,然 后 借 助 于 一 定 的 调 试 工 具 去 执 行 并 找 出 错 误 的 具 体 位 置,软 件 测 试 贯 穿 整 个 软 件 生 命 期,调 试 主 要 在 开 发 阶 段。(5)C)【解 析】本 题 考 查 数 据 流 程 图
33、D F D的 概 念。对 于 面 向 数 据 流 的 结 构 化 分 析 方 法,按 照 DeMarco的 定 义,“结 构 化 分 析 就 是 使 用 数 据 流 图(DFD)、数 据 字 典(DD)、结 构 化 英 语、判 定 表 和 判 定 树 等 工 具,来 建 立 一 种 新 的、称 为 结 构 化 规 格 说 明 的 目 标 文 档”。结 构 化 分 析 方 法 的 实 质 是 着 眼 于 数 据 流,自 顶 向 下,逐 层 分 解,建 立 系 统 的 处 理 流 程。以 数 据 流 图 和 数 据 字 典 为 主 要 工 具,建 立 系 统 的 逻 辑 模 型。数 据 流 图(D
34、FD Data Flow Diagram)是 描 述 数 据 处 理 过 程 的 工 具,是 需 求 理 解 的 逻 辑 模 型 的 图 形 表 示,它 直 接 支 持 系 统 的 功 能 建 模。数 据 流 图 从 数 据 传 递 和 加 工 的 角 度,来 刻 画 数 据 流 从 输 入 到 输 出 的 移 动 变 换 过 程。由 此 可 得 数 据 流 程 图 是 结 构 化 方 法 的 需 求 分 析 工 具。(6)B)【解 析】本 题 考 查 软 件 生 命 周 期 的 相 关 概 念。通 常,将 软 件 产 品 从 提 出、实 现、使 用 维 护 到 停 止 使 用 退 役 的 过
35、 程 称 为 软 件 生 命 周 期。也 就 是 说,软 件 产 品 从 考 虑 其 概 念 开 始,到 该 软 件 产 品 不 能 使 用 为 止 的 整 个 时 期 都 属 于 软 件 生 命 周 期。一 般 包 括 可 行 性 研 究 与 需 求 分 析、设 计、实 现、测 试、交 付 使 用 以 及 维 护 等 活 动。还 可 以 将 软 件 生 命 周 期 分 为 软 件 定 义、软 件 开 发 及 软 件 运 行 维 护 三 个 阶 段。(7)A)【解 析】数 据 库 管 理 系 统 一 般 提 供 相 应 的 数 据 语 言,它 们 分 别 是:数 据 定 义 语 言,负 责 数
36、 据 的 模 式 定 义 与 数 据 的 物 理 存 取 构 建:数 据 操 纵 语 言,负 责 数 据 的 操 纵,包 括 查 询 及 增、删、改 等 操 作:数 据 控 制 语 言,负 责 数 据 完 整 性、安 全 性 的 定 义 与 检 查 以 及 并 发 控 制、故 障 恢 复 等 功 能。(8)D)【解 析】本 题 考 查 关 系 数 据 库 中,数 据 单 位 的 相 关 概 念。文 件 是 指 存 储 在 外 部 介 质 上 的 数 据 的 集 合。数 据 库 是 存 储 在 计 算 机 存 储 设 备 上,结 构 化 的 相 关 数 据 集 合。它 不 仅 包 括 描 述 事
37、 物 的 数 据 本 身,而 且 还 包 括 相 关 事 物 之 间 的 联 系。在 数 据 库 中,表 的“行”称 为“记 录”,“列”称 为“字 段”。由 此 可 得,题 中 存 取 一 个 学 生 信 息 的 数 据 单 位 为 记 录。(9)C)【解 析】E-R模 型(实 体 联 系 模 型)是 将 现 实 世 界 的 要 求 转 化 成 实 体、联 系、属 性 等 几 个 基 本 概 念,以 及 它 们 间 的 两 种 基 本 联 接 关 系,并 且 可 用 一 种 图 非 常 直 观 地 表 示 出 来。它 属 于 数 据 库 设 计 的 概 念 设 计 阶 段。(10)A)【解
38、析】由 关 系 R 和 T 所 包 含 的 元 素 可 知,关 系 R 经 过 选 择 操 作 就 可 以 得 到 关 系 T。(11)B)【解 析】在 C 语 言 中,允 许 函 数 的 嵌 套 调 用,即 递 归 调 用。在 C语 言 中 不 存 在 过 程 的 概 念,所 以 选 项 A)是 错 误 的,在 C 语 言 中 函 数 允 许 单 独 编 译,可 以 作 为 单 独 的 文 件 形 式 存 在,因 而 选 项 C)和 D)是 错 误 的。(12)B)【解 析】C 语 言 中 的 注 释 可 以 出 现 在 任 何 位 置;C 语 言 的 变 量 在 函 数 开 始 位 置 进
39、 行 定 义,也 可 以 在 变 量 使 用 前 位 置 定 义;一 个 浮 点 数 可 以 和 一 个 整 数 相 加,运 算 符 两 侧 的 运 算 类 型 也 可 以 不 一 致;数 值 常 量 中 不 允 许 夹 带 空 格.(13)D)【解 析】在 C 语 言 中 的 用 户 标 识 符 只 能 由 字 母,数 字 和 下 划 母 组 成,并 且 第 一 个 字 符 必 须 是 字 母 或 下 划 线,在 选 项 D)中 出 现 了 非 法 的 字 符 一。(14)0【解 析】在 C 语 言 中,求 余 运 算 符 的 运 算 对 象 只 能 是 整 型,在 题 目 中,变 量 a
40、是 一 个 双 精 型 变 量,因 此 选 项 C)中 赋 值 表 达 式 的 右 侧 的 表 达 式 是 一 个 非 法 的 表 达 式。(1 5)C)【解 析】在 程 序 中,scanf函 数 把 1和 2分 别 赋 给 变 量 a和 b,getchar()函 数 把 回 车 符 赋 给 变 量 c,getchar()函 数 把 3 赋 给 变 量 do(16)D)【解 析】在 C 语 言 中 没 有 定 义 逻 辑 类 型,而 是 用 0 代 表 假,用 非零 代 表 真。(17)A)【解 析】在 逻 辑 表 达 式 中,a llb,只 有 在 a 跟 b 都 为 0 时,表 达 式 的
41、 结 果 才 为 0。在 题 中 所 给 的 表 达 式 中 a 要 么 等 于 1,要 么 不 等 于 1,肯 定 会 有 一 方 的 值 不 为 真。(18)B)【解 析】if else语 句 的 含 义 是,如 果 变 量 a 的 值 等 于 1,则 把 变 量 b 的 值 赋 给 变 量 a,否 则,变 量 a 的 值 加 1。在 本 题 的 4 个 选 项 中,与 其 含 义 不 同 的 是 选 项 B),表 示 如 果 变 量 a 的 值 等 于 1。则 把 变 量 a 的 值 加 1,否 则,把 变 量 b 的 值 赋 给 变 量 a。(19)C)【解 析】嵌 套 的 if el
42、se语 句 的 含 义 是,在 变 量 a 的 值 小 于 变 量 b的 值,同 时,变 量 a 的 值 小 于 变 量 c 的 值 时,把 变 量 a 的 值 赋 给 变 量 k。在 变 量 a 的 值 小 于 变 量 b 的 值,同 时,变 量 a 的 值 大 于 等 于 变 量 c 的 值 时,把 变 量 c 的 值 赋 给 变 量 k o 在 变 量 a 的 值 大 于 等 于 变 量 b 的 值,同 时,变 量 b 的 值 小 于 变 量 c 的 值 时,把 变 量 b 的 值 赋 给 变 量 k。在 变 量 a 的 值 大 于 等 于 变 量 b 的 值,同 时,变 量 b 的 值
43、 大 于 等 于 变 量 c 的 值 时,把 变 量 c 的 值 赋 给 变 量 k。(20)A)【解 析】这 道 题 考 查 了 for循 环 的 嵌 套 应 用。对 于 外 层 for循 环 来 说,变 量 i 从 1增 到 2 o循 环 执 行 2 次。当 变 量 i 的 值 等 于 1 时,对 于 内 层 for循 环 来 说,变 量 j 从 3 减 到 1,求 得 变 量 m 的 值 等 于 6。当 变 量 i 的 值 等 于 2 时,第 一 遍 执 行 内 层 for循 环,变 量 j 的 值 等 于 3,那 么 i*j的 值 等 于 6,其 值 大 于 3,这 时 执 行 bre
44、ak语 句。退 出 内 层 for循 环 的 执 行。所 以 程 序 输 出 变 量 m 的 值 为 6。(21)D)【解 析】在 这 段 程 序 中 变 量 a 的 初 值 等 于 1,变 量 b 的 初 值 等 于 2 o 第 1次 执 行 for循 环 语 句 后。变 最 a 的 值 等 于 3,变 量 b 的 值 等 于 3。第 2 次 执 行 for循 环 后,变 量 a 等 于 6,变 量 b 的 值 等 于 7。第 3 次 执 行 for循 环 后,变 量 a 等 于 9,变 量 b 的 值 等 于 14。第 4 次 执 行 for循 环 后,变 量 a 等 于 1 0,这 时
45、退 出 fo r循 环,此 时 变 量 b 的 值 等 于 14。因 而 程 序 输 出 变 量 a,b的 值 分 别 为 10,14o(22)D)【解 析】变 量 k 的 值 为 八 制 数 0 1 1,其 对 应 的 十 制 进 数 为 9。(23)A)【解 析】S 是 一 个 字 符 指 针 变 量,让 它 指 向 一 个 字 符 串 常 量。(24)B)【解 析】return语 句 主 要 用 于 返 回 函 数 的 值。在 一 个 自 定 义 函 数 中,可 以 根 据 不 同 的 情 况 设 置 多 条 return语 句 返 回 函 数 的 值。(25)D)【解 析】在 定 义
46、一 维 数 组 时,数 组 的 下 标 应 该 是 一 个 确 定 的 整 数 值。要 注 意 的 是 在 定 义 二 维 数 组 时,其 第 一 维 下 标 可 以 省 略,但 第 二 维 下 标 不 能 省 略。(26)A)【解 析】在 这 道 题 目 中 要 fu n函 数 的 参 数 传 递 方 式,形 参 c 是 传 地 址,形 参 d 是 传 值。所 以 在 主 函 数 中,执 行 fun时,把 变 量 b 的 地 址 传 给 了 c,把 a 的 值 传 递 给 了 d,经 过 运 算,输 出 的 值 为 b,B。在 主 函 数 的 输 出 语 句 中,输 出 变 量 b 的 值
47、为 b,变 量 a 的 值 为 A。(27)D)【解 析】首 先,p t跟*结 合,所 以 是 一 个 指 针,所 指 向 的 对 象 是 含 有 3 个 元 素 的 数 组。所 定 义 的 指 针 没 加 const,所 以 是 个 指 针 变 量,还 可 以 指 向 类 似 对 象 的 其 他 元 素,也 就 是 说 还 可 以 指 向 其 他 含 有 3 个 元 素 的 数 组。这 也 是 选 项 D)所 表 达 的 意 思。可 以 指 向 每 行 3 个 整 数 元 素 的 二 维 数 组。如 果 是*pt3,由 于 口 的 优 先 级 比*高,所 以 首 先 是 数 组 形 式 pt
48、3,然 后 再 与*结 合,这 样 指 针 数 组 包 含 3 个 指 针,ptO、ptl、pt。int(*p)3;是 数 组 指 针,p 是 个 指 针,指 向 一 个 长 度 为 3 的 int型 数 组。(28)B)【解 析】语 句*s=a,使 用 指 针 变 量 s 指 向 一 维 数 组 a 的 首 地 址,所 以*(s+3)表 示 的 是 引 用 数 组 a3o(29)0【解 析】这 道 题 目 是 计 算 机 一 维 数 组 a 中 某 些 元 素 的 和。这 些 元 素 的 下 标 值 是 一 维 数 组 b 中 元 素 值。s=0+a0+a2+al+a3+a0=0+l+3+2
49、+4+l=l 1 0(30)0【解 析】这 道 题 主 要 考 查 的 是 二 维 数 组 的 有 关 知 识。在 两 层 for循 环 语 句 中,每 次 执 行 变 量 t的 累 加 时,二 维 数 组 元 素 b 的 第 二 下 标 的 值 与 第 一 下 标 相 同 的 值;所 以 程 序 执 行 的 过 程 为 t=l+bll+b22=l+l+2=4o(31)A)【解 析】本 题 要 注 意 的 是 转 义 字 符 的 问 题,在 字 符 串 s 2 中,有 两 个 转 义 字 符,分 别 是 回 车 换 行 符 和 反 斜 线。所 以 其 字 符 串 长 度 等 于 5。(32)C
50、)【解 析】函 数 fun(int*x,int i)的 功 能 是 把 数 组 元 素 xi的 值 赋 给 x0。所 以 在 主 函 数 中 执 行 fun(a,2)后,数 组 元 数 a0的 值 等 于 3。然 后 在 for循 环 语 句 中,输 出 数 组 a 中 的 前 4 个 元 素 的 值,分 别 是 3,2,3,4o(33)B)【解 析】本 题 主 要 考 查 的 是 函 数 的 递 归 调 用,子 函 数 f 是 一 个 递 归 函 数,所 以 主 函 数 中 执 行 f(a,4)时,其 执 行 过 程 是 把 数 组 a 中 的 所 有 元 素 按 逆 顺 相 加。最 后 变