C语言期末考试题3.pdf
《C语言期末考试题3.pdf》由会员分享,可在线阅读,更多相关《C语言期末考试题3.pdf(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 考试题
限制150内