《C语言期末考试题3.pdf》由会员分享,可在线阅读,更多相关《C语言期末考试题3.pdf(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.static struct int al;float a2;char a3;a10=l,3.5,A);说 明 数 组 a是 地 址 常 量,它 有 10个 结 构 体 型 的 下 标 变 量,采 用 静 态 存 储 方 式,其 中 被 初 始 化 的 下 标 变 量 是()。A、a10 B、a0 C、al D、a-lB2 对 以 下 说 明 语 句 int a10=6,7,8,9,10);的 正 确 理 解 是().A、将 5个 初 值 依 次 赋 给 al至 a5B、将 5个 初 值 依 次 赋 给 a6至 a10C、因 为 数 组 长 度 与 初 值 的 个 数 不 相 同,所 以 此
2、 语 句 不 正 确 D、将 5 个 初 值 依 次 赋 给 a 0至 a 4D3.在 C语 言 中,能 代 表 逻 辑 值“真”的 是()oA、大 于 0的 数 B、True C、非。的 数 D、非 0整 数 C4.以 下 read函 数 的 调 用 形 式 中,参 数 类 型 正 确 的 是()。A、read(int fd,int count,char*buf)B、read(int count,char*buf,int fd)C、read(int*buf,int fd,int count)D、read(int fd,char*buf,int count)D6.以 下 不 符 合 C语 言
3、语 法 的 赋 值 语 句 是()。A、a=b=5;B、a=l,b=2 C、+j;D、y=(a=3,6*5);B7.C 语 言 程 序 的 三 种 基 本 结 构 是 顺 序 结 构、选 择 结 构 和 结 构.A、递 归 B、转 移 C、嵌 套 D、循 环 D8.选 择 结 构 中 的 条 件 与 循 环 结 构 中 循 环 成 立 的 条 件,在 写 法 上 可 以 是 任 一 表 达 式,但 其 值 只 能 被 判 断 为“真”或“假”。哪 个 数 作 为 逻 辑“假”值()A、-1 B、非 零 的 数 C、1 D、0D9.以 下 叙 述 中 不 正 确 的 是().A、在 C程 序 中
4、,赋 值 运 算 符 的 优 先 级 最 低 B、在 C程 序 中,j+;是 一 条 赋 值 语 句 C、C程 序 中 的#include和#define均 不 是 C语 句 D、一 个 好 的 程 序 应 该 有 详 尽 的 注 释 A10.若 有 下 列 定 义,则 对 a数 组 元 素 地 址 的 正 确 引 用 是()。int a5,*p=a;A、&a B、p+2 C、a+D、&a5B11.static char str10=China”;数 组 元 素 个 数 为()。A,5 B、10 C、6 D、9B12.以 下 程 序 中,c的 二 进 制 值 是 char a=3 b=6 c;
5、c=a A b 2;A、00011100 B、00010100 C、00011000 D、00011011D13.以 下 程 序 的 输 出 结 果 是 func(int a,int b)int qc=a+b;return c;)main()int x=6,y=7,z=8,r;r=func(x,y+,x+y),z-);printf(dn”,r);)A、21 B、11 C、31 D、20A14.以 下 程 序 的 输 出 结 果 是.void fun(int a,int b,int c)a=456;b=567;c=678;mainO int x=10,y=20,z=30;fun(x,y,z);p
6、rintf(d,%d,%dn,z,y,x);A、30,20,10 B、10,20,30 C、678567456 D、456567678A15.执 行 下 列 程 序 后,其 输 出 结 果 是()。main()int a=9;a+=a-=a+a;printf(%dn,a);)A、18 B、-18 C、-9 D、9B16.若 从 终 端 输 入 以 下 数 据,要 给 变 量 c赋 以 283.19,则 正 确 的 输 入 语 句 是 A、scanf(%8.4f,&c);B、scanf(%6.2f,&c);C、scanf(%r,c)D、scanf(%8r,&c);D17.卜 列 变 量 定 义
7、中 合 法 的 是()oA、short a=l-.le-l;B、long do二 OxfdaL;C、double b=l+5e2.5;D、float 2_and=l-e-3;A18.以 下 程 序 的 输 出 结 果 是#define IMT d,”main()(intb4=1,3,5,7,9,11,13,15,17,19,21,23);printf(FMT,*(*(b+l)+l);printfFMT,b22);)A、1,11,B、1,11 C、11,21 D、11,21,D19.若 in t a=3,则 执 行 完 表 达 式 a-=a+=a*a后,a的 值 是 A、-15 B、0 C、-9
8、 D、-3B20.以 卜.read函 数 的 调 用 形 式 中,参 数 类 型 正 确 的 是()。A、read(int fd,int count,char*buf)B、read(int count,char*buf,int fd)C、read(int*buf,int fd,int count)D read(int fd,char*buf,int count)D21.已 知 大 写 字 母 A的 ASCH码 值 是 6 5,小 写 字 母 a的 ASCII码 是 9 7,则 用 八 进 制 表 示 的 字 符 常 量 是()oA、字 符 e B、字 符 a C、非 法 的 常 量 D、字 符
9、 AD22.C语 言 规 定,函 数 返 回 值 的 类 型 是 由()oA、调 用 该 函 数 时 的 主 调 函 数 类 型 所 决 定 B、return语 句 中 的 表 达 式 类 型 所 决 定 C、调 用 该 函 数 时 系 统 临 时 决 定 D、在 定 义 该 函 数 时 所 指 定 的 函 数 类 型 所 决 定 D23.结 构 化 程 序 设 计 所 规 定 的 三 种 基 本 控 制 结 构 是()oA、树 形、网 形、环 形 B、输 入、处 理、输 出 C、主 程 序、子 程 序、函 数 D、顺 序、选 择、循 环 D24.与 实 际 参 数 为 实 型 数 组 名 相
10、 对 应 的 形 式 参 数 不 可 以 定 义 为()。A、float a;B、float a;C、float(*a)3;D、float*a;A25.若 有 定 义 和 语 句:int a43=1,2,3,4,5,6,7,8,9,10,11,12 J*prt)3=a,*p4,i;for(i=0;i 4;i+)pi=ai;则 不 能 够 正 确 表 示 a数 组 元 素 的 表 达 式 是 A、(*(p+l)l B、a 4 3 C、p0 0 D、prt2 2B26.为 了 避 免 在 嵌 套 的 条 件 语 句 if-else中 产 生 二 义 性,C语 言 规 定:else总 与()配 对
11、A、同 一 行 上 的 i f B、其 之 后 最 近 的 i f C、其 之 前 最 近 的 未 配 对 的 i f D、缩 排 位 置 相 同 的 i fC27.以 下 程 序 的 输 出 结 果 是。typedef union long i;int k5;char c;DATE;struct date int cat;DATE cow;double dog;too;DATE max;main()(printf(4t%dn,sizeof(struct date)+sizeof(max);)A、30 B、25 C、18 D、8A28.下 列 程 序 的 输 出 结 果 为()omain()i
12、nt m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+l/2;p r i n t f x);)A、2 8.000000 B、27.500000 C、2 8.500000 D、27.000000D29.有 以 下 程 序(提 示:程 序 中 fseek(fp,-2L*sizeof(int),SE E K _E N D);语 句 的 作 用 是 使 位 置 指 针 从 文 件 末 尾 向 前 移 2*sizeof(int)字 节)#include main()FILE*fp;int i,a4=lt2,3,4,b;fp=fopen(data.dat”,“wb”);f
13、or(i=0;i 4;i+)fwrite(&ai,sizeof(int),1,fp);fclose(fp);fp=fopen(itdata.daf;trb,9);fseek(fp,-2L*sizeof(int),SEEK_END);fread(&b,sizeof(int),1,fp);/*从 文 件 中 读 取 sizeof(int)字 节 的 数 据 到 变 量 1)中*/fclose(fp);)执 行 后 输 出 结 果 是 A、3 B、4 C、1 D、2A30.printf函 数 中 用 到 格 式 符 外 5s,其 中 数 字 5表 示 输 出 的 字 符 串 占 用 5列,如 果 字
14、 符 串 长 度 大 于 5,则 输 出 按 方 式().A、右 对 齐 输 出 该 字 串,左 补 空 格 B、从 左 起 输 出 该 字 符 串,右 补 空 格 C、按 原 字 符 长 从 左 向 右 全 部 输 出 D、输 出 错 误 信 息 C1.语 句 in t max(in t x,in t max(in i y,in t z);是 正 确 的 函 数 声 明 语 句.错 2.若 有 in t i=10,j=0;则 执 行 完 语 句 i f(j=0)i+;e lse i-i 的 值 为 11。错 误 3.char*p=girl”;的 含 义 是 定 义 字 符 型 指 针 变 量
15、 p,p 的 值 是 字 符 串 girl。错 4.如 果 想 使 一 个 数 组 中 全 部 元 素 的 值 为 0,可 以 写 成 in t a10=0*10;错 误 5.如 果 有 一 个 字 符 串,其 中 第 十 个 字 符 为 n,则 此 字 符 串 的 有 效 字 符 为 9个。错 误 6.共 同 体 变 量 所 占 的 内 存 长 度 等 于 最 长 的 成 员 的 长 度 正 确 7.函 数 调 用 语 句:func(recl,rec2+rec3,(rec4,rec5);中,含 有 的 实 参 个 数 是 5.错 误 8.ftdefine和 printf都 不 是 C 语 句
16、。正 确 9.C语 言 本 身 不 提 供 输 入 输 出 语 句,输 入 和 输 出 操 作 是 由 函 数 来 实 现 的。正 确 10.若 有 宏 定 义:Sdefine S(a,b)t=a;a=b;b=t由 于 变 量 t没 定 义,所 以 此 宏 定 义 是 错 误 的。正 确/*-【程 序 设 计】功 能:编 写 函 数 fun计 算 下 列 分 段 函 数 的 值:x.2+x+6 x0.Elx:#:-3f(x)=x2-5x+6 0Wx 10 且 xW2 及 xW3x2-xT 其 它*/include void bky();float fun(float x)(/*Begin*/*
17、End*/mainO(float x,f;printf(input x=);scanf(“%f,&x);f=fun(x);printf(x=%f,f(x)=%fn”,x,f);bky();void bky()FILE*IN,*0UT;int n;float i;float o;IN二 fopen(in.dat,r);if(IN=NULL)(printf(Read FILE Error);)OUT二 fopen(out.dat,w);if(OUT=NULL)(printf(Write FILE Error*);for(n=0;n10;n+)fscanf(IN,o=fun(i);fp rin tf
18、(O U T,*%fnz/,o);fclose(IN);fclose(OUT);【参 考 代 码】flo a t y;i f(x=0&x10.0&x!=2.0&x!二 3.0)y=x*x-5*x+6;else y=x*x-x-l;return y;/*-【程 序 设 计】功 能:对 长 度 为 7个 字 符 的 字 符 串,除 首、尾 字 符 外,将 其 余 5个 字 符 按 降 序 排 列。例 如:原 来 的 字 符 串 为 CEAedca,排 序 后 输 出 为 CedcEAa。#include#include#includeint fun(char*s,int num)(/*Beg in
19、*/*End*/main()(char s10;printf(输 入 7个 字 符 的 字 符 串:);gets(s);fun(s,7);printf(,/n%s/,,s);NONO();)NONO()int i;char a100;FILE*rf,*wf;rf=fopen(in.dat,r);wf=fopen(out.dat,w);for(i=0;i3;i+)fscanf(rf,%s,&a);fun(a,7);fprintf(wf,%s,a);fprintf(wf,n);)fclose(rf);fclose(wf);)【参 考 代 码】int i,j;char t;for(i=l;inum-
20、l;i+)for(j=i+l;jnum-l;j+)if(sisj)t=si;si=sj;sj=t;/*-【程 序 设 计】/*【程 序 改 错】功 能:根 据 整 型 形 参 m,计 算 某 一 数 据 项 的 值。y=1/(100*100)+1/(200*200)+1/(300*300)+.+l/(m*m)例 如:若 m=2000,则 应 输 出:0.000160。-*/#include#include/*ERR0R*/fun(int m)double y=0,d;int i;/*ERR0R*/for(i=100,i=m,i+=100)(d=(double)i*(double)i;/*ERR
21、OR*/y+=1.0 d;)return(y);)main()(int n=2000;clrscr();printf(z,nThe result is%lfn,fun(n);)【改 错 1】【学 生 答 案】fun(in t m)【参 考 答 案】double fun(int m)【改 错 2】【学 生 答 案】fo r(i=100,i=m,i+=100)【参 考 答 案】f o r(i=100;i=m;i+=100)【改 错 3】【学 生 答 案】y+=1.0 d;【参 考 答 案】y+=1.0/d;/*-【程 序 改 错】功 能:移 动 一 维 数 组 中 的 内 容;若 数 组 中 有
22、n个 整 数,要 求 把 下 标 从 0到 P(含 p,P小 于 等 于 nT)的 数 组 元 素 平 移 到 数 组 的 最 后。例 如:一 维 数 组 中 的 原 始 内 容 为:“1,2,3,4,5,6,7,8,9,10”p的 值 为 3。移 动 后,维 数 组 中 的 内 容 应 为“5,6,7,8,9,10,1,2,3,4-*/#include define N 80void fun(int*w,int p,int n)(/*ERR0R*/int i,k=0;bN;/*ERROR*/for(i=l;i n;i+)bk+=wi;/*ERROR*/for(i=0;i=p;i+)bk=wi
23、;for(i=0;i l,2,3,4,5,6,7,8,9,10,11,12,13,14,15);int i,p,n=15;printf(,/The original data:n,);printf(z,nnEnter p:);scanf(%d,&p);fun(a,p,n);printf(,znThe data after moving:n,z);for(i=0;i n;i+)printf(d,ai);printf(nn);)【改 错 1】【学 生 答 案】int i,k=O;bN;【参 考 答 案】int i,k=0,bN;【改 错 2 学 生 答 案】for(i=l;i n;i+)bk+=w
24、i;【参 考 答 案】for(i=p+l;i n;i+)bk+=wi;【改 错 3】【学 生 答 案】for(i=0;i=p;i+)bk=wi:【参 考 答 案】for(i=0;i=p;i+)bk+=wi;/*-【程 序 填 空】功 能:打 印 以 下 图 形。*/main()(char a59=;int i,j;for(i=0;i5;i+)/*FILL*/f o r(j=i;j+)/*FILL*/for(_;i5;i+)(for(j=0;j9;j+)/*FILL*/printf;/*F1LL*/)【空 1】【学 生 答 案】fo r(j=i;j+)【参 考 答 案】jjjj【空 2】【学 生
25、 答 案】f o r(;i 5;i+)【参 考 答 案】i=0【空 3】【学 生 答 案】p r in tf(z/%c,);【参 考 答 案】【空 4】【学 生 答 案】;【参 考 答 案】p rin tf(n)【程 序 填 空 功 能:以 每 行 5个 数 来 输 出 300以 内 能 被 7或 17整 除 的 偶 数,并 求 出 其 和。-*/include#include mainO(in t i,n,sum;sum=0;/*FILL*/*FILL*/f o r(i=l;i+)/*FILL*/i f()if(i%2=0)(sum=sum+i;n+;p r i n t f(为 6d”,i)
26、;/*FILL*/i f()p r i n t f;)p rin tf(n to ta l=%d”,sum);【空 1】【学 生 答 案】【参 考 答 案】n=0【空 2】【学 生 答 案】f o r(i=l;i+)【参 考 答 案】i=300 i=I 300i【空 3】【学 生 答 案】i f()【参 考 答 案】i%7=0|i%17=0!(i7)11!(i%17)!(i%17)11!(i%7)!(i%7&i%17)i%17=0|i%7=0【空 4】【学 生 答 案】i f()【参 考 答 案】喉 5=0!(n%5)n/5*5=n第 二 套 1.设 有 如 下 定 义:s tr u c t
27、sk int a;flo a t b;data,*p;若 要 使 P指 向 data中 的 a域,正 确 的 赋 值 语 句 是()。A、p=&data.a;B、p=(struct sk*)data,a;C、p=(struct sk*)&data.a;D、*p=data.a;C2.对 于 建 立 函 数 的 目 的,正 确 的 说 法 是 A、提 高 程 序 的 执 行 效 率 B、减 少 程 序 的 篇 幅 C、减 少 程 序 文 件 所 占 的 内 存 D、提 高 程 序 的 可 读 性 D3.若 有 定 义:int*p3;,则 以 下 叙 述 中 正 确 的 是()oA、定 义 了 一
28、个 名 为*p的 整 型 数 组,该 数 组 含 有 三 个 int类 型 元 素 B、定 义 了 一 个 可 指 向 一 维 数 组 的 指 针 变 量 p,所 指 一 维 数 组 应 具 有 三 个 int类 型 元 素 C、定 义 了 一 个 指 针 数 组 p,该 数 组 含 有 三 个 元 素,每 个 元 素 都 是 基 类 型 为 int的 指 针 D、定 义 了 一 个 基 类 型 为 int的 指 针 变 量 p,该 变 量 具 有 三 个 指 针 C4.下 面 说 法 中 错 误 的 是 A、函 数 可 以 返 回 一 个 共 用 体 变 量 B、在 任 一 时 刻,共 用
29、体 变 量 的 各 成 员 只 有 一 个 有 效 C、共 用 体 内 的 成 员 可 以 是 结 构 变 量,反 之 亦 然 D、共 用 体 变 量 的 地 址 和 它 各 成 员 的 地 址 都 是 同 一 地 址 A5.若 要 用 fopen函 数 打 开 一 个 新 的 二 进 制 文 件,该 文 件 要 既 能 读 也 能 写,则 文 件 方 式 字 符 串 应 是()0A、ab B、wb+C、ab+D、rb+B6.表 达 式 18/4*sqrt(4.0)/8值 的 数 据 类 型 为 O。A、float B、double C、不 确 定 D、intB7.先 用 语 句 定 义 字
30、符 型 变 量 c,然 后 要 将 字 符 a赋 给 c,则 下 列 语 句 中 正 确 的 是()oA、c=a;B、C=97 C、c=a;D、c=97;C8.设 以 下 变 量 均 为 int类 型,则 值 不 等 于 7的 表 达 式 是()oA、(y=6,y+1,x=y,x+1)(x=6,x+1,y=6,x+y)C、(x=y=6,x+y,y+1)D、(x=y=6,x+y,x+1)B9.下 列 程 序 的 输 出 为()。main()(int y=10;while(y一);printf Cy=%dn,y);)A、while构 成 无 限 循 环 B、y=0 C、y=-l y=lC10.为
31、了 提 高 程 序 的 运 行 速 度,在 函 数 中 对 于 整 型 或 指 针 可 以 使 用()型 的 变 量。A、static B、auto C、extern D registerD11.若 已 建 立 下 面 的 链 表 结 构,指 针 p、s分 别 指 向 图 中 所 示 结 点,则 不 能 将 s所 指 的 结 点 插 入 到 链 表 末 尾 的 语 句 组 是 oA、s-next=NULL;p=p-next;p-next=s;B p=p-next;s-next=p;p-next=s;C、p=(*p).next;(*s).next=(*p).next;(*p).next=s;D
32、p=p-next;s-next=p 一 next;p-next=s;B12.具 有 相 同 类 型 的 指 针 变 量 p与 数 组 a,不 能 进 行 的 操 作 是()oA p=&aO;B、p=a;C、p=&a;D、*p=aO;C13.C语 言 程 序 中 必 须 有 的 函 数 是()oA、#include stdio.h B、main C printf D、scanfB14.若 输 入 a b,程 序 运 行 结 果 为()omainO s ta tic char a 3;s c a n f a);printf(*%c,%c,al,a 2);)A、b,B、a,b C、程 序 出 错 D
33、、a,A15.下 面 叙 述 中 错 误 的 是 A、在 其 它 函 数 中 定 义 的 变 量 在 主 函 数 中 也 不 能 使 用 B、主 函 数 中 定 义 的 变 量 在 整 个 程 序 中 都 是 有 效 的 C、形 式 参 数 也 是 局 部 变 量 D、复 合 语 句 中 定 义 的 函 数 只 在 该 复 合 语 句 中 有 效 B16.应 用 缓 冲 文 件 系 统 对 文 件 进 行 读 写 操 作,关 闭 文 件 的 函 数 名 为()oA、fwrite B、close()C、fread()D、fclose()D17.下 列 正 确 的 标 识 符 是 A、%y B、a
34、+b C 6a D _doD17.若 变 量 已 正 确 说 明 为 int类 型,要 给 a、b、c输 入 数 据,以 下 正 确 的 输 入 语 句 是A、scanf(%d%d%d”,&a,&b,&c);B、scanf(*%d%d%d,a,b,c);C、read(a,b,c)D、scnaf(%D%D%D”,&a,&b,&C);A18.若 有 定 义 语 句:char c5=匕,b,O,c,则 执 行 语 句 pritnf(%s”,c);的 结 果 是 A、ab c B、abOc C、ab D、abD19.int a=l,b=2,c=3;if(ac)b=a;a=c;c=b;则 c的 值 为(
35、)。A、3 B、2 C、不 一 定 D、1B20.在 位 运 算 中,操 作 数 每 右 移 一 位,其 结 果 相 当 于()。A、操 作 数 除 以 2 B、操 作 数 除 以 16 C、操 作 数 乘 以 16 D、操 作 数 乘 以 2A21.设 有 数 组 定 义:char array=China”;则 数 组 array所 占 的 空 间 为().A、5个 字 节 B、7个 字 节 C、4个 字 节 D、6个 字 节 D22.以 卜 能 对 二 维 数 组 a进 行 正 确 初 始 化 的 语 句 是()A、int a3=l,2,3,4,5,6;B、int a2 4=1,2,3,4
36、,5,6;C int a 3=l,0,l),1,1;D、int a2=1,0,1,5,2,3);A23.已 知 字 符 0的 ASCH码 值 的 十 进 制 数 是 4 8,且 数 组 的 第 0个 元 素 在 低 位,以 下 程 序 的 输 出 结 果 是。main()unionint i2;long k;char c4;r,*s=&r;s-i0=0 x39;s-il=0 x38;printf(4t%xn,s-c0);)A、38 B、9 C、39 D、8C24.执 行 下 面 程 序 后,输 出 结 果 是()omain()a=45,b=27,c=0;c=max(a,b);printf(,/
37、%dn,,c);in t m ax(x,y)in t x,y;in t z;i f(xy)z=x;else z=y;return(z);)A、18 B、27 C、72 D、45D25.char*sl=hello,*s2;s2=s i;则()0A、s2指 向 不 确 定 的 内 存 单 元 B、si不 能 再 指 向 其 它 单 元 C、不 能 访 问 hello D、puts(si);与 puts(s2);结 果 相 同 D26.用 户 定 义 的 函 数 不 可 以 调 用 的 函 数 是()oA、本 文 件 外 的 B、main函 数 C、木 函 数 下 面 定 义 的 D、非 整 型 返
38、 回 值 的 B27.以 下 叙 述 中 正 确 的 是().A、C语 言 可 以 不 用 编 译 就 能 被 计 算 机 识 别 执 行 B、C语 言 出 现 的 最 晚,具 有 其 他 语 言 的 一 切 优 点 C、C语 言 比 其 他 语 言 高 级 D、C语 言 以 接 近 英 语 国 家 的 自 然 语 言 和 数 学 语 言 作 为 语 言 的 表 达 形 式 D28.已 知 x=43,ch=A,y=0;则 表 达 式(x=y&chB&!y)的 值 是().A、语 法 错 B、0 C、1 D、假 C29.以 下 选 项 中 正 确 的 整 型 常 量 是 A,4/5 B、5 C、
39、-10 D、1.000C在 Turbo C中,下 面 的 定 义 和 语 句 是 合 法 的:file*fp;fp=fopen(/,a.txt,r);错 误 函 数 strlen(ASDFGn)的 值 是 7。错 误 若 有 定 义 int c;则 while(c=getchar();是 正 确 的 C语 句。正 确 变 量 根 据 其 作 用 域 的 范 围 可 以 分 作 局 部 变 量 和 全 局 变 量。正 确 一 个 include命 令 可 以 指 定 多 个 被 包 含 的 文 件。错 误 字 符 串 常 量 是 用 一 对 双 引 号 括 起 来 的 字 符 序 列,所 以 a
40、 不 是 字 符 串.错 误 若 i=3,则 printf(%d”,-i+);输 出 的 值 为-4。错 误C语 言 的 switch语 句 中 case后 可 为 常 量 或 表 达 式 或 有 确 定 值 的 变 量 及 表 达 式.错 误 char c口 二 Very Good”;是 一 个 合 法 的 为 字 符 串 数 组 赋 值 的 语 句。错 误 若 有 如 下 定 义 和 语 句 in t k=10;while(k=0)k=k T;则 循 环 体 一 次 也 不 执 行。正 确/*-【程 序 设 计】功 能:求 一 批 数 中 小 于 平 均 值 的 数 的 个 数。#incl
41、udevoid bky();int average_num(int a,int n)(/*Begin*/*End*/mainO(int n,a100,i,num;s c a n f&n);for(i=0;in;i+)s c a n f;num=average_num(a,n);printf(the num is:%dn”,num);bky();)void bky()(FILE*IN,*OUT;int n;int i10;int o;IN=fopen(,in.dat,“r);if(IN二 二 NULL)printf(*Read FILE Error);)OUT二 fopen(out.dat,w)
42、;if(OUT=NULL)(printffWrite FILE Error);for(n=0;n5;n+)(fscanf(IN,飞 d”,&in);)o=average_num(i,5);fprintf(OUT,o);fclose(IN);fclose(OUT);)【参 考 代 码】int i,sum=0,k=0;double average;for(i=0;in;i+)sum=sum+ai;average=sum*1.0/n;for(i=0;iai)k+;return(k);【程 序 设 计】功 能:判 断 个 整 数 w的 各 位 数 字 平 方 之 和 能 否 被 5整 除,可 以 被
43、5整 除 则 返 回 1,否 则 返 回 0。-*/include ttinclude*conio.hvoid bky();int fun(int w)/*Begin*/*End*/mainO(int m;printf(Enter m:);scanf(cT,&m);printf(XnThe result is%dn”,fun(m);b k y();void bky()(FILE*IN,*OUT;int c;int t;int o;IN=fopen(vin.dat/,r);if(IN=NULL)(printf(Read FILE Error7,);OUT=fopen(,out.dat,w);if
44、(OUT=NULL)(printf(Write FILE Error);for(c=l;c=5;c+)(fscanf(IN,%d,&t);o=fun(t);fprintf(OUT,o);fclose(IN);fclose(OUT);)【参 考 代 码】int k,s=0;dos=s+(w%10)*(w%10);w=w/10;)while(w!=0);if(s%5=0)k=l;else k=0;return(k);/*-【程 序 改 错】功 能:用 起 泡 法 对 10个 整 数 从 小 到 大 排 序。-*/include/*ERR0R*/void sort(int x,int n)(int
45、i,j,t;for(i=0;in-l;i+)/*ERROR*/for(j=0;jxi+l)(t=xj;xj=xj+l;xj+l=t;)main()(int i,n,al00;printf(please input the length of the array:n,z);scanf(d,&n);for(i=0;in;i+)scanf(z/%dz/,&ai);/*ERROR*/sort(n,a);printf(output the sorted array:nz,);for(i=0;i=n-l;i+)printf(%5d,ai);printf(n);改 错 1】【学 生 答 案】void sor
46、t(int x,int n【参 考 答 案】void sort(int*x,int n)void sort(int x,int n)【改 错 2】【学 生 答 案】for(j=0;jn-i;j+)【参 考 答 案】for(j=0;jn-l-i;j+)for(j=0;jj;j+)for(j=O;n-i-lj;j+)for(j=0;jn-(l+i):j+)for(j=0;jj;j+)for(j=O;n-(i+l)j;j+)【改 错 3】【学 生 答 案】if(xixi+l)【参 考 答 案】if(xjxj+l)if(xjxl+j)if(xj+lxj)if(xl+jxj)【改 错 4】【学 生 答
47、案】sort(n,a);【参 考 答 案】sort(a,n);/*-【程 序 改 错】功 能:有 5个 人 坐 在 一 起,问 第 五 个 人 多 少 岁?他 说 比 第 4个 人 大 2岁。问 第 4个 人 岁 数,他 说 比 第 3个 人 大 2岁。问 第 三 个 人,又 说 比 第 2人 大 两 岁。问 第 2个 人,说 比 第 一 个 人 大 两 岁。最 后 问 第 一 个 人,他 说 是 10岁。请 问 第 五 个 人 多 大?-*/#includestdio.hage(n)int n;(int c;/*ERR0R*/if(n=l)c=10;else/*F0UND*/c=age(n)
48、+2;return(c);main()/*ERROR*/printf(,z%dz/,age5);【改 错 1】【学 生 答 案】if(n=l)【参 考 答 案】if(n=l)【改 错 2】【学 生 答 案】printf(%d,age5);【参 考 答 案】c=age(n-l)+2;/*-【程 序 填 空】功 能:产 生 并 输 出 杨 辉 三 角 的 前 七 行。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1-*/main()(int a77;int i,j,k;for(i=0;i7;i+)(ai0=l;/*FILL*/for(i=
49、2;i7;i+)/*FILL*/for(j=l;j;j+)/*FILL*/ai j=;for(i=0;i7;i+)/*FILL*/for(j=0;j+)printf C%6d,z,ai j);printf(n);)【空 1】【学 生 答 案】;【参 考 答 案】aii=l【空 2】【学 生 答 案】for(j=l;j;j+)【参 考 答 案】【空 3】【学 生 答 案】aij=;【参 考 答 案】ai-l j+ai-l j-1ai-lj-l+ai-l j【空 4】【学 生 答 案】for(j=0;j+)【参 考 答 案】j=j jj j-Ij-l/*-【程 序 填 空】功 能:现 有 两 组
50、有 序 数 组(增 序),xi、yj代 表 数 组 x、y的 任 一 元 素,问 满 足 xiyi的 元 素 对 有 多 少 个?-*/int dominance count(int f,int g,int m,int n)(int index_f,index_g;int count;count=index_f=index_g=0;while(index_f m&index_g n)if(findex_f=gindex_g)index_f+;elseindex g+;/*FILL*/count+=;)/*FILL*/#include void main(void)(int x=1,6,8);i