koorio.com
海量文库 文档专家
赞助商链接
当前位置:首页 >> 学科竞赛 >>

NOIP2014(第二十届)初赛普及组C语言试题及答案


第二十届全国青少年信息学奥林匹克联赛初赛 普及组 C 语言试题 竞赛时间:2014 年 10 月 12 日 14:30~16:30 选手注意: ? 试题纸共有 8 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在 试题纸上的 一律无效。 ? 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资 料。 一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选 项) 1. 以下哪个是面向对象的高级语言( A. 汇编语言 B. C++ C. Fortran )。

D. Basic

2. 1TB 代表的字节数量是( A. 2 的 10 次方

)。 D. 2 的 40 次方

B. 2 的 20 次方 C. 2 的 30 次方

3. 二进制数 00100100 和 00010101 的和是( A. 00101000 B. 001010100 C. 01000101 )。

)。

D. 00111001

4. 以下哪一种设备属于输出设备( A. 扫描仪 B. 键盘 C. 鼠标

D. 打印机 )。

5. 下列对操作系统功能的描述最为完整的是( A. 负责外设与主机之间的信息交换 B. 负责诊断机器的故障

C. 控制和管理计算机系统的各种硬件和软件资源的使用 D. 将源程序编译成目标程序 6. CPU、存储器、I/O 设备是通过( A. 接口 B. 总线 C. 控制线 )连接起来的。

D. 系统文件 )。

7. 断电后会丢失数据的存储器是(

第 1 页 共 1 页

A. RAM

B. ROM

C. 硬盘

D. 光盘 )。

8. 以下哪一种是属于电子邮件收发的协议( A. SMTP B. UDP C. P2P D. FTP 9. 下列选项中不属于图像格式的是( A. JPEG 格式 B. TXT 格式 )。

C. GIF 格式 )。

D. PNG 格式

10. 链表不具有的特点是( 素

A. 不必事先估计存储空间 B. 可随机访问任一元素 C. 插入删除不需要移动元 D. 所需空间与线性表长度成正比 11. 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( A. 296 B. 133 C. 256 D. 199 )。 D. 10.0.0.1 )。

12. 下列几个 32 位 IP 地址中,书写错误的是( A. 162.105.128.27 B. 192.168.0.1

C. 256.256.129.1

13. 要求以下程序的功能是计算:s = 1 + 1/2 + 1/3 + ... + 1/10。 #include <stdio.h> int main() { int n; float s; s = 1.0; for (n = 10; n > 1; n--) s = s + 1 / n; printf("%6.4f\n", s); return 0; } 程序运行后输出结果错误,导致错误结果的程序行是( A. s = 1.0; B. for (n = 10; n > 1; n--) C. s = s + 1 / n; )。 D. printf("%6.4f\n", s);

14. 设变量 x 为 float 型且已赋值, 则以下语句中能将 x 中的数值保留到小数点后 两位,并将第三位四舍五入的是( )。

第 2 页 共 2 页

A. x = (x * 100) + 0.5 / 100.0; B. B. x = (x * 100 + 0.5) / 100.0; C. C. x = (int) (x * 100 + 0.5) / 100.0; D. x = (x / 100 + 0.5) * 100.0; 15. 有以下程序: #include <stdio.h> int main() { int s, a, n; s = 0; a = 1; scanf("%d", &n); do { s += 1; a -= 2; } while (a != n); printf("%d\n", s); return 0; } 若要使程序的输出值为 2,则应该从键盘给 n 输入的值是( A. -1 B. -3 C. -5 D. 0 )。 )。

16. 一棵具有 5 层的满二叉树中结点数为( A. 31 B. 32 C. 33 D. 16

17. 有向图中每个顶点的度等于该顶点的( A. 入度 B. 出度 C. 入度与出度之和 D. 入度与出度之差

)。

18. 设有 100 个数据元素,采用折半搜索时,最大比较次数为( A. 6 B. 7 C. 8 D. 10

)。

19. 若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值,

第 3 页 共 3 页

c > 0。 s = a; for (b = 1; b <= c; b++) s += 1; 则与上述程序段功能等价的赋值语句是( )。 A. s = a + b B. s = a + c C. s = s + c D. s = b + c 20. 计算机界的最高奖是( )。

A. 菲尔兹奖 B. 诺贝尔奖 C. 图灵奖 D. 普利策奖 二、问题求解(共 2 题,每题 5 分,共计 10 分;每题全部答对得 5 分,没有部 分分) 1. 把 M 个同样的球放到 N 个同样的袋子里,允许有的袋子空着不放,问共有多 少种不同的放置方法?(用 K 表示)。 例如:M = 7,N = 3 时,K = 8;在这里认为(5,1,1)和(1,5,1)是同一种放置 方法。 问:M = 8,N = 5 时,K = _________。 2. 如图所示,图中每条边上的数字表示该边的长度,则从 A 到 E 的最短距离是 _________。 三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分) 1. #include <stdio.h> int main() { int a, b, c, d, ans; scanf("%d%d%d", &a, &b, &c); d = a - b; a = d + c; ans = a * b; printf("Ans = %d\n", ans); return 0; }

第 4 页 共 4 页

输入:2 3 4 输出:_________ 2. #include <stdio.h> int fun(int n) { if (n == 1) if (n == 2) } int main() { int n; scanf("%d", &n); printf("%d\n", fun(n)); return 0; } 输入:7 输出:_________ 3. #include <stdio.h> #include <string.h> const int SIZE = 100; int main() { char st[SIZE]; int i, len; fgets(st, sizeof(st), stdin); for (i = 0; i < len; i++){ if (st[i] >= 'a' && st[i] <= 'z') } printf("%s\n", st); return 0; } 输入:Hello, my name is Lostmonkey. 输出:_________ st[i] = st[i] - 'a' + 'A'; len = strlen(st); return 1; return 2;

return fun(n - 2) - fun(n - 1);

第 5 页 共 5 页

4. #include <stdio.h> const int SIZE = 100; int main() { int p[SIZE]; int n, tot, i, cn; tot = 0; scanf("%d", &n); for (i = 1; i <= n; i++) p[i] = 1; for (i = 2; i <= n; i++) { if (p[i] == 1) tot++; cn = i * 2; while (cn <= n) { p[cn] = 0; cn += i; } } printf("%d\n", tot); return 0; } 输入:30 输出:_________ 四、完善程序(共 2 题,每题 14 分,共计 28 分) 1. (数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。 (每空 3 分,共 12 分) #include <stdio.h> int delnum(char *s) { int i, j; j = 0;

第 6 页 共 6 页

for (i = 0; s[i] != '\0'; i++) if (s[i] < '0' { s[j] = s[i]; (2) } return } const int SIZE = 30; int main() { char s[SIZE]; int len, i; fgets(s, sizeof(s), stdin); len = delnum(s); for (i = 0; i < len; i++) printf("\n"); return 0; } 2. (最大子矩阵和)给出 m 行 n 列的整数矩阵,求最大的子矩阵和(子矩阵不 能为空)。 输入第一行包含两个整数 m 和 n,即矩阵的行数和列数。之后 m 行,每行 n 个 整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空 4 分,其余 3 分,共 16 分) #include <stdio.h> const int SIZE = 100; int matrix[SIZE + 1][SIZE + 1]; int rowsum[SIZE + 1][SIZE + 1]; n, i, j, first, last, area, ans; int main() { scanf("%d %d", &m, &n); for (i = 1; i <= m; i++) for (j = 1; j <= n; j++) //rowsum[i][j]记录第 i 行前 j 个数的和 int m, printf("%c", (4) ); (3) (1) s[i] > '9')

第 7 页 共 7 页

scanf("%d", &matrix[i][j]); ans = matrix (1) (2) for (i = 1; i <= m; i++) for (i = 1; i <= m; i++) for (j = 1; j <= n; j++) rowsum[i][j] = (3) for (first = 1; first <= n; first++) for (last = first; last <= n; last++) { (4) for (i = 1; i <= m; i++) { area += (5) if (area > ans) ans = area; if (area < 0) area = 0; } } printf("%d\n", ans); return 0; }

第 8 页 共 8 页

第二十届全国青少年信息学奥林匹克 联赛初赛 普及组参考答案
一、单项选择题(共20 题,每题1.5 分,共计30 分) 1 B 11 D 2 D 12 C 3 D 13 C 4 D 14 C 5 C 15 B 6 B 16 A 7 A 17 C 8 A 18 B 9 B 19 B 10 B 20 C

二、问题求解(共2 题,每题5 分,共计10 分;每题全部答对得5 分,没有部分分) 1. 2. 18 11

三、阅读程序写结果(共4 题,每题8 分,共计32 分) 1. 2. 3. 4. Ans = 9 -11 HELLO, MY NAME IS LOSTMONKEY. 10

四、 完善程序 (共计28 分, 以下各程序填空可能还有一些等价的写法, 由各省赛区组织本省专家审 定及 上机验证,可以不上报CCF NOI 科学委员会复核) Pascal 语言 1. (1) (2) (3) (4) 2. (1) (2) (3) (4) (5) [1,1] rowsum[i,0]:=0 rowsum[i,j-1]+matrix[i,j] area:=0 rowsum[i,last]-rowsum[i,first-1] or j:=j+1 或 inc(j) j s[i] [1][1] rowsum[i][0]=0 rowsum[i][j-1]+matrix[i][j] area=0 rowsum[i][last]-rowsum[i][first-1] C++语言 || j++ 或 j=j+1 或 ++j C 语言 分值 3 3 3 3 3 3 3 3 4

第 9 页 共 9 页


赞助商链接
推荐相关:

NOIP(2014)第二十届全国青少年信息学奥林匹克联赛初赛(...

NOIP(2014)第二十届全国青少年信息学奥林匹克联赛初赛(普及组试题及答案)_学科...A. 汇编语言 B. C++ C. Fortran D. Basic 2、1TB 代表的字节数量是( )...


NOIP2014初赛普及组试题_C++

NOIP2014初赛普及组试题_C++_学科竞赛_初中教育_教育专区。NOIP2014初赛普及组试题 第二十届全国青少年信息学奥林匹克联赛初赛 普及组 C++语言试题 一、快单项选择题...


NOIP2014初赛普及组标准答案

NOIP2014初赛普及组标准答案_财会/金融考试_资格考试/认证_教育专区。第二十届...[first-1] C++语言 || j++ 或 j=j+1 或 ++j C 语言 分值 3 3 3...


noip2014普及组初赛试题

noip2014普及组初赛试题_学科竞赛_初中教育_教育专区。noip2014普及组初赛试题 第二十届全国青少年信息学奥林匹克联赛初赛普及组 pascal 语言试题 1、以下哪个是面向...


noip2014初赛普及组Pascal试题

noip2014初赛普及组Pascal试题 - 第二十届全国青少年信息学奥林匹克联赛初赛 普及组 Pascal 语言试题 竞赛时间:2014 年 10 月 12 日 14:30-16:30 一、...


NOIP2014普及组复赛试题解答2

NOIP2014普及组复赛试题解答2_IT认证_资格考试/认证...解法一 #include<cstdio> using namespace std; ...noip2014普及组初赛试题 2835人阅读 8页 1下载券 ...


noip2014普及组复赛题解

noip2014普及组复赛题解_财会/金融考试_资格考试/认证_教育专区。noip2014普及组...NOIP2014普及组复赛试题... 6页 免费 NOIP2014初赛普及组c语言... 8页 免费...


NOIP2014普及组解题报告

(方法 2): #include<cstdio> using namespace std; int n, a[101], i,...2008年NOIP普及组解题报... 6页 1下载券 NOIP2014初赛普及组试题... 6页...


NOIP2012普及组初赛及答案(Pascal)

NOIP2012普及组初赛及答案(Pascal)_学科竞赛_初中...第十届NOIP初赛试题及答... 9页 免费 NOIP2006...2页 2下载券 NOIP2009初赛普及组(C语... 3页...


2014年第二十届NOIP广东赛区成绩公告(正式版)

2014第二十届NOIP广东赛区成绩公告(正式版)_制度...普及组(初中)学校团体总分=60*A+30*B+15*C+2*...2014证券资格证券交易高分突破试卷及答案 2014年证券考试...

网站首页 | 网站地图
All rights reserved Powered by 酷我资料网 koorio.com
copyright ©right 2014-2019。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com