《C语言期末考试模拟试卷1.pdf》由会员分享,可在线阅读,更多相关《C语言期末考试模拟试卷1.pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、试 卷 编 号:11201所 属 语 言:C 语 言 试 卷 方 案:c 语 言 期 末 考 试 试 卷 总 分:100分 共 有 题 型:4 种 一、单 项 选 择 共 30题(共 计 60分)第 1题(2.0分)设 有 定 义:int k=0;,以 下 选 项 的 四 个 表 达 式 中 与 其 他 三 个 表 达 式 的 值 不 相 同 的 是(A).A:k+B:k+=1 C:+k D:k+1第 2 题(2.0分)已 知 int i=5,执 行 语 句 i+=+i后,i 的 值 是(C).A:10 B:ll C:12 D:A、B、C 都 不 对 第 3 题(2.0分)以 下 程 序 的
2、功 能 是:给 r 输 入 数 据 后,计 算 半 径 为 r 的 圆 面 积 s.程 序 在 编 译 时 出 错.ftinclude void main()/*Beginning*/int r;float s;scanf(%d,&r);s=p*r*r;printf(,s=%fn,s);)出 错 的 原 因 是(D).A:注 释 语 句 书 写 位 置 错 误 B:存 放 圆 半 径 的 变 量 r 不 应 该 定 义 为 整 型 C:输 出 语 句 中 格 式 描 述 符 非 法 D:计 算 圆 面 积 的 赋 值 语 句 中 使 用 了 非 法 变 量 第 4 题(2.0分)ABC 的 长
3、 度 是(B).A:ll B:7 C:5 D:3第 5 题(2.0分)已 知 int j,i=l;,执 行 语 句 j=-i+;后,j 的 值 是(D).A:1 B:2 C:-l D:-2第 6题(2.0分)有 以 下 程 序:ftinclude void main()int s=0,a=l,n;scanf&n);dos+=l;a=a-2;while(a!=n);printf(%dn,s);若 要 使 程 序 的 输 出 值 为 2,则 应 该 从 键 盘 输 入 给 n 的 值 是(A).A:-l B:-3 C:-5 D:0第 7题(2.0分)执 行 以 下 程 序 后,输 出 的 结 果
4、是(C).ftinclude void main()int y=10;doy;while(-y);printf(%dn”,y-);)A:-l B:1 C:8 D:0第 8 题(2.0分)以 下 循 环 体 的 执 行 次 数 是(C).ftinclude void main()int i,j;for(i=0,j=l;i=j+l;i+=2,j-)printf(%dn”,i);A:3 B:2 C:1 D:0第 9题(2.0分)有 以 下 程 序 段:int k=0;while(k=l)k+;while循 环 执 行 的 次 数 是(C).A:无 限 次 B:有 语 法 错 误,不 能 执 行 C:
5、1次 也 不 执 行 口:执 行 1次 第 10题(2.0分)有 以 下 程 序 ftinclude void main()int m,n,p;scanf(m=%dn=%dp=%d,z,&m,&n,&p);printf(%d%d%dn”,m,n,p);)若 想 从 键 盘 上 输 入 数 据,使 变 量 m 中 的 值 为 123,n 中 的 值 为 456,p 中 的 值 为 789,则 正 确 的 输 入 是(D).A:m=123n=456p=789 B:m=123 n=456 p=789C:m=123,n=456,p=789 D:123 456 789第 11题(2.0分)设 变 量 已
6、 正 确 定 义,以 下 能 正 确 计 算 二 亩 的 程 序 段 是(D)A:f=O;for(i=l;i=n;i+)f*=i;for(i=l;i1;i+)f*=i;D:f=l;for(i=n;i=2;i-)f*=i;第 12题(2.0分)在 下 列 程 序 中,没 有 构 成 死 循 环 的 程 序 段 是(A).A:int i=100;int i=100;while(1)i=i%100+l;if(i100)break;B:int k=1000;do+k;while(k=10000);C:for(;);D:int s=36;while(s);一 s;第 13题(2.0分)有 如 下 程 序
7、:ftinclude void main()int n=9;while(n6)n-;printf(%d,n);)该 程 序 段 的 输 出 结 果 是(A).A:987 B:876 C:8765 D:9876第 14题(2.0分)以 下 程 序 的 输 出 结 果 是(A).ftinclude void main()int x=10,y=10,i;for(i=0;x8;y=+i)printf(%d%d”,x-,y);)A:10 1 9 2 B:9 8 7 6C:10 9 9 0 D:10 10 9 1第 15题(2.0分)有 如 下 程 序:#includevoid main()int n5=
8、0,0,0,i,k=2;for(i=0;ik;i+)printf(,%dn,,nk);)该 程 序 的 输 出 结 果 是(D).A:不 确 定 的 值 B:2 C:1 D:0第 16题(2.0分)下 列 程 序 执 行 后 的 输 出 结 果 是(A).#includevoid main()char arr2 4;strcpy(arr,you);strcpy(arr 1,;arr 0 3=,&;printf(s n”,arr);)A:you&me B:you C:me D:err第 17题(2.0分)以 下 程 序 的 输 出 结 果 是(C).#includevoid main()int
9、i,x3 3=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)printf(%d,xi 2-i);A:1,5,9,B:1,4,7,C:3,5,7,D:3,6,9,第 18题(2.0分)以 下 数 组 定 义 中 不 正 确 的 是(B).A:int a2 3;B:int b 3=0,1,2,3;C:int c100100=0;D:int d3=1,2,1,2,3,1,2,3,4;第 19题(2.0分)以 下 能 正 确 定 义 数 组 并 正 确 赋 初 值 的 语 句 是(D).A:int N=5,bN N;B:int al 2=1,3;C:int c2=1,2,3,4;D:
10、int d32=l,2,3,4;第 20题(2.0分)有 以 下 程 序:int a=4;int f(int n)(int t=0;static int a=5;if(n%2)int a=6;t+=a+;else int a=7;t+=a+;return t+a+;main()(int s=a,i=0;for(;i2;i+)s+=f(i);printf(dn,s);)程 序 运 行 后 的 输 出 结 果 是()A:24 B:28 C:32 D:36第 21题(2.0分)以 下 正 确 的 函 数 定 义 形 式 为(A)A:double fun(int x,int y)B:double fu
11、n(int x;y)C:double fun(int x;int y)D:double fun(int x,y)第 22题(2.0分)C 语 言 规 定,函 数 返 回 值 的 类 型 是 由(A)A:return语 句 中 的 表 达 式 类 型 所 决 定 的 B:调 用 该 函 数 时 的 主 调 函 数 类 型 所 决 定 的 C:调 用 该 函 数 时 系 统 临 时 决 定 的 D:在 定 义 该 函 数 时 所 指 定 的 函 数 类 型 所 决 定 的 第 23题(2.0分)有 以 下 程 序:void swapl(int c0,int cl)int t;t=c00;c00=c
12、l 0;cl 0=t;void swap2(int*c0,int*cl)int t;t=*c0;*c0=*cl;*cl=t;main()int a2=3,5,b2=3,5;swapl(a,a+1);swap2(&b0,&bl);printf(z,%d%d%d%dn,,a0,al,b0,bl);A:3 5 5 3 B:5 3 3 5C:3 5 3 5 D:5 3 5 3第 24题(2.0分)以 下 程 序 的 输 出 结 果 是().amovep(int*p,int(*a)3,int n)int i,j;for(i=0;in;i+)for(j=0;jn;j+)*p=ai j;p+;main()i
13、nt*p,a33=l,3,5,2,4,6;p=(int*)malloc(100);amovep(p,a,3);printf(,?%d%d n”,p2,p5);free(p);)A:5 6 B:2 5 C:3 4 D:程 序 错 误 第 25题(2.0分)有 以 下 函 数:fun(char*a,char*b)while(*a!=0)&(*b!=0)&(*a=*b)a+;b+;return(*a-*b);该 函 数 的 功 能 是().A:计 算 a 和 b 所 指 字 符 串 的 长 度 之 差 B:将 b 所 指 字 符 串 复 制 到 a 所 指 字 符 串 中 C:将 b 所 指 字 符
14、 串 连 接 到 a 所 指 字 符 串 后 面 D:比 较 a 和 b 所 指 字 符 串 的 大 小第 26题(2.0分)有 以 下 程 序:fun(char p 10)int n=0,i;for(i=0;i7;i+)if(pi 0=T)n+;return n;)main()charstr 10=Mon,Tue,Wed,Thu,Fri,Sat,Sun;printf(%dn”,fun(str);)程 序 执 行 后 的 输 出 结 果 是().A:1 B:2 C:3 D:0第 27题(2.0分)有 以 下 程 序:main()char str口 10=China,Beijing,*p=str
15、;printf(%sn”,p+10);程 序 运 行 后 的 输 出 结 果 是().A:China B:Beijing C:ng D:ing第 28题(2.0分)有 以 下 程 序:ftdefine f(x)(x*x)main()int il,i2;il=f(8)/f(4)i2=f(4+4)/f(2+2)printf(%d,%dn”,il,i2);)程 序 运 行 后 的 输 出 结 果 是().A:64,28 B:4,4 C:4,3 D:64,64第 29题(2.0分)有 以 下 程 序:void change(int k)k0=k5;main()int x10=l,2,3,4,5,6,7
16、,8,9,10,n=0;while(n=4)change(&xn);n+;for(n=0;n5;n+)printf xn);printf(n);A:678910 B:13579 C:12345 D:62345第 30题(2.0分)在 以 下 程 序 中,能 够 通 过 调 用 函 数 fun(),使 main()函 数 中 的 指 针 变 量 P 指 向 一 个 合 法 的 整 型 单 元 的 是().A:main()int*p;fun(p);int fun(int*p)int s;P=&s;B:main()int*p;fun(&p);int fun(int*p)int s;*p=&s;C:#
17、include main()int*p;fun(&p);int fun(int*p)*p=(int*)malloc(2);D:#include main()int*p;fun(p);)int fun(int*p)p=(int*)malloc(sizeof(int);二、程 序 填 空 共 1题(共 计 10分)第 1题(1 0.0分)【程 序 填 空】功 能:计 算 平 均 成 绩 并 统 计 9 0分 以 上 人 数。main()(int n,m;float grade,average;/*SPACE*/average=n=m=?;while(1)/*SPACE*/?!&grade);if(
18、grade0)break;n+;average+=grade;/*SPACE*/if(grade90)?);m+;)if(n)printf(%.2f%dn”,average/n,m);)三、程 序 改 错 共 1 题(共 计 10分)第 1 题(10.0分)【程 序 改 错】功 能:首 先 把 b 所 指 字 符 串 中 的 字 符 按 逆 序 存 放,然 后 将 a 所 指 字 符 串 中 的 字 符 和 b 所 指 字 符 串 中 的 字 符,按 排 列 的 顺 序 交 叉 合 并 到 c所 指 数 组 中,过 长 的 剩 余 字 符 接 在 c所 指 数 组 的 尾 部。例 如:当 a
19、所 指 字 符 串 中 的 内 容 为“abcdefg,b 所 指 字 符 串 中 的 内 容 为“1234”时,c 所 指 数 组 中 的 内 容 应 该 为“a4b3c2dlefg;而 当 a 所 指 字 符 串 中 的 内 容 为“1234”,b 所 指 字 符串 中 的 内 容 为“abcdefg”时,c 所 指 数 组 中 的 内 容 应 该 为“lg2f3e4dcba”。ftinclude ftinclude ftinclude void fun(char*a,char*b,char*c)(int i,j;char ch;i=0;j=strlen(b)-l;/*FOUND*/whi
20、le(i j)ch=bi;bi=bj;bj=ch;i+;j;)/*F0UND*/while(*a&*b)if(*a)(*c=*a;c+;/*FOUND*/a+;if(*b)(*c=*b;c+;b+;)*c=0;)main()char sl100,s2100,t200;clrscr();printf(nEnter si string:)scanf si);printf(nEnter s2 string:);scanf(%s,s2);fun(si,s2,t);printf(nThe result is:%sn”,t);)四、程 序 设 计 共 1 题(共 计 20分)第 1 题(20.0分)【程
21、序 设 计】功 能:判 断 一 个 整 数 w 的 各 位 数 字 平 方 之 和 能 否 被 5 整 除,可 以 被 5 整 除 则 返 回 1,否 则 返 回 0。ftinclude“stdio.h#include“conio.hin t fun(int w)/*Prograni*/*End*/)main()(in t m;prin tf(E n ter m:);scanf&m);p rin tf(nThe re su lt is%dn,/,yzj 0;getchO;fun(m);yzj 0FILE*IN,*OUT;in t c;in t t;in t o;IN=fopen(in.dat,r);if(IN=NULL)(printf(R ead F ile E rror);)OUT=fopen(out.dat,w);if(OUT=NULL)(printf(W rite F ile E rror);for(c=l;c=5;c+)fscanf(IN,%d,&t);o=fun(t);fp rin tf(OUT,,%dn,/,o);fclose(IN);fclose(OUT);
限制150内