第一范文网 - 专业文章范例文档资料分享平台

NOIP2014普及组解析

来源:用户分享 时间:2025/5/22 7:31:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第二十届全国青少年信息学奥林匹克联赛初赛

普及组C语言试题

一、单项选择题(共 20题,每题 1.5分,共计 30分;每题有且仅有一个正确选 项)

4. 以下哪一种设备属于输出设备( )。 A. 扫描仪 B. 键盘 C. 鼠标 D. 打印机 答案:D

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

C. 控制和管理计算机系统的各种硬件和软件资源的使用 D. 将源程序编译成目标程序 答案:C

6. CPU、存储器、I/O 设备是通过( )连接起来的。 A. 接口 B. 总线 C. 控制线 D. 系统文件 答案:B

7. 断电后会丢失数据的存储器是( )。 A. RAM B. ROM C. 硬盘 D. 光盘 答案:A

9. 下列选项中不属于图像格式的是( )。

A. JPEG 格式 B. TXT 格式 C. GIF格式 D. PNG 格式 答案:B

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

A. 不必事先估计存储空间 B. 可随机访问任一元素

C. 插入删除不需要移动元素 D. 所需空间与线性表长度成正比 答案:B

11. 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是(A. 296 B. 133 C. 256 D. 199 答案:D

13. 要求以下程序的功能是计算:s = 1 + 1/2 + 1/3 + ... + 1/10。 #include int main() { int n; float s; s = 1.0;

for (n = 10; n > 1; n--) s = s + 1 / n;

) printf(\ return 0; }

程序导致错误结果的程序行是( )。

A. s = 1.0; B. for (n = 10; n > 1; n--) C. s = s + 1 / n; D. printf(\答案:C

解析:1/n,/两边均为整型数,表示“整除”。

14. 设变量x为 float型且已赋值,则以下语句中能将 x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。 A. x = (x * 100) + 0.5 / 100.0; B. x = (x * 100 + 0.5) / 100.0; C. x = (int) (x * 100 + 0.5) / 100.0; D. x = (x / 100 + 0.5) * 100.0; 答案:C

15. 有以下程序: #include int main() { int s, a, n; s = 0; a = 1;

scanf(\ do {

s += 1; a -= 2; } while (a != n); printf(\ return 0; }

若要使程序的输出值为 2,则应该从键盘给n输入的值是( )。 A. -1 B. -3 C. -5 D. 0 答案:B

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

解析:层数为k的满二叉树中节点数为2^k-1

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

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

解析:2^7 = 128

19. 若有如下程序段,其中 s、a、b、c均已定义为整型变量,且a、c均已赋值,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 答案:B

二、问题求解(共 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 = _________。 答案:18

解析:1+1+2+3+5+4+2=18 方案1: 8 (1) 方案2: 7 1 (1)

方案3: 6 2 、6 1 1 (2)

方案4: 5 3、 5 21、5 1 1 1 (3)

方案5: 4 4、 4 3 1、4 2 2、4 2 1 1、4 1 1 1 1(5) 方案6: 3 3 2、3 2 2 1、3 3 1 1 、3 2 1 1 1 (4) 方案7: 2 2 2 2、2 2 2 1 1 (2)

2. 如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是_________。

答案:11

三、阅读程序写结果(共 4题,每题 8分,共计 32分)

1. #include

int main() {

int a, b, c, d, ans;

scanf(\ d = a - b; a = d + c; ans = a * b;

printf(\ return 0; }

输入:2 3 4 输出:_________ 答案:Ans=9

2. #include

int fun(int n) { if (n == 1) return 1; if (n == 2) return 2;

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

int main() { int n;

scanf(\

printf(\ return 0; }

输入:7

输出:_________ 答案:-11

3. #include #include

const int SIZE = 100;

int main() {

搜索更多关于: NOIP2014普及组解析 的文档
NOIP2014普及组解析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4wwc58nd9m5zpal1bu47_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top