c语言普及组试题,06年普及组C语言试卷.pdf

本文介绍了第十二届全国青少年信息学奥林匹克联赛初赛C语言部分,涵盖选择题、排序算法、高级语言特性、输入效率分析,以及编程实践。讲解了关键概念如计算机科学家奖项、软件环境选择、数据持久化等,并提供了解答实例和编程题目的完善。适合对竞赛及C语言初学者了解相关知识要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第十二届全国青少年信息学奥林匹克联赛初赛试题 普及组普及组 C 语言语言 二小时完成二小时完成 全部试题答案均要求写在答卷纸上 写在试卷纸上一律无效全部试题答案均要求写在答卷纸上 写在试卷纸上一律无效 一 一 单项选择题单项选择题 共 共20 题 每题题 每题1 5 分 共计分 共计30 分 每题有且仅有一个正确答案分 每题有且仅有一个正确答案 1 在下面各世界顶级的奖项中 为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是 A 沃尔夫奖 B 诺贝尔奖 C 菲尔兹奖 D 图灵奖 2 在下列各软件中 不属于NOIP 竞赛 复赛 推荐使用的语言环境有 A gcc g B Turbo Pascal C RHIDE D free pascal 3 以下断电之后仍能保存数据的有 A 寄存器 B ROM C RAM D 高速缓存 4 Linux 是一种 A 绘图软件 B 程序设计语言 C 操作系统 D 网络浏览器 5 CPU 是 的简称 A 硬盘 B 中央处理器 C 高级程序语言 D 核心寄存器 6 在计算机中 防火墙的作用是 A 防止火灾蔓延 B 防止网络攻击 C 防止计算机死机 D 防止使用者误删除数据 7 在下列关于计算机语言的说法中 不正确的是 A Pascal和C都是编译执行的高级语言 B 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上 C C 是历史上的第一个支持面向对象的计算机语言 D 与汇编语言相比 高级语言程序更容易阅读 8 在下列关于计算机算法的说法中 不正确的是 A 一个正确的算法至少要有一个输入 B 算法的改进 在很大程度上推动了计算机科学与技术的进步 C 判断一个算法的好坏的主要标准是算法的时间复杂性与空间复杂性 1 D 目前仍然存在许多涉及到国计民生的重大课题 还没有找到能够在计算机上实施的有效算法 9 在下列各种排序算法中 不是以 比较 作为主要操作的算法是 A 选择排序 B 冒泡排序 C 插入排序 D 基数排序 10 在编程时 使用任一种高级语言 不一定是 C 如果需要从磁盘文件中输入一个很大的二维数组 例如 1000 1000 的 double 型数组 按行读 即外层循环是关于行的 与按列读 即外层循环是 关于列的 相比 在输入效率上 A 没有区别 B 按行读的方式要高一些 C 按列读的方式要高一些 D 取决于数组的存储方式 11 在C 语言中 表达式21 2 的值是 A 441 B 42 C 23 D 24 12 在C 语言中 判断a不等于0 且b 不等于0 的正确的条件表达式是 A a 0 b 0 B a 0 for i 0 i10 y b 100 u 3 u u 0 3 5 3 else y 20 b 100 u 3 u u 0 3 5 printf d d n x y return 0 注 本例中 给定的输入数据可以避免分母为0 或下标越界 输入 9 3 9 4 输出 2 include main int i j m 2 3 5 7 13 long t for i 0 i 4 i t 1 for j 1 j m i j t 2 printf ld t 2 1 t printf n 输出 3 include stdio h define N 7 int fun char s char a int n int j j n while a0 j return j int main char s N 1 int k p for k 1 k N k s k A 2 k 1 printf d n fun s M N 输出 4 4 include void digit long n long m if m 0 printf 2ld n 10 if m 1 digit n 10 m 10 printf 2ld n 10 main long x x2 printf Input a number n scanf ld x2 1 while x2 x x2 10 x2 10 digit x x2 printf n 输入 9734526 输出 四 完善程序四 完善程序 前前4空 每空空 每空2 5 分 后分 后6 空 每空空 每空3 分 共分 共28 分分 1 全排列 全排列 下面程序的功能是利用递归方法生成从 1 到 n n 10 的 n 个数的全部可能的排列 不一 定按升序输出 例如 输入3 则应该输出 每行输出5 个排列 123 132 213 231 321 312 程序 include int n a 10 a 1 a 2 a n 构成n 个数的一个排列 long count 0 变量count 记录不同排列的个数 这里用于控制换行 void perm int k int j p t if count for p 1 p n p printf 1d a p 1d 中是数字1 不是字母l printf if printf n return 5 for j k j n j t a k a k a j a j t t a k main int i printf Entry n n scanf d for i 1 i n i a i i 2 由键盘输入一个奇数 P P 100 000 000 其个位数字不是 5 求一个整数 S 使 P S 1111 1 在给定的条件下 解 S 必存在 要求在屏幕上依次输出以下结果 1 S 的全部数字 除最后一行外 每行输出 50 位数字 2 乘积的数字位数 例1 输入p 13 由于13 8547 111111 则应输出 1 8547 2 6 例2 输入p 147 则输出结果应为 1 755857898715041572184429327286470143613 2 42 即等式的右端有42 个1 程序 include main long p a b c t n int bl while 1 printf 输入 p 最后一位为 1 或 3 或 7 或 9 n scanf ld if p 2 0 a 0 n 0 while a0 printf nn ld n 7

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值