《海南医学院C语言程序设计期末样卷(八套)含答案.pdf》由会员分享,可在线阅读,更多相关《海南医学院C语言程序设计期末样卷(八套)含答案.pdf(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、海 南 医 学 院 C语 言 程 序 设 计 期 末 精 选 样 卷(一)总 分:【100分】考 试 时 间:【90分 钟】一、单 项 选 择 题(共 20题,每 题 2分,共 计 40分)()1、若 变 量 已 正 确 定 义 并 赋 值,表 达 式-k+等 价 于 A、-(k+)B、-(k+1)C、-(+k)D、(-k)+()2、下 列 赋 值 语 句 错 误 的 是 oA、AB、i=0;C、i=i+l:D i+=l:()3、有 以 下 程 序:main()(int a=3,b=4,c=5,d=2;if(ab)if(bc)printf(%d”,d+1);else printf(%d”,+d
2、+l);printf(%dn”,d);)程 序 运 行 后 的 输 出 结 果 是 OA、2B、3C、43D、44()4、以 下 不 正 确 的 是 _oA、语 句 for(i=0:;i+)表 示 无 限 循 环 B、for(;)表 示 无 限 循 环 C、for 0 也 表 示 无 限 循 环 第 1/86页D、while。)表 示 无 限 循 环)5、c语 言 中 数 组 名 作 为 参 数 传 递 给 函 数,作 为 实 在 参 数 的 数 组 名 被 处 理 为 一 A、该 数 组 的 长 度 B、该 数 组 的 元 素 个 数 C、该 数 组 中 各 元 素 的 值 D、该 数 组
3、的 首 地 址)6、若 变 量 x、y已 正 确 定 义 并 赋 值,以 下 符 合 c语 言 语 法 的 表 达 式 是 oA、+x,y=x一 B、x+l=yC、x=x+10=x+yD、double(x)/10)7、下 列 选 项 中,能 够 正 确 定 义 数 组 的 语 句 是 0A、int num0.2008;B、int num;C、int N=2008;D、define N 2008int numN;int numN)8、以 下 叙 述 中 错 误 的 是 0A、可 以 通 过 typedef增 加 新 的 类 型 B、可 以 用 typedef将 已 存 在 的 类 型 用 一 个
4、 新 的 名 字 来 代 表 C、用 typedef定 义 新 的 类 型 名 后,原 有 类 型 名 仍 有 效 D、用 typedef可 以 为 各 种 类 型 起 别 名,但 不 能 为 变 量 起 别 名)9、/、mod、*等 4个 算 术 运 算 符 中,优 先 级 最 低 的 是。A、B、/C、ModD、*)10、与 实 际 参 数 为 实 型 数 组 名 相 对 应 的 形 式 参 数 不 可 以 定 义 为 oA、float a口;B、float*a;C、float a;D、float(*a)3;第 2/86页)H、若 有 定 义 语 句:char s 口 0=1234567沿
5、 0;则 strlen(s)的 值 是 A、7B、8C、9D、10)12、运 算 符 的 优 先 级 最 高。A、B、+=C、?:D、+)13、以 下 程 序 的 输 出 结 果 是 _-main()(int i,x3 3=9,8,7,6,5,4,3,2,1,*P=&xl 1;for(i=0;i enumC、structD typedef)15、有 以 下 程 序#include mainO(int a=l,b=2;while(a6)b十 二 a;a+=2;b%=10;printf(d,%d n,a,b);程 序 运 行 后 的 输 出 结 果 是 oA、5,11第 3/86页B、7,1C、7
6、,11D、6,1)16、下 列 程 序 段 的 输 出 结 果 为 o int y=l;while(y);printf(/zy=%dnz/,y);A、y=-lB、y=0C、死 循 环 D、y=9)17、设 有 下 面 的 定 义:struct st(int a;float b;d;int*p;要 使 P指 向 结 构 变 量 d中 的 a成 员,正 确 的 赋 值 语 句 是 oA、*p=d.a;B、p=&a;C、p=d.a;D、p=&d a;)18、”现 有 程 序:main。(int*ptr,*p5,i;if(ptr=malloc(100*sizeof(int)!=null)p0=ptr;
7、for(i=l;i5;i+)pi=pi-l+7;for(i=0;i100;i+)*ptr+=i;for(i=0;i5;i+)printf*pi);)其 输 出 结 果 是 JA、1 7 14 27 28B.0 7 14 22 28C、0 7 13 22 28D、0 7 14 21 28)19、若 有 以 下 的 说 明 和 语 句,则 在 执 行 for语 句 后,*(*(pt+l)+2)表 示 的 数 组 元 素 是 第 4/86页int t33,*pt3,k;for(k=0;k 3;k+)pt k=&t k 0;A、t20B、t2 2C、tl2D、t2l()20、下 面 定 义 结 构 变
8、 量 的 语 句 中 错 误 的 是 oA、struct student(int num;char name20;s;B、struct int num;char name20;s;C、struct student int num;char name20;);struct student s;D、struct student int num;char name20;);student s;二、填 空 题(共 10题,每 题 2分,共 计 20分)1、在 C语 言 中,每 个 变 量 都 具 有 存 储 类 别 属 性。存 储 类 别 是 指 数 据 在 内 存 中 存 储 的 方 法。并 且 存
9、 储 方 法 分 为 类。2、开 发 一 个 c程 序 要 经 过 编 辑、编 译、()和 运 行 4个 步 骤、3、设 int a=12,则 表 达 式 a/=a+a运 算 后,a的 值 是 _。4、以 下 程 序 的 输 出 结 果 是 omain()(int x;printf(%dn”,(x=2*4,x+5);)5、执 行 下 列 程 序 段 后,输 出 的 a的 值 是-main()第 5/86页int a=2;switch(a)(case 0:a一;break;case 1:a+;break;case 2:a=a+5;break)printf(%d,a);)6、以 下 程 序 运 行
10、 后 的 输 出 结 果 是 omain()(int i,m=0,n=0,k=0;for(i=9;i=ll;i+)switch(i/10)(case 0:m+;n+;break;case 10:n+;break;default:k+;n+;)printf(,z%d%d m,n,k);)7、c语 言 中 对 文 件 读 写 之 前 必 须 先 打 开 文 件,文 件 的 打 开 是 通 过 调 用 函 数 来 实 现。8、设 有 如 下 宏 定 义#define MYSWAP(z,x,y)x=y;y=z;)以 下 程 序 段 通 过 宏 调 用 实 现 变 量 a、b内 容 交 换,请 填 空。
11、float a=5,b=16,c;MYSWAP(,a,b);9、int x=6,y=7;printf C%d/,x+);printf(/%dn,/,+y);程 序 的 输 出 结 果 是 O10、以 下 程 序 的 输 出 结 果 是 一 一 _。第 6/86页main()(float x;printfC%.4fn,(x=2*4,x+0.5);三、编 程 题(共 3题,每 题 分 值 不 等,共 计 40分)1、编 写 程 序:删 除 一 个 字 符 串 中 的 指 定 字 母,如:字 符 串 aca”,删 除 其 中 的 a 字 母。(本 题 10分)2、编 写 程 序:判 断 一 个 素
12、数 能 被 几 个 9整,比 如:请 输 入 一 个 素 数:13素 数 13能 整 除 6个 9组 成 的 数 999999(本 题 14分)3、输 入 某 班 30位 学 生 的 姓 名 及 数 学、英 语 成 绩,计 算 每 位 学 生 的 平 均 分 然 后 输 出 平 均 分 最 高 的 学 生 的 姓 名 及 其 数 学 和 英 语 成 绩,使 用 结 构 体 实 现.(本 题 16分)第 7/86页【C语 言 程 序 设 计 期 末 精 选 样 卷(一)参 考 答 案】一、单 项 选 择 题 1、A2、B3、A【解 析】本 题 考 查 嵌 套 i f语 句 中 e ls e的 配
13、 对。本 题 中 e ls e和 第 二 个 i f即 i f(b c)配 对。由 于 a b不 成 立,因 此 整 个 程 序 只 输 出 p rintf(%dn,d),即 输 出 2。4、C5、D【解 析】数 组 作 为 函 数 参 数 时,传 入 的 是 该 数 组 的 首 地 址。6、A【解 析】选 项 A)为 C语 言 中 的 逗 号 表 达 式。赋 值 表 达 式 的 左 侧 不 能 是 表 达 式。在 进 行 强 制 类 型 转 换 时,数 据 类 型 两 边 的 圆 括 号 不 能 省 略。7、D8、A9、C【解 析】知 识 点 模 块/VBA编 程 基 础 在 一 个 表 达
14、 式 中 进 行 若 干 操 作 时,每 一 部 分 都 会 按 预 先 确 定 的 顺 序 进 行 计 算 求 解,称 这 个 顺 序 为 运 算 符 的 优 先 顺 序。而 算 术 表 达 式 的 优 先 顺 序 从 高 到 低 分 别 为:指 数 运 算(八)、负 数(-)、乘 法 和 除 法(*、/)、整 数 除 法()、求 模 运 算(Mod)、加 法 和 减 法(+、-)、小 字 符 串 连 接(&)。10、C11、B【解 析】C语 言 中 s t r l e n O 函 数 的 功 能 是 返 回 字 符 串 的 长 度,其 中 0 是 一 个 转 义 字 符,它 占 存 储 空
15、 间,但 不 计 入 串 的 长 度。所 以 选 项 B正 确。12、A13、C14、C15、B16、A【解 析】当 y返 回 0时,w hile语 句 停 止 循 环,此 时 y=T。17、D【解 析】本 题 主 要 考 查 按 结 构 数 组 元 素 方 式 引 用 结 构 成 员。结 构 体 变 量 的 成 员 引 用 方 法 有 3种:结 第 8/86页构 体 变 量 名,成 员 名;指 针 变 量 名 成 员 名;(*指 针 变 量 名).成 员 名。因 为 P是 指 针 变 量,所 以 应 该 将 地 址 值 赋 给 P。18、D19、C20、D二、填 空 题 1、2#两 2、连
16、接 3、04、135、76、1327、fopen#fopen()#fopen()8、c9、6,810、8.5000三、编 程 题 1、#include#include#include/删 除 字 符 串 中 指 定 字 母 函 数 char*deleteCharacters(char*str,char*charSet)(int hash 256;if(NULL 二 二 charSet)return str;for(int i=0;i 256;i+)hashi=0;for(int i=0;i strlen(charSet);i+)hashcharSetEi=1;int currentindex=
17、0;for(int i=0;i strlen(str);i+)(if(!hashstri)strcurrentIndex+=str Ei;第 9/86页strcurrentIndex=0;return str;int main()(char s2=/;/要 删 除 的 字 母 char s25=aca;/目 标 字 符 串 printf(sn,deleteCharacters(s2,s);return 0;)2、#include#includeint main()(int p,i;long int sum=9;printf(请 输 入 一 个 素 数:n);scanf(96d,&p);for(
18、i=l;i+)if(sum%p=0)break;else sum=sum*10+9;printf(素 数%d能 整 除 刎 个 9组 成 的 数 961dn,p,i,sum);return 0;)3、#includeSdefine SIZE 50struct student(char name10;int math,eng;float aver;);int main()(struct student stuSIZE;int i,maxstd=0;for(i=0;iSIZE;i+)(scanf(z,%s%d%d,z,stui.name,&stui.math,&stui.eng);stui.ave
19、r=(stui.eng+stui.math)/2.0;for(i=l;istumaxstd.aver)maxstd=i;第 10/86页printf(,z%10s%3d%3dnz,,stumaxstd.name,stumaxstd.math,stumaxstd.eng);第 11/86页海 南 医 学 院 C语 言 程 序 设 计 期 末 精 选 样 卷(二)总 分:【100分】考 试 时 间:【90分 钟】一、单 项 选 择 题(共 20题,每 题 2分,共 计 40分)()1、关 于 二 进 制 的 说 法 中,正 确 的 是。A、所 有 的 信 息 只 能 用 二 进 制 代 码 来 表
20、 示 B、计 算 机 一 般 都 使 用 二 进 制 代 码,用 它 的 某 种 信 息 编 码 方 式 来 表 示 信 息 C、ASCH是 计 算 机 用 来 表 示 文 字 符 号 的 唯 一 一 种 二 进 制 代 码 D、汉 字 在 计 算 机 内 使 用 汉 字 国 标 码 来 表 示,不 使 用 二 进 制 编 码()2、表 达 式,0 xl3&0 xl7的 值 是 oA、0 x17B、0 x13C、0 xf8D、Oxec()3、下 列 说 法 中 不 正 确 的 是 0A、switch语 句 功 能 可 以 由 if-else语 句 实 现 B、若 用 于 比 较 的 数 据 类
21、 型 为 double,则 不 能 用 switch语 句 来 实 现 C、if-else语 句 的 执 行 效 率 总 是 比 switch语 句 高 D、case子 句 可 以 有 多 个 语 句,并 且 不 需 要 用 大 括 号”括 起 来()4、c语 言 中 下 列 叙 述 正 确 的 是 _ A、不 能 使 用 do.while语 句 构 成 的 循 环 B、do.while语 句 构 成 的 循 环,必 须 用 break语 句 才 能 退 出 C、do.while语 句 构 成 的 循 环,当 while语 句 中 的 表 达 式 值 为 非 零 时 结 束 循 环 D、do.
22、while语 句 构 成 的 循 环,当 while语 句 中 的 表 达 式 值 为 零 时 结 束 循 环()5、有 以 下 程 序 void fun(char*D)(+P;printf(%s,*p);mainO第 12/86页char*a=Mornin9,Afternoonw,Evening,Night”;fun(a):)程 序 的 运 行 结 果 是。A、AfternoonB、fternoonC、MorningD orning)6、下 面 单 位 换 算 中,正 确 的 是 oA、1KB=1024X1024BB、1KB=1O24MBC、1MB=1O24X1O24BD、1GB=1024B
23、)7、执 行 下 面 的 程 序 段 后,变 量 k的 值 为 o int k=3,s2;s0=k;k=sl*10;A、不 定 值 B、33C、30D、10)8、调 试 程 序 是 指 对 程 序 进 行 A、编 辑 B、编 译 C、查 错 和 排 错 D、连 接)9、下 列 字 符 串 中 可 以 用 作 c标 识 符 的 是 oA、2009varB、gotoC、test-2009D、-123)10、下 列 描 述 中,正 确 的 一 条 是 oA、关 系 表 达 式 的 值 是 一 个 逻 辑 值,即“真”或“假”,可 以 赋 给 一 个 逻 辑 变 量 B、在 C语 言 中,判 断 一
24、个 量 是 否 为:真”时,以 0代 表“假”,以 1代 表“真”.C、设 a=3、b=4、c=5,则 表 达 式!(x=&(y=&0的 值 为 0第 13/86页D、一 个 数 组 的 各 个 数 组 元 素 可 属 于 不 同 的 数 据 类 型)11、以 下 程 序 有 语 法 错 误,有 关 错 误 原 因 的 正 确 说 法 是 main()(int g=5,k;void prt_char();k=prt_char(g);)A、语 句 void prt_char();有 错,它 是 函 数 调 用 语 句,不 能 用 void说 明 B、变 量 名 不 能 使 用 大 写 字 母 C
25、、函 数 说 明 和 函 数 调 用 语 句 之 间 有 矛 盾 D、函 数 名 不 能 使 用 下 划 线)12、下 列 关 于 表 达 式 的 描 述 中,错 误 的 是 oA、常 量 和 变 量 都 是 表 达 式 B、运 算 符 类 型 对 应 表 达 式 的 类 型 C、每 一 个 表 达 式 都 有 自 己 的 值 D、表 达 式 必 须 以 分 号 结 尾)13、是 构 成 c语 言 程 序 的 基 本 单 位。A、函 数 B、过 程 C、子 程 序 D、子 例 程)14、设 有 如 下 定 义:struct sk(int a;float b;)data,*p;若 有 p=&da
26、ta;则 对 data中 成 员 a的 引 用 正 确 的 是。A、(*p).data.aB、(*p).aC、p-data.a第 14/86页D、p.data,a)15、下 列 程 序 的 输 出 结 果 是。main()(char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf*一 p);A、非 法 B、a4的 地 址 C、5D、3)16、以 下 叙 述 中 正 确 的 是 oA、while循 环 的 循 环 体 至 少 执 行 1 次 B、while循 环 的 循 环 控 制 条 件 比 do-while循 环 的 循 环 控 制 条 件 复 杂 C、do-wh
27、ile循 环 体 不 能 是 复 合 语 句 D、do-whil循 环 的 循 环 体 至 少 执 行 1 次)17、有 以 下 程 序 ttinclude struct tt(int x;struct tt*y;)*p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main()(int i;p=a;for(i=l;ix);p=p-y;)程 序 的 运 行 结 果 是 oA、20,30,B、30,17第 15/86页C、15,30,D、20,15)18、有 以 下 程 序:void fun2(char a,char b)(printf(%c%c”,a,b);ch
28、ar a-a,b=,b,;void funl()(,a=c;b=,d;)mainO(funl();printf(c%c,a,b);fun2 C e,f);)程 序 的 运 行 结 果 是。A、CDEFB、ABEFC、ABCDD、CDAB)19、在 下 面 的 字 符 数 组 定 义 中,哪 一 个 有 语 法 错 误。A、char a20=abcdefg”;B、char a=x+y=55.”;C、chara15;D、char a10=5;)20、设 有 结 构 体 的 定 义 如 下:struct data(char cl;char c2;)则 sizeof(struct data)的 值 是
29、。A、2B、3第 16/86页C、4D、5二、填 空 题(共 10题,每 题 2分,共 计 20分)1、若 有 int a3=l,2,3;则*(a+D+l=_。2、在 C语 言 的 表 达 式 中,x=x+5用 复 合 运 算 符 可 以 写 成。3、表 达 式 2.8+3/4=。4、共 用 体 类 型 变 量 的 定 义 关 键 字 是。5、下 列 程 序 段 的 运 行 结 果 是 omain()(int n,s=0;for(n=l;n=6;n+)(if(n%3-0)continue;s=s+n;)printf(%dn,s);)6、写 出 下 列 程 序 的 运 行 结 果。main()(
30、int n;for(n=3;n=10;n+)(if(n%6=0)break;p r i n t f n);)7、一 个 c语 言 源 程 序 由 若 干 函 数 组 成,其 中 至 少 应 含 有 一 个()8、在 c 语 言 中,一 个 函 数 一 般 由 两 个 部 分 组 成,它 们 是 1】和【2】。9、下 面 程 序 的 运 行 结 果 是 omain()(int i,f10;fO=f=1;for(i=2;i10;i+)fi=fi-2+fi-l;for(i=0;i10;i+)第 17/86页if(i%4=0)printf(n);printf(%3d,fi);10、下 列 程 序 段
31、的 运 行 结 果 是 main()(int m=l,t=l;for(;)(m=m+t;t+;if(m9)break;)printf(%dn”,m);三、编 程 题(共 3题,每 题 分 值 不 等,共 计 40分)1、编 写 程 序,使 用 循 环 结 构 输 出 下 列 图 形:(本 题 10分)2、将 一 个 正 整 数 分 解 质 因 数。例 如:输 入 90,打 印 出 90=2*3*3*5。(本 题 14分)3、计 算 n名 学 成 绩 的 平 均 分 并 通 过 函 数 返 回。要 求:结 构 体 代 码 如 下:struct StudentScoredouble score;)
32、;(本 题 16分)第 18/86页【C语 言 程 序 设 计 期 末 精 选 样 卷(二)参 考 答 案】一、单 项 选 择 题 1、B【解 析】计 算 机 不 只 是 能 用 二 进 制,还 有 八 进 制、十 进 制、十 六 进 制。2、B3、C【解 析】并 不 是 所 有 的 if-else语 句 的 执 行 效 率 都 高 于 switch语 句,在 一 些 特 定 的 情 况 下,switch语 句 可 以 比 较 简 炼,同 时 容 易 阅 读,因 此,选 项 C的 描 述 是 错 误 的。4、D【解 析】选 项 A是 错 误 的,C语 言 支 持 dowhile语 句;选 项
33、B是 错 误 的,dowhile构 成 的 循 环,当 while语 句 中 的 表 达 式 值 为 零 时 结 束 循 环,而 不 是 非 零;选 项 C也 是 错 误 的。5、A6、C【解 析】存 储 器 容 量 常 用 的 单 位 有 KB、MB、GB、TB,换 算 关 系 如 下:1TB=1O24GB=1024X 1024MB=1024X 1024X 1024KB=1024X 1024X 1024X 1024B7、A【解 析】解 本 题 考 核 数 组 元 素 的 初 值 及 其 引 用。若 数 组 为 auto型,且 没 有 进 行 初 始 化,其 元 素 的 值 为 不 确 定。本
34、 程 序 中,虽 然 给 s0赋 了 一 个 初 值,但 sl的 值 依 旧 是 不 确 定 的,所 以 执 行 语 句 k=sl*10”后,k的 值 也 不 确 定 的。8、C9、D【解 析】在 C中,变 量 标 识 符 必 须 以 大 小 写 字 母 或 下 画 线 开 始,是 由 数 字 或 者 字 母 下 画 线 等 组 成 的 一 个 字 符 串,其 中 C+关 键 字 不 能 作 为 标 识 符,不 能 包 含-、+、*、/等 运 算 符 号。C+变 量 区 分 大 小 写。10、D11 C【解 析】在 C语 言 中,对 于 返 回 值 是 其 他 类 型 的 函 数,若 把 函
35、数 定 义 放 在 调 用 之 后,应 该 在 调 用 之 前 对 函 数 进 行 说 明,或 称 为 函 数 原 型 说 明。函 数 说 明 句 中 的 类 型 必 须 与 函 数 返 回 类 型 一 致,函 数 说 明 可 以 是 一 条 独 立 的 语 句,也 可 以 与 普 通 变 量 一 起 出 现 在 同 一 个 语 句 中。对 于 函 数 值 为 整 型 的 函 数 的 说 明,prt_char中 定 义 时 是 void类 型,那 天 返 回 值 与 k=prt_char();矛 盾。所 以 本 题 的 错 误 之 处 在 于“函 数 说 明 和 函 数 调 用 语 句 之 间
36、 有 矛 盾。”12、D【解 析】语 句 必 须 以 分 号 结 尾,表 达 式 不 是 必 须 以 分 号 结 尾,表 达 可 以 嵌 套。13、A第 19/86页14、B【解 析】p是 指 向 结 构 体 的 指 针,用 指 针 引 用 结 构 体 成 员 有 两 种 格 式:p-成 员、(*p).成 员 15、C16、D【解 析】do-whilewhile-w-和 的 主 要 区 别 在 于 do-不 进 行 条 件 判 断,先 进 入 循 环 体 执 行 一 遍 再 判 断 是 否 可 以 继 续 循 环,而 while则 是 先 进 行 条 件 判 断 再 决 定 是 否 进 入 循
37、 环 体 执 行。do while循 环 的 循 环 体 至 少 执 行 1 次。本 题 答 案 为 D选 项。17、D18、A19、D【解 析】考 点 分 析 考 查 声 明 数 组 的 语 法 格 式。选 项 D的 定 义 右 语 法 错 误。赋 值 号 右 边 的 字 符 应 该 是 用 双 引 号 括 起 来。20、A二、填 空 题 1、32、x+=53、2.8 4、union5、126、3 4 57、主 函 数(或 main函 数)。8、1 函 数 声 明【2】函 数 体 9、参 考 答 案:1 1 2 35 8 13 2134 5510、11三、编 程 题 1、*#includev
38、oid main()int i,j,k;第 20/86页for(i=0;i5;i+)(for(j=0;j4-i;j+)printf(z,);for(k=0;kk,但 n能 被 k整 除,则 应 打 印 出 k的 值,并 用 n除 以 k的 商,作 为 新 的 正 整 数 你 n,重 复 执 行 第 一 步。如 果 n不 能 被 k整 除,则 用 k+1作 为 k的 值,重 复 执 行 第 一 步。程 序 源 代 码:main()(int n,i;printf(,znplease input a number:nz,);scanf(%d,&n);printf(/d=,n);for(i=2;i=n
39、;i+)(while(n!=i)(if(n%i=0)printf(d*,i);n二 n/i;)elsebreak;)printf(%d,n);)3 double Fun(struct StudentScore*a,int n)int i;double sum=0.0;for(i=0;in;i+)(sum+=ai.score;return sum/n;第 21/86页)int main()struct StudentScore a100;int n;学 数 量 int i;printf(请 输 学 数 量:”);s c a n f&n);for(i=0;in;i+)printf(请 输 第%d个
40、 学 的 成 绩:,i+1);scanf&ai.score);)printf(级 If”,Fun(a,n);return 0;)请 输 学 数 量:3请 输 第 1个 学 的 成 绩:90请 输 第 2个 学 的 成 绩:100.0请 输 第 3个 学 的 成 绩:8090,000000第 22/86页海 南 医 学 院 C语 言 程 序 设 计 期 末 精 选 样 卷(三)总 分:【100分】考 试 时 间:【90分 钟】一、单 项 选 择 题(共 20题,每 题 2分,共 计 40分)()1、指 针 变 量 p进 行 自 加 运 算(即 执 行 P+;)后,地 址 偏 移 值 为 4,则
41、其 数 据 类 型 为 oA、intB、floatC doubleD、char()2、以 下 说 法 中 正 确 的 是 oA、define和 printf都 是 C语 句 B、#define是 C语 句,而 printf不 是。C、printf是 C语 句,但#define不 是 0D、ttdefine和 printf都 不 是 C语 句()3、设 变 量 x和 y均 已 正 确 定 义 并 赋 值。以 下 if语 句 中,在 编 译 时 将 产 生 错 误 信 息 的 是 一 A、if(x+);B、if(xy&y!=0);C、if(x0)x-else y+;D、if(y0);else x+
42、;()4、语 句 for(k=0;k 5;+k)(if(k=3)continue;printf(,z%d,z,k);)的 输 出 结 果 为 A、012B、0124C、01234D、没 有 输 出 结 果()5、以 下 叙 述 中 错 误 的 是 _ oA 的 将 的 余 然 1/古 布 葡 1、1伴 同 处 由 的 才 余 第 23/86页n 3|外 人 7 勿 UY LS.LLS MJ 匕 人 I?曰 R 八:J ATLUY 六 少 B、函 数 调 用 可 以 作 为 一 个 独 立 的 语 句 存 在 C、若 函 数 有 返 回 值,必 须 通 过 return语 句 返 回 D、C程
43、序 必 须 由 一 个 或 一 个 以 上 的 函 数 组 成)6、设 向 量 i+2j+3k与 2i+mj+6k垂 且,则 m=()A、4B、-4C、10D、-10)7、以 下 不 能 对 二 维 数 组 a进 行 正 确 初 始 化 的 语 句 是。A、int a23=0;B、int a 3=1,2(0);C、int a23=l,2,3,4,5,6;D、int a 3=1,2,3,4,5,6)8、如 果 逻 辑 与(and)运 算 的 结 果 为 真,与 它 所 连 接 的 两 个 条 件 必 须 是 A、前 一 个 为“真”,后 一 个 为“假”B、前 一 个 为“假”,后 一 个 也
44、为“假”C、前 一 个 为 真,后 一 个 也 为 真 D、前 一 个 为 假,后 一 个 为 真)9、设 char*s=ta017bc”;则 指 针 变 量 s指 向 的 字 符 串 所 占 的 字 节 数 是。A、9B、5C、6D、7)10 有 语 句 char strl10,str210=china;则 能 将 字 符 串 china赋 给 数 组 strl的 正 确 语 句 是。A、strl=china;B、strcpy(strl,str2);C、strl=str2;D、strcpy(str2,strl);)11、以 下 叙 述 中 正 确 的 是 oA、C语 言 的 源 程 序 不
45、必 通 过 编 译 就 可 以 直 接 运 行 第 24/86页B、C语 言 中 的 每 条 可 执 行 语 句 最 终 都 将 被 转 换 成 二 进 制 的 机 器 指 令 C、C源 程 序 经 编 译 形 成 的 二 进 制 代 码 可 以 直 接 运 行 D、C语 言 中 的 函 数 不 可 以 单 独 进 行 编 译)12、以 下 选 项 中,当 x为 大 于 1的 奇 数 时,值 为 0的 表 达 式 是。A、x%2=lB、x/2C、x%2!=0D、x%2=0)13、在 c语 言 中,调 用 函 数 除 函 数 名 外,还 必 须 有 oA、函 数 预 说 明 B、实 际 参 数
46、C、()D、函 数 返 回 值)14、以 下 对 c 语 言 中 共 用 体 类 型 数 据 的 叙 述 正 确 的 是 oA、可 以 对 共 用 体 变 量 名 直 接 赋 值 B、一 个 共 用 体 变 量 中 可 以 同 时 存 放 其 所 有 成 员 C、一 个 共 用 体 变 量 中 不 可 以 同 时 存 放 其 所 有 成 员 D、共 用 体 类 型 定 义 中 不 能 出 现 结 构 体 类 型 的 成 员)15、有 以 下 程 序 main()int i,j,m=55;for(i=l;i3;i+)for(j=3;j=+)m=m%j;printf(%dn,m);)程 序 的 运
47、 行 结 果 是 OA、0B、1C、2D、3)16、有 以 下 程 序:main()int s=0.n;for(n=0;n 3;n+)第 25/86页switch(s)case 0;easel:s+=l;case 2:s+=2;break;case 3:s+=3;default:s+=4;printf(%d,s);)程 序 运 行 后 的 输 出 结 果 是 OA、1,2,4,B、1,3,6,C、3,10,14,D、3,6,10,)17、以 下 关 于 c语 言 数 据 类 型 使 用 的 叙 述 中 错 误 的 是 oA、若 要 准 确 无 误 差 地 表 示 自 然 数,应 使 用 整 数
48、 类 型 B、若 要 保 存 带 权 多 位 小 数 的 数 据,应 使 用 双 精 度 类 型 C、若 要 处 理 如“人 员 信 息”等 含 有 不 同 类 型 的 相 关 数 据,应 自 定 义 结 构 体 类 型 D、若 只 处 理“真”和“假”两 种 逻 辑 值,应 使 用 逻 辑 类 型)1 8、下 列 程 序 段 运 行 后 从 键 盘 输 入 一 个 大 写 字 母 q,输 出 结 果 是 char ch;ch=getchar();ch=ch-a+a;putchar(ch);A、QB、qC、AD、a)19、要 定 义 整 型 数 组 x,使 之 包 括 初 值 为 0的 三 个
49、 元 素,下 列 语 句 中 错 误 的 是 oA、int x3=0,0,0;B、int x=0;C、static int x3=0;D、int x=)20、有 以 下 定 义 和 语 句:struct students int num;char name20;第 26/86页char c;struct int grade1;int grade2;s;);struct students w,*pw;*pw=w;下 列 赋 值 语 句 不 正 确 的 是 OA num=1002;B、w.grade1=85;C、pw-num=1002;D w.s.grade2=85;二、填 空 题(共 10题,每
50、 题 2分,共 计 20分)1、C语 言 标 识 符 的 第 一 个 字 符 必 须 为 下 划 线 或 者 O2、双 精 度 型 数 据 有 效 位 为 位 3、设 y为 int型 变 量,请 写 出 描 述“y是 奇 数”的 表 达 式 _。4、已 知 char str=happy!”,则 strlen(str)的 值 为。5、if语 句 与 语 句 一 起 可 以 构 成 循 环 结 构。6、有 以 下 程 序#include main()(char a=)a,,,b,,,c,,,d,,,e,,,F,,0,;int j;j=strlen(a);printf(%drT,j);程 序 运 行