2021年内蒙古某大学C语言程序设计样卷(十二套试卷)及答案.pdf
C语 言 程 序 设 计 精 选 样 卷(一)得 分 评 卷 人 一、单 项 选 择 题(共 20题,每 题 2分,共 计 40分)()1、在 以 下 给 出 的 表 达 式 中,与 while()中 的 不 等 价 的 表 达 式 是 A、(!E=0)B、(E0|E0)if(a3)c=2;else c=3;else c=4;A、1B、2C、3D、4()4、定 义 如 下 变 量:int n=10;则 下 列 循 环 的 输 出 结 果 是 Owhile(n7)(n;printf(,%d,n);)A、1098B、987C、10987D、9876Il 去 担 洱 6 6 旦 第 1/132页A、实 参 数 可 以 与 形 参 个 数 不 一 致。B、C程 序 中,函 数 可 以 直 接 或 间 接 地 调 用 自 己。C、函 数 调 用 时,函 数 名 必 须 与 所 调 用 的 函 数 名 字 完 全 一 致 D、函 数 声 明 语 句 中 的 类 型 必 须 与 函 数 返 回 值 得 类 型 一 致。)6、语 句 while(!e);中 的 条 件!e等 价 于。A、e=0B、e!=lC、e!=0D、e)7、下 列 选 项 中 合 法 的 数 组 定 义 是 oA、int a=string”;B、int a5=0,1,2,3,4,5;C、char a=sting”;D、char a口=0,1,2,3,4)8、不 合 法 的 字 符 常 量 是 oA、t,B、“A”C、a,D、x32,)9、下 列 关 于 boolean类 型 的 叙 述 中,正 确 的 是.A、可 以 将 boolean类 型 的 数 值 转 换 为 int类 型 的 数 值 B、可 以 将 boolean类 型 的 数 值 转 换 为 字 符 串 C、可 以 将 boolean类 型 的 数 值 转 换 为 char类 型 的 数 值 D、不 能 将 boolean类 型 的 数 值 转 换 为 其 他 基 本 数 据 类 型)10、合 法 的 数 组 定 义 是.A、int a6=string;B、int a5=0,1,2,3,4,5;C、char a=string;D、char a=0,1,2,3,4,5;)11、设 有 以 下 语 句:char strl=string,str28,*str3,*str4=string”;则 下 列 选 项 第 2/132页中,不 是 对 库 函 数 strcpy的 正 确 调 用,此 库 函 数 用 来 复 制 字 符 串。A、strcpy(strl,“HELL01);B、strcpy(str2,“HELL02);C、strcpy(str3,“HELL03);D、strcpy(str4,“HELL04);()12、若 变 量 均 已 正 确 定 义 并 赋 值,以 下 合 法 的 c语 言 赋 值 语 句 是 oA、x=n/2.5;B、x=5;C、x+n=I;D、5=x=4+l;()13、语 句 int(*ptr)();的 含 义 是 oA、ptr是 指 向 一 维 数 组 的 指 针 变 量 B、ptr是 指 向 int型 数 据 的 指 针 变 量 C、ptr是 指 向 函 数 的 指 针,该 函 数 返 回 一 个 int型 数 据 D、ptr是 一 个 函 数 名,该 函 数 的 返 回 值 是 指 向 int型 数 据 的 指 针()1 4、有 如 下 定 义 struct person(char name9;int age;)struct person classElO=john,17,paul,19,mary,18,adam,16;根 据 上 述 定 义,能 输 出 字 母 a的 语 句 是 oA、printf(%cn,class3.name);B、p r i n t f c l a s s 3.name0);C、printf(%cn,class4.namel);D、printf(%cn,class4.name0);()15、下 面 程 序 的 输 出 结 果 是。main()(int num=0;while(num=2)num+;printf(%dn,num);第 3/132页)A、1234B、123C、12D、1()16、设 有 以 下 程 序 段:int k=0;while(k=l)k-;则 以 下 叙 述 中 正 确 的 是 oA、while循 环 执 行 一 次 B、该 循 环 是 无 限 循 环 C、循 环 体 语 句 一 次 也 不 执 行 D、该 循 环 有 语 法 错 误()1 7、以 下 scanf函 数 调 用 语 句 中 不 正 确 的 是 struct pupil(char name20;int age;int sex;)pup 5,*p=pup;A、s c a n f p u p 0.name);B、scanf(%d”,&pup01.age);C、scanf(d”,p-age);D、scanf(%d”,&(p-sex);()18、以 下 程 序 的 正 确 运 行 结 果 是.main()(int k=4,m=l,p;p=func(k,m);p r i n t f p);p=func(k,m);printf(%dn,p);第 4/132页)func(int a,int b)static int m=0,i=2;i+=m+l;m=i+a+b;return(m);)A、8,16B、8,17C、8,20D、8,8()19、设 int a10,*p=a;数 组 元 素 a4的 正 确 引 用 是 A、*(p+4)B、p+4C、*p+4D a+4()20、以 下 对 结 构 体 类 型 变 量 的 定 义 中,不 正 确 的 是 oA、typedef struct aa int n;float m;AA;AA tdl;B N ttdefine AA struct aa AAint n;float m;tdl;C、struct int n;float m;aa;struct aa tdl;D、struct int n;float m,tdl;得 分 评 卷 人 第 5/132页得 分 评 卷 人 二、填 空 题(共 10题,每 题 2分,共 计 20分)1、int x=l,y=l,z=l;x+=y+=z;则 表 达 式 xy?y:x的 值 为。2、若 有 语 句 double x=17;int y;,当 执 行 y=(int)(x/5)%2;之 后 y的 值 是。3、c语 言 的 标 识 符 只 能 由 大 小 写 字 母,数 字 和 下 划 线 三 种 字 符 组 成,而 且 第 一 个 字 符 必 须 为 _ O4、c语 言 的 预 处 理 语 句 以 开 头。5、下 列 程 序 段 的 运 行 结 果 是 omain()(int n,s=0;for(n=l;nl)return a0+f(&al,n-1);else return a0;)main()(int aa3=l,2,3,s;s=f(&aa0,3);printf(%dn,s);)7、在 c语 言 中,格 式 输 入 库 函 数 为,格 式 输 出 库 函 数 为。8、设 有 如 下 的 类 型 说 明:int a10=l,2,3,4,5,6,7,8,9,10),*p=a;*(p+5)=o9、以 下 函 数 fun的 功 能 是 返 回 str所 指 字 符 串 中 以 形 参 c中 字 符 开 头 的 后 续 字 符 串 的 首 地 址,例 如:str所 指 字 符 串 为:hello!,c中 的 字 符 为 e,则 函 数 返 回 字 符 串:ello!的 首 地 址。若 str所 指 字 符 串 为 空 串 或 不 包 含 c中 的 字 符,则 函 数 返 回 null。请 填 空。char*fun(char*str,char c)(int n=0;char*p=str;if(p!=null)while(p n!=c&p n!=,0r)n+;第 6/132页if(p n=0)return null;return();)10、以 下 程 序 运 行 后 的 输 出 结 果 是 ttinclude main()(int a=l,b=7;do(b=b/2;a+=b;while(bl);printf(%dn”,a);得 分 评 卷 人 三、编 程 题(共 3题,每 题 分 值 不 等,共 计 40分)1、编 程 将 1.100间 能 被 2、3、5分 别 整 除 的 数 的 和 求 出 来 并 输 出。注 意,在 判 断 时 要 按 照 2、3、5的 先 后 次 序 来 确 定 优 先 顺 序,如 6既 能 被 2整 除,又 能 被 3整 除,则 只 算 到 能 被 2整 除 的 这 种 情 况 里。(本 题 10分)2、编 写 程 序:从 键 盘 上 输 入 一 个 百 分 制 成 绩 score,按 下 列 原 则 输 出 其 等 级:score 9 0,等 级 为 A;80scoreV90,等 级 为 B;70WscoreV80,等 级 为 C;60WscoreV70,等 级 为 D;score 6 0,等 级 为 E。(本 题 14分)3、有 一 包 含 职 工 编 号、年 龄 和 性 别 的 单 向 链 表,分 别 使 用 函 数 完 成 以 下 功 能 建 立 链 表。分 别 统 计 男 女 职 工 的 人 数。在 链 表 尾 部 插 入 新 职 工。删 除 指 定 编 号 的 职 工。删 除 60岁 以 上 的 男 职 工 和 55岁 以 上 的 女 职 工 被 删 除 的 结 点 保 存 到 另 一 个 链 表 中。在 主 函 数 中 设 计 简 单 的 菜 单 去 调 用 上 述 函 数。(本 题 16分)第 7/132页【C语 言 程 序 设 计 精 选 样 卷(一)参 考 答 案】一、单 项 选 择 题 1、c2、B【解 析】在 进 行 参 数 传 递 时,引 用 参 数 是 利 用 形 参 直 接 访 问 实 参,形 参 的 变 化 直 接 影 响 实 参 的 变 化,而 传 值 参 数 不 会 影 响 实 参 变 量。3、C【解 析】此 题 主 要 考 查 if-else的 使 用,当 if语 句 中 的 条 件 为 真 时 执 行 后 的 语 句,并 跳 过 else执 行 下 面 的 语 句;当 条 件 为 假 时 执 行 else后 的 语 句。4、A5、A6、A7、A8、B9、D10、D11、C12、A13、C14、B15、C16、B【解 析】请 仔 细 阅 读 交 规 难 度:简 单 17、C18、B19、A20、C二、填 空 题 1、32、13、字 母 或 下 划 线 第 8/132页4、1#号,5、96、67、xaO scanfxaO,xaO printfxaO,8、_ 6 _9、9p+rf10、5三、编 程 题 1、include void main()int i,s2=0,s3=0,s5=0;for(i=l;i=100;i+)if(i%2=0)s2+=i;elseif(i%3=0)s3+=i;elseif(i%5=0)s5+=i;printf(nl-100中 能 被 2、3、5分 别 整 除 的 数 的 和 分 别 为:%d)2、ttinclude void main()int data;char grade;printf(Please enter the score:);scanf(/z%dw,fedata);switch(data/10)(case 10:case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;default:grade=E;)printf(the grade is%cw,grade);)%dn”,s2,s3,s5);3、#include第 9/132页#includestruct nodelong No;int age;char sex;struct node*next;);node*establish()(struct node*h,*p,*q;long num;h=(struct node*)malloc(sizeof(struct node);P=q=h;printf(请 输 入 职 工 编 号(输 入 0退 出 输 入)!n);scanf&num);while(num!=0)(p=(struct node*)malloc(sizeof(struct node);p-No=num;printf(请 输 入 职 工 年 龄 和 性 别 n);scanf(%d,%c”,&p-age,&p-sex);q-next=p;q二 P;printf(请 输 入 职 工 编 号(输 入 0退 出 输 入)!n);s c a n f&n u m);)p-next=NULL;return h;)void count(node*phead)(int m=0,f=0;struct node*p;p=phead-next;while(p!=NULL)(if(p-sex=,M|p-sex=,m?)m+;else f+;p=p-next;printf(男 职 工 的 人 数 为:dn女 职 工 的 人 数 为:dn,m,f);)void addnew(node*phead)第 10/132页struct node*p,*q;printf(”请 输 入 新 职 工 编 号 年 龄 和 性 别!n);p=(struct node*)malloc(sizeof(struct node);s c a n f%d,%c”,&p-No,&p-age,&p-sex);q=phead-next;while(q-next!=NULL)q=q-next;q-next=p;p-next=NULL;void del(struct node*phead,long num)(struct node*p,*q;if(phead-next=NULL)(printf(Listisnull.n);return;)p=phead-next;q=phead;while(p!=NULL&p-No!=num)(q=P;p=p-next;if(p=NULL)return;if(q!=NULL)p=q-next;q-next=p-next;free(p);)node*delToOther(node*phead)(struct node*h,*p,*q,*r;h=(struct node*)malloc(sizeof(struct node);q=phead;p=phead-next;r=h;while(p!=NULL)(if(p-sex=,|p-sex=,m,)&p-age=60)|(p-sex=,F*|p-sex=,f*)&p-age=55)第 11/132页q-next=p-next;r-next=p;r=P;r-next=NULL;p=p-next;)else(q=P;p=p-next;)return h;)int main()(char ch;long num;struct node*phead,*prest;printfCl.创 建 链 表.n2.统 计 男 女 职 工 人 数.n3.添 加 新 员 工.n4.删 除 指 定 编 号 的 职 工.n5.删 除 60岁 以 上 的 男 员 工 和 55岁 以 上 的 女 员 工.nEnter your choice:12345);scanf(%d”,&ch);while(ch!=0)(switch(ch)(case 1:phead=establish();break;case 2:count(prest);break;case 3:addnew(phead);break;case 4:printf(请 输 入 要 删 除 的 员 工 的 编 号:n);scanf&num);del(phead,num);break;case 5:prest=delToOther(phead);break;default:break;)printfCnl.创 建 链 表.n2.统 计 男 女 职 工 人 数.n3.添 加 新 员 工.n4.删 除 指 定 编 号 的 职 工.n5.删 除 60岁 以 上 的 男 员 工 和 55岁 以 上 的 女 员 工.nEnter your choice:12345!);s c a n f&c h);)第 12/132页C语 言 程 序 设 计 精 选 样 卷(二)得 分 评 卷 人 一、单 项 选 择 题(共 20题,每 题 2分,共 计 40分)()1、以 下 C语 言 用 户 标 识 符 中,不 合 法 的 是 OA、_1B、AaBcC a bD、a一 b()2、设 有 如 下 定 义:struck sk(int a;float b;data;int*p;若 要 使 P 指 向 data中 的 a 域,正 确 的 赋 值 语 句 是 A、p=&a;B、p=data.a;C、p=&data.a;D、*p=data.a;()3、在 c语 言 中,if语 句 后 的 一 对 原 括 号 中,用 以 决 定 分 支 的 流 程 的 表 达 式 A、只 能 用 逻 辑 表 达 式 B、只 能 用 关 系 表 达 式 C、只 能 用 逻 辑 表 达 式 或 关 系 表 达 式 D、可 用 任 意 表 达 式()4、c语 言 中 while和 do-while循 环 的 主 要 区 别 是。A、do-while的 循 环 体 至 少 无 条 件 执 行 一 次 B、while的 循 环 控 制 条 件 比 do-while的 循 环 控 制 条 件 严 格 C、do-while允 许 从 外 部 转 到 循 环 体 内 D、do-while的 循 环 体 不 能 是 复 合 语 句()5、要 定 义 整 型 数 组 x,使 之 包 括 初 值 为 0的 三 个 元 素,下 列 语 句 中 错 误 的 是 A、int x3=0,0,0;B、int x=0;第 13/132页C、static int x3=0;D、int x=()6、下 列 程 序 段 的 输 出 结 果 为.float x=213.82631;printf(线 3d”,(int)x);A、213.82B、213.83C、213D、3.8()7、若 有 以 下 定 义 和 语 句:int w23,(*pw)3:pw=w;则 对 w 数 组 元 素 非 法 引 用 是 _oA、*(w0+2)B、*(pw+1)2C、pw00D、*(pwl+2)()8、若 变 量 均 已 正 确 定 义 并 赋 值,以 下 合 法 的 c语 言 赋 值 语 句 是 oA、x=y=5;B、X=n%2.5:C、x+n=i;D、x=5=4+l:()9、下 列 关 于 串 的 叙 述 中,哪 一 条 是 正 确 的()A、串 是 由 至 少 1个 字 符 组 成 的 有 限 序 列 B、串 中 字 符 的 数 目 就 是 串 的 长 度 C、空 串 就 是 由 空 格 构 成 的 串 D、串 只 能 顺 序 存 储()1 0、有 数 组:char a=*this is an egg”;。请 问 该 数 组 到 底 占 了 几 个 字 节?A、11B、12C、14D、15()1 1、设 有 语 句:printf(%2dn”,2010);,则 以 下 叙 述 正 确 的 是。A、程 序 运 行 时 输 出 20B、程 序 运 行 时 输 出 10第 14/132页C、程 序 运 行 时 输 出 2010D、指 定 的 输 出 宽 度 不 够,编 译 出 错()1 2、先 用 语 句 定 义 字 符 型 变 量 c,然 后 要 将 字 符 a赋 给 c,则 下 列 语 句 中 正 确 的 是 oA、c-a;B c=a;C、c=97;D、C=97()13、若 二 维 数 组 a有 m列,则 计 算 任 一 元 素 在 数 组 中 相 对 位 置 的 公 式 为(假 设 a0 0位 于 数 组 的 第 一 个 位 置 上)。A、i*m+jB、j*m+IC、i*m+j-lD、i*m+j+l()14、设 有 如 下 枚 举 类 型 定 义:enum language(basic=3,assembly,ada=100,cobol,fortran);枚 举 量 fortran的 值 为。A、4B、7C、102D、103()15、阅 读 下 面 的 程 序#includemainO(char cl,c2;cl=getchar():c2=cl+3;printf(*%c,%dn*,c2,c2);已 知 a的 ascii的 值 为 65,如 果 从 键 盘 上 输 入 d V 回 车 则 程 序 的 运 行 结 果 是。A、D,68B、G,68C、D,71D、G.71第 15/132页)16、在 下 列 叙 述 中,正 确 的 一 条 是 A、if(表 达 式)语 句 中,表 达 式 的 类 型 只 限 于 逻 辑 表 达 式 B、语 句“goto 12;”是 合 法 的 C、for(;)语 句 相 当 于 while(1)语 句 D、break语 句 可 用 于 程 序 的 任 何 地 方,以 终 止 程 序 的 执 行)17、以 下 叙 述 中 正 确 的 是 oA、使 用 typedef定 义 新 类 型 名 后,新 类 型 名 与 原 类 型 名 实 际 上 是 等 价 的 B、结 构 体 类 型 中 的 各 个 成 分 均 不 能 是 数 组 或 指 针 C、结 构 体 类 型 的 变 量,不 能 在 声 明 结 构 体 类 型 组 成 时 一 起 定 义 D、元 素 为 结 构 体 类 型 的 数 组,只 能 在 声 明 过 结 构 体 类 型 之 后,单 独 进 行 定 义)18、有 以 下 程 序:main()(char a-a,b;printf(%c,+a);printf(%cn,b=a+);)程 序 运 行 后 的 输 出 结 果 是 OA、b,bB、b,cC、a,bD、a,c)19、下 列 关 于 字 符 串 的 说 法 中 错 误 的 是 oA、在 C语 言 中,字 符 串 是 借 助 于 字 符 型 一 维 数 组 来 存 放 的,并 规 定 以 字 符 0作 为 字 符 串 结 束 志 B、0作 为 标 志 占 用 存 储 空 间,计 入 串 的 实 际 长 度 C、在 表 示 字 符 串 常 量 的 时 候 不 需 要 人 为 在 其 末 尾 加 入 0D、在 C语 言 中,字 符 串 常 量 隐 含 处 理 成 以 0结 尾)20、当 定 义 一 个 结 构 体 变 量 时,系 统 为 它 分 配 的 内 存 空 间 是。A、结 构 中 一 个 成 员 所 需 的 内 存 容 量 B、结 构 中 第 一 个 成 员 所 需 的 内 存 容 量 C、结 构 体 中 占 内 存 容 量 最 大 者 所 需 的 容 量 D、结 构 中 各 成 员 所 需 内 存 容 量 之 和 第 16/132页得 分 I 评 卷 入 I二、填 空 题(共 10题,每 题 2分,共 计 20分)-W 评 卷 人 1、若 要 定 义 一 个 单 精 度 实 型 变 量 f,则 应 该 使 用 的 定 义 语 句 为。2、数 字 0的 ascii码 值 为 多 少()3、已 知 float x=0.5;int y=13;则 算 术 表 达 式 x+y/5”的 值 是。4、在 c语 言 中,以 开 头 的 常 量 代 表 的 是 八 进 制 数。5、仅 由 顺 序、选 择(分 支)和 重 复(循 环)结 构 构 成 的 程 序 是 程 序。6、程 序 结 果:void main()(int a,b,sum;a=123;b=456;sum=a+b;printf(*sum is%dn”,sum);)7、c 语 言 规 定,可 执 行 程 序 的 开 始 执 行 点 是。8、在 c 语 言 中,一 个 函 数 一 般 由 两 个 部 分 组 成,它 们 是 1】和【2】。9、以 下 程 序 输 出 的 结 果 是 oint ff(int n)|static int f=l;f=f*n;return f;main()(int i;for(i=l;i=5;i+)printf(%dn”,ff(i):)10、请 阅 读 下 面 的 程 序,当 用 户 从 键 盘 输 入 hell。world时,分 析 程 序 是 否 能 编 绎 通 过 并 正 确 运 行,如 果 不 能,说 明 原 因;如 果 能,请 写 出 运 行 结 果。void main()(char str256;scanf();printf();)第 17/132页hello得 分 评 卷 人 三、编 程 题(共 3题,每 题 分 值 不 等,共 计 40分)1、编 写 程 序:编 一 程 序 每 个 月 根 据 每 个 月 上 网 时 间 计 算 上 网 费 用:费 用 计 算 规 则 如 下:1)小 于 等 于 10小 时 30元 2)10 50小 时 每 小 时 3元 3)大 于 等 于 50小 时 每 小 时 2.5元 要 求 当 输 入 每 月 上 网 小 时 数,显 示 该 月 总 的 上 网 费 用(本 题 10分)2、编 写 程 序:假 设 奖 金 税 率 如 下(a代 表 奖 金,i代 表 税 率)500=a1000 r=5%1000=a2000 r=8%2000=a3000 r=10%3000=a r=15%输 入 的 一 个 奖 金 数,求 税 率 和 应 缴 税 款 以 及 实 得 的 奖 金 数(扣 除 奖 金 税 后)。(本 题 14分)3、编 写 程 序:编 程 实 现 输 入 5个 学 生 的 学 号、计 算 他 们 的 期 中 和 期 末 成 绩,然 后 计 算 其 平 均 成 绩,并 输 出 成 绩 表(本 题 16分)第 18/132页【C语 言 程 序 设 计 精 选 样 卷(二)参 考 答 案】一、单 项 选 择 题 1、D2、C3、D4、A5、D【解 析】选 项 D中 整 型 数 组 x的 第 一 个 元 素 是 NULL不 是 0,故 选 D。6、C7、B8、A9、B【解 析】串(或 字 符 串)是 由 零 个 或 多 个 字 符 组 成 的 有 限 序 列,零 个 字 符 的 串 是 空 串,串 中 字 符 的 数 目 就 是 串 的 长 度,串 的 存 储 方 式 有 顺 序 存 储 和 链 式 存 储 两 种。串 的 基 本 运 算 有 连 接、赋 值、求 长 度、全 等 比 较、求 子 串、找 子 串 位 置 以 及 替 换 等。10、D11、C【解 析】printf函 数 格 式 化 字 符 串 的 一 般 形 式 为:标 志 输 出 最 小 宽 度 精 度 长 度 类 型。对 于%2d,%d表 示 结 果 以 十 进 制 形 式 输 出 带 符 号 的 整 数,数 字 2 表 示 输 出 的 最 小 宽 度 为 2,若 实 际 位 数 多 于 2,则 按 实 际 位 数 输 出,所 以 程 序 输 出 2010,答 案 选 Co12、A13、A14、C15、D16、C17、A【解 析】本 题 考 查 typedef的 使 用 方 法,typedef对 已 存 在 的 类 型 使 用 一 个 新 的 名 字,结 构 体 类 型 中 的 成 分 可 以 是 数 组 和 指 针,所 以 B 选 项 错 误,结 构 体 类 型 的 变 量 可 以 在 声 明 结 构 体 的 时 候 一 起 定 义,C 选 项 错 误,D 选 项 中 可 以 一 起 定 义。18、A【解 析】程 序 中 的 第 一 条 输 出 语 句 输 出 表 达 式+a的 值,即 输 出 a+1的 值,而 此 时 a的 值 为 a,所 以 第 一 条 输 出 语 句 输 出 的 值 为 b;第 二 条 输 出 语 句 中 输 出 表 达 式 b=a+的 值,即 输 出 a的 值,而 此 时 a的 值 为 b,所 以 第 二 条 输 出 语 句 输 出 的 值 也 为 b。故 选 项 A符 合 题 意。第 19/132页19、B【解 析】0作 为 标 志 占 用 存 储 空 间,但 是 不 计 入 串 的 实 际 长 度。当 给 一 个 字 符 型 指 针 赋 值 时,赋 给 这 个 指 针 的 是 这 个 字 符 串 的 地 址。20、D二、填 空 题 1、float f2、483、2.5#2.5000004、05、结 构 化 6、sum is 579o7、main函 数 8、1 函 数 声 明【2】函 数 体 9、1 2 6 24 12010、|%s,str|%sn,str【解 析】输 入 hello world时,中 间 的 空 格 对 scanf()函 数 来 说 是 终 止 符,后 面 的 内 容 无 法 读 取。三、编 程 题 1、ttinclude void main()int hour;float fee;printf(please input hour:nw);scanf(%d”,&hour);if(hour=10&hour=50)fee=3*hour;else fee=hour*2.5;printf(The total fee is%fw,fee);)2、题 中 r代 表 税 率,t代 表 税 款,b代 表 实 得 奖 金 数。此 为 分 段 税 率,用 switch.case语 句 方 便 计 算。当 输 入 a后,利 用 整 除 的 特 性,把 奖 金 a的 值 除 以 500取 商 作 为 switch语 句 的 判 断 条 件。#includemain()fl oat a,r,t,b;int c;第 20/132页scanf(%f,&a);if(a=3000)c=6else c=a/500;switch(c)(case 0:r=0;break;case 1:r=0.05;break;case 2:case 3:r=0.08;break;case 4:case 5:r=0.1;break;case 6:r=0.15;break;)t=a*r;b=a-t;printf(/zr=%f,t=%f,b=%f*,r,t,b);3、include int main()(struct stud_str(char num10;float score_mid;float score_final;stu5;float sum_mid=0;float sum_final=0;float ave_mid=0;float ave_final=0;int i=0;for(i=0;i 5;i+)(printf(plase input id:n);scanf stui.num);printf(please input mid_exam score:n);scanf(%f”,&stui.score_mid);printf(please input final_exam score:n);scanf&stui.score_final);第 21/132页)for(i=0;i 5;i+)(sum_mid+=stui.score_mid;sum_final+=stui.score_final;)ave_mid=sum_mid/5;ave_final=sum_final/5;printf(学 号 期 中 分 数 期 末 分 数 tn);for(i=0;i 5;i+)(p r i n t f s t u i.num);printf(%gt,stui.score_mid);printf(%gt”,stui.score_final);printf(n);)printf(期 中 平 均 分:gn”,avejnid);printf(期 末 平 均 分:%gnz,,ave_f inal);return 0;第 22/132页C语 言 程 序 设 计 精 选 样 卷(三)得 分 评 卷 人 一、单 项 选 择 题(共 20题,每 题 2分,共 计 40分)()1、在 位 运 算 中,操 作 数 每 左 移 两 位,其 结 果 相 当 于 oA、操 作 数 乘 以 2B、操 作 数 除 以 2C、操 作 数 除 以 4D、操 作 数 乘 以 4()2、若 d 为 double型 变 量,则 表 达 式 d=l,d+5,d+的 值 是.A、1B、6)0C、2)0D、1)0()3、在 嵌 套 使 用 if语 句 时,c语 言 规 定 else总 是。A、和 之 前 与 其 具 有 相 同 缩 进 位 置 的 if配 对 B、和 之 前 与 其 最 近 的 if配 对 C、和 之 前 与 其 最 近 的 且 不 带 else的 if配 对 D、和 之 前 的 第 一 个 if配 对()4、下 述 for循 环 语 句。int i,k;for(i=0,k=-l;k=l;i+,k+)printf(*);A、判 断 循 环 结 束 的 条 件 非 法 B、是 无 限 循 环 C、只 循 环 一 次 D、一 次 也 不 循 环()5、对 于 if(表 达 式)语 句,以 下 说 法 正 确 的 是。A、“表 达 式”的 值 只 能 是 整 数 值 B、在“表 达 式”中 不 能 调 用 返 回 整 数 的 函 数 C、在“表 达 式”中 不 能 含 有 函 数 调 用 D、“表 达 式”可 以 是 算 术 表 达 式 第 23/132页)O、I夕 U承 Tt Vo HJ十 棚 CD泪 禾 与 丹 1出 后 口 JT、l J trj 7E oA、if(a)printf(%dn,x);else printf(%dn,y);B、if(a=0)printf(%dn,y);else printf(%dn,x);C、if(a!=0)printf(%dn,x);else printf(%dn,y);D、if(a=0)printf(%dn,x);else printf(%dnw,y);)7、有 以 下 程 序 main()(int a4 4=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1),i,k,t;for(i=0;i3;i+)for(k=i+l;k4;k+)if(aiiak k)(t=ai i;aii=ak k:akk=t;)for(i=0;i4;i+)printf(%d,a0 i);)程 序 运 行 后 的 输 出 结 果 是 OA、6,2,1,1,B、6,4,3,2,C、1,1,2,6,D、2,3,4,6,)8、关 于 程 序 中 的 注 释,以 下 叙 述 正 确 的 是 oA、注 释 的 内 容 必 须 放 在/*和*/之 间 B、注 释 必 须 置 于 所 说 明 的 语 句 前 或 语 句 后 C、注 释 中 间 可 以 嵌 套 另 一 个 注 释 D、注 释 内 容 错 误 会 导 致 编 译 出 错)9、有 以 下 程 序 void fun(char s 10,int n)(char t;int i,j;for(i=0;iN-l;I+)第 24/132页for(j=i+l,j sjO)t=siO;si O=sj 0;sj0=t;)main()(char ss5 10=bcc,bbcc,“xy,aaaacc,aabcc”;fun(ss,5);printf(w%s,%s”,ssO,ss4);)程 序