Initial commit: C++ courseware
This commit is contained in:
commit
4a4ee7c287
1789 files changed
+373489
No files matched your search
@@ -0,0 +1,187 @@
|
||||
# NOI CSP-J 初赛专项模拟题:计算机的基本构成
|
||||
|
||||
## 一、单项选择题
|
||||
|
||||
1. 世界上第一台电子计算机 ENIAC 诞生于 1946 年,它主要使用的逻辑元件是( )。
|
||||
A. 晶体管
|
||||
B. 电子管
|
||||
C. 集成电路
|
||||
D. 超大规模集成电路
|
||||
|
||||
2. 提出“存储程序”与“二进制”思想,奠定了现代计算机基本结构理论基础的科学家是( )。
|
||||
A. 艾伦·图灵 (Alan Turing)
|
||||
B. 冯·诺依曼 (John von Neumann)
|
||||
C. 克劳德·香农 (Claude Shannon)
|
||||
D. 戈登·摩尔 (Gordon Moore)
|
||||
|
||||
3. 计算机硬件系统由五大基本部件组成,它们是( )。
|
||||
A. 主机、显示器、键盘、鼠标、音箱
|
||||
B. 控制器、运算器、存储器、输入设备、输出设备
|
||||
C. CPU、内存、硬盘、显卡、主板
|
||||
D. 硬件系统、软件系统、操作系统、网络、数据
|
||||
|
||||
4. 微型计算机的中央处理器(CPU)主要由( )组成。
|
||||
A. 运算器和存储器
|
||||
B. 控制器和存储器
|
||||
C. 运算器和控制器
|
||||
D. 运算器、控制器和内存
|
||||
|
||||
5. 下列存储器中,断电后数据会丢失,再次通电无法恢复的是( )。
|
||||
A. 硬盘 (Hard Disk)
|
||||
B. 只读存储器 (ROM)
|
||||
C. 随机存取存储器 (RAM)
|
||||
D. 闪存 (Flash Memory)
|
||||
|
||||
6. 在计算机中,连接 CPU、内存和外设之间传送信息的公共通道称为( )。
|
||||
A. 电缆
|
||||
B. 寄存器
|
||||
C. 总线 (Bus)
|
||||
D. 接口
|
||||
|
||||
7. 计算机的运算速度主要取决于( )。
|
||||
A. 磁盘容量和存取速度
|
||||
B. 操作系统软件的优劣
|
||||
C. 字长和主频
|
||||
D. 显示器的分辨率
|
||||
|
||||
8. 下列设备中,属于输出设备的是( )。
|
||||
A. 扫描仪
|
||||
B. 麦克风
|
||||
C. 绘图仪
|
||||
D. 摄像头
|
||||
|
||||
9. 某计算机的 CPU 主频为 2.4GHz,这里的“GHz”是( )的单位。
|
||||
A. 时间
|
||||
B. 速度
|
||||
C. 频率
|
||||
D. 容量
|
||||
|
||||
10. 计算机存储容量的基本单位是( )。
|
||||
A. 位 (Bit)
|
||||
B. 字节 (Byte)
|
||||
C. 字 (Word)
|
||||
D. 赫兹 (Hz)
|
||||
|
||||
11. 在计算机存储体系中,访问速度最快的是( )。
|
||||
A. 硬盘
|
||||
B. 内存 (DRAM)
|
||||
C. 高速缓冲存储器 (Cache)
|
||||
D. 光盘
|
||||
|
||||
12. 计算机软件系统主要分为( )两大类。
|
||||
A. 操作系统和数据库系统
|
||||
B. 系统软件和应用软件
|
||||
C. 编译软件和编辑软件
|
||||
D. 高级语言和机器语言
|
||||
|
||||
13. 完整的计算机系统应包括( )。
|
||||
A. 运算器、控制器和存储器
|
||||
B. 主机和外部设备
|
||||
C. CPU 和内存
|
||||
D. 硬件系统和软件系统
|
||||
|
||||
14. 下列软件中,属于系统软件的是( )。
|
||||
A. Excel
|
||||
B. 微信 (WeChat)
|
||||
C. Linux
|
||||
D. Python 解释器
|
||||
|
||||
15. 如果一台计算机的地址总线宽度为 16 位,那么它理论上最大能寻址的内存空间是( )。
|
||||
A. 16 KB
|
||||
B. 32 KB
|
||||
C. 64 KB
|
||||
D. 1 MB
|
||||
|
||||
16. 计算机指令主要由( )两部分组成。
|
||||
A. 操作码和操作数
|
||||
B. 数据和地址
|
||||
C. 运算符和结果
|
||||
D. 输入和输出
|
||||
|
||||
17. 1 MB (兆字节) 等于( )。
|
||||
A. 1000 KB
|
||||
B. 1024 KB
|
||||
C. 1024 GB
|
||||
D. 1000 Bit
|
||||
|
||||
18. 在微机中,VGA、HDMI 通常指的是( )的接口。
|
||||
A. 硬盘
|
||||
B. 打印机
|
||||
C. 显示器
|
||||
D. 网络
|
||||
|
||||
19. 将高级语言编写的源程序翻译成目标程序(机器码)的程序称为( )。
|
||||
A. 编辑程序
|
||||
B. 编译程序
|
||||
C. 链接程序
|
||||
D. 调试程序
|
||||
|
||||
20. 现代计算机中,数据和指令在内存中都是以( )形式存储的。
|
||||
A. 十进制
|
||||
B. 二进制
|
||||
C. 十六进制
|
||||
D. ASCII 码
|
||||
|
||||
---
|
||||
|
||||
## 二、答案与解析
|
||||
|
||||
1. **答案:B**
|
||||
* **解析**:ENIAC 是第一代计算机,使用电子管作为逻辑元件。第二代是晶体管,第三代是集成电路,第四代是大规模集成电路。
|
||||
|
||||
2. **答案:B**
|
||||
* **解析**:冯·诺依曼提出了“存储程序”原理,即程序和数据都以二进制形式存放在存储器中,计算机自动执行。这确立了现代计算机的体系结构。
|
||||
|
||||
3. **答案:B**
|
||||
* **解析**: 冯·诺依曼结构规定计算机硬件由运算器、控制器、存储器、输入设备、输出设备五大部分组成。
|
||||
|
||||
4. **答案:C**
|
||||
* **解析**:CPU(中央处理器)的核心部件是运算器(ALU)和控制器(CU),现代 CPU 内部还包含寄存器和 Cache,但主要组成部分是前两者。
|
||||
|
||||
5. **答案:C**
|
||||
* **解析**:RAM 是随机存取存储器,属于易失性存储器,断电后数据丢失。ROM、硬盘、闪存都是非易失性的。
|
||||
|
||||
6. **答案:C**
|
||||
* **解析**:总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线。
|
||||
|
||||
7. **答案:C**
|
||||
* **解析**:字长决定了 CPU 一次能处理的数据位数,主频决定了 CPU 的时钟节拍快慢,两者是影响运算速度的最关键硬件指标。
|
||||
|
||||
8. **答案:C**
|
||||
* **解析**:绘图仪用于打印大幅图纸,属于输出设备。扫描仪、麦克风、摄像头都是向计算机输入信息的设备。
|
||||
|
||||
9. **答案:C**
|
||||
* **解析**:GHz 是频率单位(吉赫兹),表示每秒钟震荡的次数,用于衡量 CPU 的时钟频率。
|
||||
|
||||
10. **答案:B**
|
||||
* **解析**:Bit(位)是最小的信息单位,但 Byte(字节)是基本的存储和寻址单位。1 Byte = 8 Bits。
|
||||
|
||||
11. **答案:C**
|
||||
* **解析**:存储器速度由快到慢排序通常为:CPU 寄存器 > Cache > 内存 (RAM) > 硬盘/光盘。
|
||||
|
||||
12. **答案:B**
|
||||
* **解析**:软件系统总体分为系统软件(如操作系统、驱动程序)和应用软件(如办公软件、游戏)。
|
||||
|
||||
13. **答案:D**
|
||||
* **解析**:计算机系统由“硬件系统”和“软件系统”两大部分组成,“裸机”无法工作。
|
||||
|
||||
14. **答案:C**
|
||||
* **解析**:Linux 是操作系统,属于系统软件。Excel、微信是应用软件。Python 解释器属于语言处理程序(广义上也属于系统软件范畴,但在 CSP-J 选项中,操作系统是最典型的系统软件,若无操作系统选项,语言处理程序可选;但此处 Linux 为最核心的系统软件)。
|
||||
|
||||
15. **答案:C**
|
||||
* **解析**:寻址范围计算公式为 $2^N$。$N=16$,则 $2^{16} = 65536$ 字节 = $64$ KB。
|
||||
|
||||
16. **答案:A**
|
||||
* **解析**:一条指令通常包括操作码(做什么操作)和操作数(对什么数据进行操作,通常是数据的地址)。
|
||||
|
||||
17. **答案:B**
|
||||
* **解析**:计算机中存储单位采用 1024 进制($2^{10}$)。$1 \text{MB} = 1024 \text{KB}$,$1 \text{KB} = 1024 \text{Byte}$。
|
||||
|
||||
18. **答案:C**
|
||||
* **解析**:VGA 和 HDMI 都是常见的视频传输接口,用于连接显示器或投影仪。
|
||||
|
||||
19. **答案:B**
|
||||
* **解析**:编译程序(Compiler)的作用是将高级语言源程序整体翻译成机器语言目标程序;解释程序则是逐条翻译执行。
|
||||
|
||||
20. **答案:B**
|
||||
* **解析**:在计算机内部,无论是数据(如数字、字符、图像)还是指令,最终都是以二进制代码(0 和 1)的形式存储和处理的。
|
||||
@@ -0,0 +1,248 @@
|
||||
# NOI CSP-J 初赛专项模拟题:操作系统的基本概念及其常见操作
|
||||
|
||||
## 一、单项选择题
|
||||
|
||||
1. 计算机系统中,负责管理和控制计算机硬件与软件资源、合理组织计算机工作流程以及方便用户使用的程序集合称为( )。
|
||||
|
||||
A. 应用软件
|
||||
|
||||
B. 操作系统
|
||||
|
||||
C. 数据库管理系统
|
||||
|
||||
D. 编译程序
|
||||
|
||||
2. 下列软件中,不属于操作系统的是( )。
|
||||
|
||||
A. Windows 11
|
||||
|
||||
B. Unix
|
||||
|
||||
C. Python
|
||||
|
||||
D. HarmonyOS
|
||||
|
||||
3. 关于 Linux 操作系统,下列说法正确的是( )。
|
||||
|
||||
A. Linux 是单用户单任务操作系统
|
||||
|
||||
B. Linux 主要用于个人娱乐,不适合用于服务器
|
||||
|
||||
C. Linux 是开源的、免费的操作系统
|
||||
|
||||
D. Linux 系统中文件扩展名决定了文件的类型,不可随意更改
|
||||
|
||||
4. 在 Windows 系统中,通常用来表示“纯文本文件”的扩展名是( )。
|
||||
|
||||
A. .jpg
|
||||
|
||||
B. .exe
|
||||
|
||||
C. .txt
|
||||
|
||||
D. .zip
|
||||
|
||||
5. 在 Windows 操作系统中,下列文件名命名非法的是( )。
|
||||
|
||||
A. My_File.txt
|
||||
|
||||
B. 2023-Data.doc
|
||||
|
||||
C. A*B?.ppt
|
||||
|
||||
D. CSP J 2023
|
||||
|
||||
6. 在 Windows 资源管理器或多数文本编辑器中,撤销上一步操作的快捷键通常是( )。
|
||||
|
||||
A. Ctrl + C
|
||||
|
||||
B. Ctrl + V
|
||||
|
||||
C. Ctrl + Z
|
||||
|
||||
D. Ctrl + A
|
||||
|
||||
7. 小明在整理电脑文件时,想把文件 A 从“D:\学习资料”文件夹移动到“E:\备份”文件夹,他应该进行的操作是( )。
|
||||
|
||||
A. 剪切 -> 粘贴
|
||||
|
||||
B. 复制 -> 粘贴
|
||||
|
||||
C. 删除 -> 恢复
|
||||
|
||||
D. 重命名
|
||||
|
||||
8. 某文件的大小显示为 2GB,它大约等于多少 MB?( )
|
||||
|
||||
A. 2000 MB
|
||||
|
||||
B. 2048 MB
|
||||
|
||||
C. 1000 MB
|
||||
|
||||
D. 1024 MB
|
||||
|
||||
9. 在 Windows 中,若选中一个文件并按住 Shift 键同时也按下 Delete 键,则该文件会( )。
|
||||
|
||||
A. 进入回收站,可以恢复
|
||||
|
||||
B. 被永久删除,不进入回收站(常规手段无法恢复)
|
||||
|
||||
C. 被复制到剪贴板
|
||||
|
||||
D. 被重命名
|
||||
|
||||
10. 我们常说的“64位操作系统”中的“64位”指的是( )。
|
||||
|
||||
A. 内存容量
|
||||
|
||||
B. CPU 的字长(一次能处理的数据位数)
|
||||
|
||||
C. 硬盘速度
|
||||
|
||||
D. 显示器色彩深度
|
||||
|
||||
11. 在操作系统中,目录(文件夹)结构通常采用( )数据结构来组织。
|
||||
|
||||
A. 线性表
|
||||
|
||||
B. 树形结构
|
||||
|
||||
C. 网状结构
|
||||
|
||||
D. 环形结构
|
||||
|
||||
12. 在 Linux 系统中,区分大小写是其重要特性之一。下列说法正确的是( )。
|
||||
|
||||
A. Test.cpp 和 test.cpp 在 Linux 下是同一个文件
|
||||
|
||||
B. Test.cpp 和 test.cpp 在 Linux 下是两个不同的文件
|
||||
|
||||
C. 只有在 Windows 下它们才是不同的文件
|
||||
|
||||
D. 只有在扩展名不同时才是不同文件
|
||||
|
||||
13. 下列选项中,主要用于智能手机和平板电脑的移动操作系统是( )。
|
||||
|
||||
A. iOS
|
||||
|
||||
B. MS-DOS
|
||||
|
||||
C. Linux RedHat
|
||||
|
||||
D. Windows Server
|
||||
|
||||
14. 如果一个文件被设置为“只读”属性,那么用户通常( )。
|
||||
|
||||
A. 不能打开该文件
|
||||
|
||||
B. 可以查看但不能修改保存该文件
|
||||
|
||||
C. 不能复制该文件
|
||||
|
||||
D. 看不到该文件
|
||||
|
||||
15. 现代操作系统(如 Windows, Linux, macOS)大都支持“多任务处理”,这意味着( )。
|
||||
|
||||
A. 计算机只能同时运行一个程序
|
||||
|
||||
B. 计算机可以同时运行多个程序,CPU 分时轮流处理
|
||||
|
||||
C. 需要多个 CPU 才能运行多个程序
|
||||
|
||||
D. 只有联网后才能运行多个程序
|
||||
|
||||
16. 在 Windows 系统中,想要快速切换当前正在运行的不同应用程序窗口,常用的快捷键是( )。
|
||||
|
||||
A. Alt + Tab
|
||||
|
||||
B. Ctrl + Shift
|
||||
|
||||
C. Windows + D
|
||||
|
||||
D. Ctrl + Alt + Del
|
||||
|
||||
17. 当我们新买了一台打印机连接到电脑上,通常需要安装“驱动程序”才能正常打印,驱动程序的作用是( )。
|
||||
|
||||
A. 提高打印机的打印速度
|
||||
|
||||
B. 充当操作系统与硬件设备之间的翻译和桥梁
|
||||
|
||||
C. 给打印机供电
|
||||
|
||||
D. 是一类文字处理软件
|
||||
|
||||
18. 操作系统中,“剪贴板”(Clipboard)的作用是作为临时存储区域,它通常位于计算机的( )中。
|
||||
|
||||
A. 硬盘
|
||||
|
||||
B. ROM
|
||||
|
||||
C. 内存(RAM)
|
||||
|
||||
D. 回收站
|
||||
|
||||
19. 下列哪项不属于操作系统的核心功能?( )
|
||||
|
||||
A. 处理器(CPU)管理
|
||||
|
||||
B. 编写计算机源代码
|
||||
|
||||
C. 存储器(内存)管理
|
||||
|
||||
D. 设备管理
|
||||
|
||||
20. 常见的用户界面主要分为 GUI(图形用户界面)和 CLI(命令行界面)。下列操作系统中,以提供直观的图形用户界面(GUI)而著称的是( )。
|
||||
|
||||
A. MS-DOS
|
||||
|
||||
B. Windows 10
|
||||
|
||||
C. 原始的 Unix Shell
|
||||
|
||||
D. BIOS 设置界面
|
||||
|
||||
------
|
||||
|
||||
## 答案与解析
|
||||
|
||||
1. **答案:B**
|
||||
- **解析:** 操作系统的标准定义。它是管理计算机硬件与软件资源的程序集合,是用户和计算机的接口。
|
||||
2. **答案:C**
|
||||
- **解析:** Python 是一种编程语言及其解释器,属于语言处理程序(系统软件的一种,但不是操作系统)。A、B、D 均为操作系统。
|
||||
3. **答案:C**
|
||||
- **解析:** Linux 是著名的开源、免费操作系统,支持多用户多任务,广泛用于服务器。Linux 下文件扩展名不是强制的,虽然习惯上会用扩展名区分,但改了扩展名不影响文件内容和类型。
|
||||
4. **答案:C**
|
||||
- **解析:** .txt 是纯文本;.jpg 是图片;.exe 是可执行程序;.zip 是压缩包。
|
||||
5. **答案:C**
|
||||
- **解析:** Windows 文件名中不能包含下列字符:`\ / : * ? " < > |`。选项 C 包含了 `*` 和 `?`,是非法的。
|
||||
6. **答案:C**
|
||||
- **解析:** 通用快捷键:Ctrl+C 复制,Ctrl+V 粘贴,Ctrl+X 剪切,Ctrl+Z 撤销,Ctrl+A 全选。
|
||||
7. **答案:A**
|
||||
- **解析:** 移动 = 剪切 + 粘贴。原位置文件消失,新位置出现。复制 = 复制 + 粘贴,原文件保留。
|
||||
8. **答案:B**
|
||||
- **解析:** 计算机存储单位换算率为 1024。$1 \text{GB} = 1024 \text{MB}$,所以 $2 \text{GB} = 2 \times 1024 = 2048 \text{MB}$。
|
||||
9. **答案:B**
|
||||
- **解析:** 这是一个重要的操作常识。直接 Delete 会放入回收站(可后悔);Shift + Delete 是物理删除(不进回收站,难以恢复)。
|
||||
10. **答案:B**
|
||||
- **解析:** 操作系统的位数取决于 CPU 的指令集架构和寻址能力。64位指 CPU 一次能处理 64 位二进制数据。
|
||||
11. **答案:B**
|
||||
- **解析:** 文件系统的目录结构是从根目录开始,逐级向下分支,这是一种典型的“树形结构”。
|
||||
12. **答案:B**
|
||||
- **解析:** 重要考点。Windows 文件系统通常不区分大小写。Linux 文件系统(Ext4等)严格区分大小写,所以 Test.cpp 和 test.cpp 是两个不同的文件。
|
||||
13. **答案:A**
|
||||
- **解析:** iOS 是苹果公司的移动操作系统。MS-DOS 是早期的命令行系统;RedHat 是服务器版 Linux;Windows Server 是服务器系统。
|
||||
14. **答案:B**
|
||||
- **解析:** “只读”属性意味着可以读取(Read)内容,但不能写入(Write/Modify)保存。
|
||||
15. **答案:B**
|
||||
- **解析:** 单核 CPU 在同一时刻只能执行一条指令。多任务处理是通过操作系统的调度,让 CPU 在不同程序间快速切换(分时),让人感觉是同时运行。
|
||||
16. **答案:A**
|
||||
- **解析:** Alt + Tab 是标准的切换窗口快捷键。Win + D 是显示桌面;Ctrl + Alt + Del 通常用于打开任务管理器或安全界面。
|
||||
17. **答案:B**
|
||||
- **解析:** 驱动程序(Driver)是硬件厂商提供的,让操作系统能够控制和使用该硬件的接口程序。没有驱动,操作系统无法识别或控制硬件。
|
||||
18. **答案:C**
|
||||
- **解析:** 剪贴板是内存(RAM)中的一块区域,用于临时存放交换的数据。如果电脑断电或重启,剪贴板中的内容通常会丢失。
|
||||
19. **答案:B**
|
||||
- **解析:** 操作系统的五大基本功能包括:处理器管理、存储器管理、设备管理、文件管理和作业管理。编写源代码是程序员的工作,使用的是编辑器或IDE,不属于操作系统的内核功能。
|
||||
20. **答案:B**
|
||||
- **解析:** GUI(Graphical User Interface)指图形用户界面,Windows 是典型的 GUI 操作系统。MS-DOS 和 Unix Shell 主要是 CLI(命令行界面)。
|
||||
@@ -0,0 +1,190 @@
|
||||
# NOI CSP-J 初赛专项模拟题:计算机网络与Internet的基本概念
|
||||
|
||||
## 单项选择题
|
||||
|
||||
1. **计算机网络最突出的优势是( )。**
|
||||
A. 提高计算机的运算速度
|
||||
B. 实现资源共享和信息传递
|
||||
C. 提高计算机的存储容量
|
||||
D. 增加计算机的稳定性
|
||||
2. **按照网络的覆盖范围,可以将计算机网络分为局域网(LAN)、城域网(MAN)和广域网(WAN)。下列关于这三者的描述,正确的是( )。**
|
||||
A. 覆盖范围:LAN > MAN > WAN
|
||||
B. 传输速率:WAN 通常高于 LAN
|
||||
C. Internet 是世界上最大的广域网
|
||||
D. 学校机房的网络通常属于城域网
|
||||
3. **在计算机网络拓扑结构中,若中央节点发生故障将导致整个网络瘫痪,这种结构是( )。**
|
||||
A. 总线型
|
||||
B. 环型
|
||||
C. 星型
|
||||
D. 网状型
|
||||
4. **目前互联网广泛使用的 TCP/IP 协议中,IP 地址(IPv4)是由( )位二进制数组成的。**
|
||||
A. 16
|
||||
B. 32
|
||||
C. 64
|
||||
D. 128
|
||||
5. **下列 IP 地址中,格式正确的是( )。**
|
||||
A. 192.168.1
|
||||
B. 202.102.300.1
|
||||
C. 10.0.0.1
|
||||
D. 172.16.256.1
|
||||
6. **为了解决 IPv4 地址枯竭的问题,新一代互联网协议 IPv6 应运而生。IPv6 采用的地址长度是( )。**
|
||||
A. 64位
|
||||
B. 128位
|
||||
C. 256位
|
||||
D. 512位
|
||||
7. **在 Internet 上,用于将域名(如 [www.noi.cn](https://www.roi.com))转换为对应的 IP 地址(如 202.10.1.1)的服务系统是( )。**
|
||||
A. URL
|
||||
B. DNS
|
||||
C. FTP
|
||||
D. HTTP
|
||||
8. **下列关于域名的说法中,错误的是( )。**
|
||||
A. 域名是 IP 地址的字符形式,便于人们记忆
|
||||
B. 域名中的 .com 通常代表商业机构,.edu 代表教育机构
|
||||
C. 域名具有层次结构,顶级域名在最右侧
|
||||
D. 一个 IP 地址只能对应一个域名,一个域名也只能对应一个 IP 地址
|
||||
9. **统一资源定位符(URL)用于标识互联网上的资源位置。在 URL `http://www.example.com/index.html` 中,`http` 代表的是( )。**
|
||||
A. 主机名
|
||||
B. 协议名
|
||||
C. 路径
|
||||
D. 文件名
|
||||
10. **电子邮件(E-mail)是互联网最基本的服务之一。下列电子邮件地址格式正确的是( )。**
|
||||
A. https://www.google.com/search?q=user.gmail.com
|
||||
B. user#gmail.com
|
||||
C. user@gmail.com
|
||||
D. [www.user.gmail.com](https://www.google.com/search?q=https://www.user.gmail.com)
|
||||
11. **在电子邮件收发过程中,通常用于发送邮件的协议是( ),用于接收邮件的协议是( )。**
|
||||
A. POP3; SMTP
|
||||
B. SMTP; POP3
|
||||
C. HTTP; FTP
|
||||
D. TCP; IP
|
||||
12. **超文本标记语言的英文缩写是( ),它是制作网页的基础。**
|
||||
A. HTTP
|
||||
B. HTML
|
||||
C. URL
|
||||
D. WWW
|
||||
13. **下列 IP 地址中,属于“C类”地址且通常用于局域网内部(私有地址)的是( )。**
|
||||
A. 10.0.0.1
|
||||
B. 172.16.1.1
|
||||
C. 192.168.1.100
|
||||
D. 127.0.0.1
|
||||
14. **Internet 提供的服务多种多样,其中 FTP 服务主要用于( )。**
|
||||
A. 远程登录
|
||||
B. 网页浏览
|
||||
C. 文件传输
|
||||
D. 电子公告板
|
||||
15. **远程登录允许用户通过网络控制远程计算机,就像坐在该计算机面前一样。远程登录使用的标准协议是( )。**
|
||||
A. Telnet
|
||||
B. FTP
|
||||
C. SMTP
|
||||
D. UDP
|
||||
16. **网页浏览器(Browser)是用户访问万维网的工具。下列软件中不属于浏览器的是( )。**
|
||||
A. Google Chrome
|
||||
B. Microsoft Edge
|
||||
C. Mozilla Firefox
|
||||
D. Apache HTTP Server
|
||||
17. **在 TCP/IP 协议簇中,ping 命令常用于测试网络的连通性。它利用的是( )协议。**
|
||||
A. TCP
|
||||
B. ICMP
|
||||
C. UDP
|
||||
D. ARP
|
||||
18. **关于万维网(WWW),下列说法错误的是( )。**
|
||||
A. WWW 是 World Wide Web 的缩写
|
||||
B. WWW 信息资源主要以网页形式呈现
|
||||
C. WWW 就是互联网(Internet)的代名词
|
||||
D. WWW 使用 HTTP 协议传输数据
|
||||
19. **在一个局域网中,多台计算机需要通过一条电话线或光纤接入 Internet,通常需要一个设备来进行网络地址转换(NAT)和路由转发,这个设备是( )。**
|
||||
A. 交换机 (Switch)
|
||||
B. 路由器 (Router)
|
||||
C. 集线器 (Hub)
|
||||
D. 网卡 (NIC)
|
||||
20. **IP 地址 127.0.0.1 是一个特殊的地址,它通常被称为( )。**
|
||||
A. 广播地址
|
||||
B. 网络地址
|
||||
C. 回环地址(Localhost)
|
||||
D. 网关地址
|
||||
|
||||
---
|
||||
|
||||
## 二、答案与解析
|
||||
|
||||
1. **答案:B**
|
||||
* **解析:** 计算机网络的主要目的是实现硬件、软件和数据资源的共享以及用户之间的信息传递。
|
||||
|
||||
|
||||
2. **答案:C**
|
||||
* **解析:** A项中 WAN 的覆盖范围最大;B项中通常局域网(LAN)的传输速率高于广域网(WAN),因为距离短、介质好;D项学校机房通常是局域网(LAN),整个城市的网络才可能是城域网(MAN)。Internet 是全球最大的广域网。
|
||||
|
||||
|
||||
3. **答案:C**
|
||||
* **解析:** 星型拓扑结构由一个中心节点(如交换机)和若干外围节点组成,所有数据都需经过中心节点。如果中心节点故障,全网瘫痪。总线型和环型某处断开可能会影响部分或全部,但星型对中心节点的依赖最强。
|
||||
|
||||
|
||||
4. **答案:B**
|
||||
* **解析:** IPv4 地址由 32 位二进制数组成,通常用点分十进制表示(如 192.168.1.1)。IPv6 是 128 位。
|
||||
|
||||
|
||||
5. **答案:C**
|
||||
* **解析:** IP 地址由 4 段数字组成,每段范围是 0-255。A项只有3段;B项 300 超出了 255;D项 256 超出了 255。C项 10.0.0.1 合法。
|
||||
|
||||
|
||||
6. **答案:B**
|
||||
* **解析:** IPv6(Internet Protocol Version 6)采用 128 位地址长度,号称可以为地球上的每一粒沙子分配一个 IP 地址。
|
||||
|
||||
|
||||
7. **答案:B**
|
||||
* **解析:** DNS(Domain Name System,域名系统)的作用就是建立域名和 IP 地址之间的映射关系,方便用户访问。
|
||||
|
||||
|
||||
8. **答案:D**
|
||||
* **解析:** 域名和 IP 地址并不是严格的一一对应关系。一台服务器(一个 IP)可以托管多个域名;大型网站(一个域名)也可以对应多个 IP(负载均衡)。
|
||||
|
||||
|
||||
9. **答案:B**
|
||||
* **解析:** URL 格式为 `协议://主机名/路径/文件名`。这里 `http` 是超文本传输协议。
|
||||
|
||||
|
||||
10. **答案:C**
|
||||
* **解析:** 电子邮件的标准格式是 `用户名@主机域名`。
|
||||
|
||||
|
||||
11. **答案:B**
|
||||
* **解析:** 发信通常使用 SMTP(简单邮件传输协议);收信通常使用 POP3(邮局协议第3版)或 IMAP。
|
||||
|
||||
|
||||
12. **答案:B**
|
||||
* **解析:** HTML(HyperText Markup Language)是超文本标记语言。HTTP 是传输协议;URL 是地址;WWW 是万维网服务。
|
||||
|
||||
|
||||
13. **答案:C**
|
||||
* **解析:** * A类私有地址:10.0.0.0 - 10.255.255.255
|
||||
* B类私有地址:172.16.0.0 - 172.31.255.255
|
||||
* C类私有地址:192.168.0.0 - 192.168.255.255
|
||||
* C 选项 192.168.1.100 是典型的 C 类私有地址。
|
||||
|
||||
|
||||
14. **答案:C**
|
||||
* **解析:** FTP(File Transfer Protocol)是文件传输协议,用于在网络上传输文件。
|
||||
|
||||
|
||||
15. **答案:A**
|
||||
* **解析:** Telnet 是 Internet 远程登录服务的标准协议。
|
||||
|
||||
|
||||
16. **答案:D**
|
||||
* **解析:** Apache HTTP Server 是一种 Web 服务器软件,用于提供网页服务,而不是用户用来浏览网页的客户端浏览器。Chrome、Edge、Firefox 都是浏览器。
|
||||
|
||||
|
||||
17. **答案:B**
|
||||
* **解析:** ping 命令基于 ICMP(Internet Control Message Protocol,互联网控制报文协议)工作,用于检测目标主机是否可达。
|
||||
|
||||
|
||||
18. **答案:C**
|
||||
* **解析:** WWW(万维网)只是运行在 Internet 上的一种服务(应用层),Internet 还包括 E-mail、FTP、Telnet 等其他服务,两者不能等同。
|
||||
|
||||
|
||||
19. **答案:B**
|
||||
* **解析:** 路由器(Router)的主要功能是连接不同的网络(如局域网和互联网),并进行数据包的路由转发和地址转换(NAT)。
|
||||
|
||||
|
||||
20. **答案:C**
|
||||
* **解析:** 127.0.0.1 是回环地址(Loopback Address),代表计算机本身,常用于本机测试。
|
||||
@@ -0,0 +1,151 @@
|
||||
# NOI CSP-J 初赛专项模拟题:计算机历史、应用与NOI活动
|
||||
|
||||
## 一、单项选择题
|
||||
|
||||
1. **世界上第一台通用电子数字计算机 ENIAC 诞生于( )。**
|
||||
A. 1936年
|
||||
B. 1946年
|
||||
C. 1956年
|
||||
D. 1964年
|
||||
2. **被后人誉为“计算机之父”,提出了“存储程序”概念的科学家是( )。**
|
||||
A. 艾伦·图灵 (Alan Turing)
|
||||
B. 冯·诺依曼 (John von Neumann)
|
||||
C. 克劳德·香农 (Claude Shannon)
|
||||
D. 查尔斯·巴贝奇 (Charles Babbage)
|
||||
3. **计算机的发展经历了四个时代,划分这四个时代的主要依据是( )。**
|
||||
A. 计算机的运算速度
|
||||
B. 计算机的物理体积
|
||||
C. 构成计算机的逻辑元件(电子器件)
|
||||
D. 计算机的编程语言
|
||||
4. **著名的“摩尔定律”(Moore's Law)指出,集成电路芯片上所集成的晶体管数目,大约每隔( )个月就翻一番。**
|
||||
A. 6
|
||||
B. 12
|
||||
C. 18
|
||||
D. 36
|
||||
5. **中国计算机学会(CCF)于( )年创办了全国青少年信息学奥林匹克竞赛(NOI)。**
|
||||
A. 1980
|
||||
B. 1984
|
||||
C. 1989
|
||||
D. 1995
|
||||
6. **在计算机应用领域中,CAD 的中文含义是( )。**
|
||||
A. 计算机辅助教学
|
||||
B. 计算机辅助设计
|
||||
C. 计算机辅助制造
|
||||
D. 计算机辅助测试
|
||||
7. **被认为是世界上第一位程序员的女性科学家是( )。**
|
||||
A. 葛丽丝·霍普 (Grace Hopper)
|
||||
B. 埃达·洛夫莱斯 (Ada Lovelace)
|
||||
C. 玛格丽特·汉密尔顿 (Margaret Hamilton)
|
||||
D. 希拉里·梅森 (Hilary Mason)
|
||||
8. **1984年,邓小平同志在上海观看小学生操作计算机程序演示后,提出了( )的著名论断,极大地推动了中国计算机教育的发展。**
|
||||
A. 计算机要从娃娃抓起
|
||||
B. 科学技术是第一生产力
|
||||
C. 普及计算机教育
|
||||
D. 学习编程,面向未来
|
||||
9. **目前,NOI 系列活动(包括 CSP-J/S, NOIP, NOI 等)中,官方支持的唯一的程序设计语言是( )。**
|
||||
A. C
|
||||
B. Pascal
|
||||
C. Python
|
||||
D. C++
|
||||
10. **IOI 是国际信息学奥林匹克竞赛的缩写,第一届 IOI 于 1989 年在( )举行。**
|
||||
A. 中国北京
|
||||
B. 美国华盛顿
|
||||
C. 保加利亚布拉维茨
|
||||
D. 希腊雅典
|
||||
11. **图灵奖(Turing Award)被誉为“计算机界的诺贝尔奖”,它是由( )设立的。**
|
||||
A. IEEE(电气电子工程师学会)
|
||||
B. ACM(美国计算机协会)
|
||||
C. Intel 公司
|
||||
D. 诺贝尔基金会
|
||||
12. **第二代电子计算机使用的主要逻辑元件是( )。**
|
||||
A. 电子管
|
||||
B. 晶体管
|
||||
C. 集成电路
|
||||
D. 大规模集成电路
|
||||
13. **关于 CSP-J/S,下列说法正确的是( )。**
|
||||
A. 它是一项专业级别的程序员资格认证
|
||||
B. 它的全称是“计算机软件能力认证”
|
||||
C. 它分为 J 组(入门级)和 S 组(提高级)两个组别
|
||||
D. 只有高中生才能参加 S 组
|
||||
14. **人工智能(AI)是当前计算机应用的热点之一。最早提出判断机器是否具有智能的测试方法,被称为( )。**
|
||||
A. 冯·诺依曼测试
|
||||
B. 摩尔测试
|
||||
C. 图灵测试
|
||||
D. 香农测试
|
||||
15. **中国自主研发的超级计算机在世界范围内享有盛誉,其中曾多次蝉联世界最快超级计算机榜首的是( )系列。**
|
||||
A. 银河
|
||||
B. 曙光
|
||||
C. 也就是
|
||||
D. 神威·太湖之光
|
||||
16. **NOI 系列活动的主办单位是( )。**
|
||||
A. 教育部
|
||||
B. 中国科协
|
||||
C. 中国计算机学会 (CCF)
|
||||
D. 清华大学
|
||||
|
||||
---
|
||||
|
||||
## 二、答案与详细解析
|
||||
|
||||
1. **答案:B**
|
||||
* **解析:** 世界上第一台通用电子数字计算机 ENIAC(埃尼阿克)于 1946 年在美国宾夕法尼亚大学诞生。
|
||||
|
||||
|
||||
2. **答案:B**
|
||||
* **解析:** 冯·诺依曼(John von Neumann)提出了“存储程序”原理和二进制思想,确立了现代计算机的基本结构,被称为“现代计算机之父”。艾伦·图灵被称为“计算机科学之父”和“人工智能之父”。
|
||||
|
||||
|
||||
3. **答案:C**
|
||||
* **解析:** 计算机发展的四个时代是根据物理器件(逻辑元件)来划分的:第一代(电子管)、第二代(晶体管)、第三代(中小规模集成电路)、第四代(大规模和超大规模集成电路)。
|
||||
|
||||
|
||||
4. **答案:C**
|
||||
* **解析:** 戈登·摩尔提出的摩尔定律指出,集成电路上可容纳的晶体管数目,约每隔 18-24 个月便会增加一倍,性能也将提升一倍。选项中 18 最为准确。
|
||||
|
||||
|
||||
5. **答案:B**
|
||||
* **解析:** 1984 年,中国计算机学会(CCF)创办了首届全国青少年信息学奥林匹克竞赛(NOI)。
|
||||
|
||||
|
||||
6. **答案:B**
|
||||
* **解析:** CAD (Computer Aided Design) 是计算机辅助设计;CAM 是计算机辅助制造;CAI 是计算机辅助教学。
|
||||
|
||||
|
||||
7. **答案:B**
|
||||
* **解析:** 埃达·洛夫莱斯(Ada Lovelace),拜伦之女,她为巴贝奇的分析机编写了算法,被公认为世界上第一位程序员。
|
||||
|
||||
|
||||
8. **答案:A**
|
||||
* **解析:** 1984 年 2 月 16 日,邓小平在上海观看小学生演示后说:“计算机的普及要从娃娃抓起。”这句话成为了中国计算机教育发展的指导方针。
|
||||
|
||||
|
||||
9. **答案:D**
|
||||
* **解析:** 根据 CCF 的规定,自 2022 年起,NOI 系列活动(包括 CSP-J/S)不再支持 Pascal 和 C 语言,C++ 成为唯一的比赛语言。
|
||||
|
||||
|
||||
10. **答案:C**
|
||||
* **解析:** 第一届国际信息学奥林匹克竞赛(IOI)于 1989 年在保加利亚的布拉维茨举行。
|
||||
|
||||
|
||||
11. **答案:B**
|
||||
* **解析:** 图灵奖由美国计算机协会(ACM)设立,以表彰在计算机科学领域做出杰出贡献的科学家,是计算机界的最高荣誉。
|
||||
|
||||
|
||||
12. **答案:B**
|
||||
* **解析:** 第一代是电子管;第二代是晶体管;第三代是集成电路;第四代是大规模集成电路。
|
||||
|
||||
|
||||
13. **答案:C**
|
||||
* **解析:** CSP-J/S 是 CCF 组织的“非专业级软件能力认证”(Certified Software Professional - Junior/Senior)。A 错误,它是非专业的;B 错误,全称应包含“非专业级”;D 错误,中小学生均可参加任一组别,不限年级。
|
||||
|
||||
|
||||
14. **答案:C**
|
||||
* **解析:** 艾伦·图灵在 1950 年提出了“图灵测试”,如果在测试中,人类测试者无法区分对话的是机器还是人,则认为机器具有智能。
|
||||
|
||||
|
||||
15. **答案:D**
|
||||
* **解析:** “神威·太湖之光”曾多次位居全球超级计算机 TOP500 榜首,展示了中国在超算领域的强大实力。“天河”系列也曾夺冠。
|
||||
|
||||
|
||||
16. **答案:C**
|
||||
* **解析:** 全国青少年信息学奥林匹克竞赛(NOI)及 CSP-J/S 认证的主办单位均是中国计算机学会(CCF)。
|
||||
@@ -0,0 +1,97 @@
|
||||
# NOI CSP-J 初赛专项模拟题:计算机编码基础
|
||||
|
||||
## 一、单项选择题
|
||||
|
||||
1. **在计算机系统中,能被计算机接受和处理的符号的集合被称为( )。**
|
||||
A. 编码
|
||||
B. 数据
|
||||
C. 信息
|
||||
D. 比特
|
||||
2. **计算机中表示信息的数据编码中的最小单位是( )。**
|
||||
A. 字节 (Byte)
|
||||
B. 比特 (Bit)
|
||||
C. 字 (Word)
|
||||
D. 字符 (Character)
|
||||
3. **关于“字节”(Byte)的描述,根据所给资料,下列说法错误的是( )。**
|
||||
A. 字节表示被处理的一组连续的二进制数字
|
||||
B. 通常用 8 位二进制数字表示一个字节
|
||||
C. 字节是存储器系统的最小存取单位
|
||||
D. 一个字节由 7 个比特组成
|
||||
4. **将各类符号、图形、图像和声音等非数值数据转换成计算机能识别的“0”和“1”表示的代码,这一过程称为( )。**
|
||||
A. 运算
|
||||
B. 存储
|
||||
C. 编码
|
||||
D. 交互
|
||||
5. **ASCII 码的全称是( )。**
|
||||
A. 国际信息交换标准代码
|
||||
B. 美国国家信息交换标准代码
|
||||
C. 欧洲计算机制造商协会代码
|
||||
D. 通用多八位编码字符集
|
||||
6. **标准的 ASCII 码采用( )位二进制编码,能表示( )种字符。**
|
||||
A. 7; 128
|
||||
B. 8; 256
|
||||
C. 7; 256
|
||||
D. 8; 128
|
||||
7. **在 ASCII 码的存储中,虽然标准 ASCII 码只有 7 位,但它存储时通常占全一个字节(8位)。在基本的 ASCII 码中,最高位(b7)的值恒为( )。**
|
||||
A. 1
|
||||
B. 0
|
||||
C. 随机
|
||||
D. 与 b6 相同
|
||||
8. **根据资料,ASCII 编码中数字“0”的十六进制值为 30H。那么数字“5”的 ASCII 码十六进制值是( )。**
|
||||
A. 35H
|
||||
B. 36H
|
||||
C. 45H
|
||||
D. 50H
|
||||
9. **已知大写字母“A”的 ASCII 编码值为 41H,那么大写字母“D”的 ASCII 编码值是( )。**
|
||||
A. 42H
|
||||
B. 43H
|
||||
C. 44H
|
||||
D. 45H
|
||||
10. **小写字母“a”的 ASCII 编码值为 61H,大写字母“A”的 ASCII 编码值为 41H。它们之间的差值是( )。**
|
||||
A. 10H
|
||||
B. 20H
|
||||
C. 30H
|
||||
D. 32H
|
||||
|
||||
---
|
||||
|
||||
## 二、答案与详细解析
|
||||
|
||||
1. **答案:B**
|
||||
* **解析:** “数据”的定义就是能被计算机接受和处理的符号的集合。计算机处理的对象就是数据。
|
||||
|
||||
|
||||
2. **答案:B**
|
||||
* **解析:** 比特(Bit,Binary Digit)是二进制数位,是计算机表示信息的数据编码中的**最小单位**,只能是 0 或 1。
|
||||
|
||||
|
||||
3. **答案:D**
|
||||
* **解析:** 字节(Byte)是计算机存储的基本单位,通常由 **8** 个比特(bit)组成,而不是 7 个。
|
||||
|
||||
|
||||
4. **答案:C**
|
||||
* **解析:** 编码就是将各类现实世界的信息(如符号、图像、声音)转换成计算机能够识别的二进制代码(0 和 1)的过程。
|
||||
|
||||
|
||||
5. **答案:B**
|
||||
* **解析:** ASCII 是 **A**merican **S**tandard **C**ode for **I**nformation **I**nterchange 的缩写,意为美国国家信息交换标准代码。
|
||||
|
||||
|
||||
6. **答案:A**
|
||||
* **解析:** 标准的 ASCII 码使用 **7** 位二进制数来表示字符,因此它可以表示的状态(字符)总数为 种。
|
||||
|
||||
|
||||
7. **答案:B**
|
||||
* **解析:** ASCII 码占用一个字节(8位)进行存储,但标准 ASCII 码只用了低 7 位,最高位(第 8 位,b7)通常被置为 **0**。
|
||||
|
||||
|
||||
8. **答案:A**
|
||||
* **解析:** ASCII 码中数字字符是连续排列的。已知 '0' 的十六进制是 30H,'5' 在 '0' 后面第 5 个位置,所以 。
|
||||
|
||||
|
||||
9. **答案:C**
|
||||
* **解析:** 英文字母在 ASCII 表中也是按字母表顺序连续排列的。'A' 是 41H,'D' 是 'A' 后的第三个字母(A, B, C, D),所以 'D' = 。
|
||||
|
||||
|
||||
10. **答案:B**
|
||||
* **解析:** 小写字母 'a' (61H) 比大写字母 'A' (41H) 的 ASCII 值大。计算差值:。所有对应的大小写字母之间都相差 20H(即十进制的 32)。
|
||||
@@ -0,0 +1,399 @@
|
||||
# NOI CSP-J 初赛专项模拟题:程序基本语句
|
||||
|
||||
## 阅读程序 (程序输入不超过数组或字符串定义的范围,判断题正确填√,错误填×)
|
||||
|
||||
### (1)
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 using namespace std;
|
||||
03
|
||||
04 int main() {
|
||||
05 int x, y;
|
||||
06 cin >> x >> y;
|
||||
07 int ans = 1;
|
||||
08 for (int i = 1; i <= y; i++) {
|
||||
09 ans = ans * x;
|
||||
10 ans = ans % 10;
|
||||
11 }
|
||||
12 cout << ans << endl;
|
||||
13 return 0;
|
||||
14 }
|
||||
```
|
||||
|
||||
假设输入的 `x`, `y` 均为不超过 100 的正整数,完成下面的判断题和单选题:
|
||||
|
||||
**判断题**
|
||||
|
||||
1. 该程序的功能是计算 的值。( )
|
||||
2. 程序的输出结果一定是一个小于 10 的整数。( )
|
||||
3. 当输入为“2 3”时,输出为“8”。( )
|
||||
|
||||
**单选题**
|
||||
4. 当输入为“12 2”时,输出为( )。
|
||||
A. 2 B. 4 C. 24 D. 144
|
||||
5. 当输入为“2 10”时,输出为( )。
|
||||
A. 2 B. 4 C. 6 D. 8
|
||||
|
||||
---
|
||||
|
||||
### (2)
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 using namespace std;
|
||||
03
|
||||
04 int main() {
|
||||
05 int n;
|
||||
06 cin >> n;
|
||||
07 int a[105];
|
||||
08 for(int i = 1; i <= n; i++) {
|
||||
09 cin >> a[i];
|
||||
10 }
|
||||
11 int count = 0;
|
||||
12 for(int i = 1; i <= n; i++) {
|
||||
13 if(a[i] > 0 && a[i] % 2 == 0) {
|
||||
14 count = count + a[i];
|
||||
15 }
|
||||
16 }
|
||||
17 cout << count << endl;
|
||||
18 return 0;
|
||||
19 }
|
||||
|
||||
```
|
||||
|
||||
假设输入的 `n` 为不超过 100 的正整数,数组元素均为 `int` 范围内整数,完成下面的判断题和单选题:
|
||||
|
||||
**判断题**
|
||||
6. 该程序统计的是数组中所有偶数的个数。( )
|
||||
7. 如果数组中所有的数都是负数,输出结果为 0。( )
|
||||
8. 第 13 行的 `a[i] > 0` 条件如果去掉,程序的输出结果对于任何输入都不会改变。( )
|
||||
|
||||
**单选题**
|
||||
9. 当输入 `n=5`,数组元素为 `1 2 3 4 5` 时,输出为( )。
|
||||
A. 2 B. 3 C. 6 D. 9
|
||||
10. 当输入 `n=5`,数组元素为 `-2 -4 2 4 6` 时,输出为( )。
|
||||
A. 12 B. 6 C. 0 D. -6
|
||||
|
||||
---
|
||||
|
||||
### (3)
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 #include <string>
|
||||
03 using namespace std;
|
||||
04
|
||||
05 int main() {
|
||||
06 string s;
|
||||
07 cin >> s;
|
||||
08 int len = s.length();
|
||||
09 for (int i = 0; i < len; i++) {
|
||||
10 if (s[i] >= 'a' && s[i] <= 'z') {
|
||||
11 s[i] = s[i] - 32;
|
||||
12 } else if (s[i] >= 'A' && s[i] <= 'Z') {
|
||||
13 s[i] = s[i] + 32;
|
||||
14 }
|
||||
15 }
|
||||
16 cout << s << endl;
|
||||
17 return 0;
|
||||
18 }
|
||||
|
||||
```
|
||||
|
||||
假设输入仅包含英文字母,完成下面的判断题和单选题:
|
||||
|
||||
**判断题**
|
||||
11. 程序执行后,字符串 `s` 的长度可能会发生改变。( )
|
||||
12. 输入 "CSP" 时,输出 "csp"。( )
|
||||
13. 该程序实现了大小写字母互换的功能。( )
|
||||
|
||||
**单选题**
|
||||
14. 当输入 "Hello" 时,输出为( )。
|
||||
A. hello B. HELLO C. hELLO D. Hello
|
||||
15. 已知 'a' 的 ASCII 码是 97,'A' 的 ASCII 码是 65,则第 11 行可以改为 `s[i] = s[i] - 'a' + 'A'`,效果不变。该说法( )。
|
||||
A. 正确 B. 错误 C. 编译错误 D. 运行时错误
|
||||
|
||||
**(4)**
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 using namespace std;
|
||||
03
|
||||
04 int f(int n) {
|
||||
05 if (n <= 1) return 1;
|
||||
06 if (n % 2 == 0)
|
||||
07 return f(n / 2) + n;
|
||||
08 else
|
||||
09 return f(n - 1) + 1;
|
||||
10 }
|
||||
11
|
||||
12 int main() {
|
||||
13 int x;
|
||||
14 cin >> x;
|
||||
15 cout << f(x) << endl;
|
||||
16 return 0;
|
||||
17 }
|
||||
|
||||
```
|
||||
|
||||
假设输入的 x 为不超过 1000 的正整数,完成下面的判断题和单选题:
|
||||
|
||||
**判断题**
|
||||
|
||||
1. 当输入 x 为偶数时,函数 `f(x)` 只会进行递归调用,不会增加数值。( )
|
||||
2. 该函数一定会终止,不会出现死循环。( )
|
||||
3. 当输入 5 时,输出结果为 6。( )
|
||||
|
||||
**单选题**
|
||||
4. 当输入 8 时,输出为( )。
|
||||
A. 13 B. 14 C. 15 D. 16
|
||||
5. 当输入 10 时,函数 `f` 被调用的次数(包括 `main` 中的第一次调用)是( )。
|
||||
A. 4 B. 5 C. 6 D. 7
|
||||
|
||||
**(5)**
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 using namespace std;
|
||||
03
|
||||
04 int main() {
|
||||
05 int n, m;
|
||||
06 cin >> n >> m;
|
||||
07 int a[20][20];
|
||||
08 for (int i = 0; i < n; i++) {
|
||||
09 for (int j = 0; j < m; j++) {
|
||||
10 if (i == 0 || j == 0)
|
||||
11 a[i][j] = 1;
|
||||
12 else
|
||||
13 a[i][j] = a[i - 1][j] + a[i][j - 1];
|
||||
14 }
|
||||
15 }
|
||||
16 cout << a[n - 1][m - 1] << endl;
|
||||
17 return 0;
|
||||
18 }
|
||||
|
||||
```
|
||||
|
||||
假设输入的 n, m 均为不超过 15 的正整数,完成下面的判断题和单选题:
|
||||
|
||||
**判断题**
|
||||
|
||||
1. 该程序计算的是组合数学中杨辉三角或类似路径计数的问题。( )
|
||||
2. 如果输入 n=1, m=5,输出结果为 5。( )
|
||||
3. 无论输入什么正整数,数组 `a` 中的值都会随 `i` 和 `j` 的增大而单调递增(不考虑边界)。( )
|
||||
|
||||
**单选题**
|
||||
4. 当输入 3 3 时,输出为( )。
|
||||
A. 4 B. 5 C. 6 D. 10
|
||||
5. 该程序模拟的计算过程等价于求解从网格左上角 (0,0) 走到右下角 (n-1, m-1) 的路径数,且每次只能向右或向下走。如果输入 4 3,输出结果为( )。
|
||||
A. 6 B. 10 C. 15 D. 20
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 三、完善程序 (单选题)
|
||||
|
||||
### (1) 判断回文数
|
||||
|
||||
读入一个正整数 `n`,判断它是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都一样的整数,例如 121 是回文数,而 123 不是。
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 using namespace std;
|
||||
03
|
||||
04 int main() {
|
||||
05 int n, t, y = 0;
|
||||
06 cin >> n;
|
||||
07 t = ①;
|
||||
08 while (t > 0) {
|
||||
09 y = y * 10 + ②;
|
||||
10 t = ③;
|
||||
11 }
|
||||
12 if (④)
|
||||
13 cout << "Yes" << endl;
|
||||
14 else
|
||||
15 cout << "No" << endl;
|
||||
16 return 0;
|
||||
17 }
|
||||
|
||||
```
|
||||
|
||||
16. ①处应填( )
|
||||
A. 0 B. 1 C. n D. -1
|
||||
17. ②处应填( )
|
||||
A. t / 10 B. t % 10 C. n % 10 D. n / 10
|
||||
18. ③处应填( )
|
||||
A. t / 10 B. t % 10 C. t - 1 D. t + 1
|
||||
19. ④处应填( )
|
||||
A. n == t B. n == 0 C. n == y D. y == t
|
||||
20. 如果输入的 `n` 是 `100`,循环结束后 `y` 的值是( )
|
||||
A. 1 B. 0 C. 001 D. 10
|
||||
|
||||
### (2) 最大公约数与最小公倍数
|
||||
|
||||
输入两个正整数 `m` 和 `n`,求它们的最大公约数 (GCD) 和最小公倍数 (LCM)。程序使用辗转相除法(欧几里得算法)的迭代实现。
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 using namespace std;
|
||||
03
|
||||
04 int main() {
|
||||
05 int m, n, a, b, r;
|
||||
06 cin >> m >> n;
|
||||
07 a = m;
|
||||
08 b = n;
|
||||
09 while (①) {
|
||||
10 r = m % n;
|
||||
11 m = ②;
|
||||
12 n = ③;
|
||||
13 }
|
||||
14 cout << "GCD: " << ④ << endl;
|
||||
15 cout << "LCM: " << ⑤ << endl;
|
||||
16 return 0;
|
||||
17 }
|
||||
|
||||
```
|
||||
|
||||
21. ①处应填( )
|
||||
A. m != 0 B. n != 0 C. r != 0 D. m % n == 0
|
||||
22. ②处应填( )
|
||||
A. n B. r C. a D. b
|
||||
23. ③处应填( )
|
||||
A. m B. r C. a D. b
|
||||
24. ④处应填( )
|
||||
A. n B. r C. m D. a
|
||||
25. ⑤处应填( )
|
||||
A. a * b / m B. a * b / n C. a * b / r D. m * n / a
|
||||
|
||||
---
|
||||
|
||||
**(3) 高精度加法**
|
||||
输入两个正整数(可能非常大,超过 `long long` 范围),输出它们的和。
|
||||
程序使用字符串读取输入,然后转化为数组进行逐位计算。
|
||||
|
||||
```cpp
|
||||
01 #include <iostream>
|
||||
02 #include <string>
|
||||
03 #include <algorithm>
|
||||
04 using namespace std;
|
||||
05
|
||||
06 int a[505], b[505], c[505];
|
||||
07
|
||||
08 int main() {
|
||||
09 string s1, s2;
|
||||
10 cin >> s1 >> s2;
|
||||
11 int len1 = s1.length();
|
||||
12 int len2 = s2.length();
|
||||
13
|
||||
14 for (int i = 0; i < len1; i++) a[len1 - 1 - i] = ①;
|
||||
15 for (int i = 0; i < len2; i++) b[len2 - 1 - i] = s2[i] - '0';
|
||||
16
|
||||
17 int len = len1 > len2 ? len1 : len2;
|
||||
18 for (int i = 0; i < len; i++) {
|
||||
19 c[i] += a[i] + b[i];
|
||||
20 c[i + 1] = ②;
|
||||
21 c[i] = ③;
|
||||
22 }
|
||||
23
|
||||
24 if (④) len++;
|
||||
25
|
||||
26 for (int i = len - 1; i >= 0; i--) {
|
||||
27 cout << ⑤;
|
||||
28 }
|
||||
29 cout << endl;
|
||||
30 return 0;
|
||||
31 }
|
||||
|
||||
```
|
||||
|
||||
26. ①处应填( )
|
||||
A. `s1[i]` B. `s1[i] - '0'` C. `s1[len1 - 1 - i]` D. `s1[len1 - 1 - i] - '0'`
|
||||
27. ②处应填( )
|
||||
A. `c[i] % 10` B. `c[i] / 10` C. `c[i+1] + c[i] / 10` D. `a[i] + b[i]`
|
||||
28. ③处应填( )
|
||||
A. `c[i] / 10` B. `c[i] % 10` C. `a[i] % 10` D. `b[i] % 10`
|
||||
29. ④处应填( )
|
||||
A. `c[len] > 0` B. `c[len] >= 10` C. `c[len-1] > 0` D. `c[len] != 0`
|
||||
30. ⑤处应填( )
|
||||
A. `c[i]` B. `c[len - i]` C. `a[i] + b[i]` D. `c[i] + '0'`
|
||||
|
||||
# 答案与解析
|
||||
|
||||
## 阅读程序
|
||||
|
||||
### (1)
|
||||
|
||||
1. **×**
|
||||
**解析:** 程序在循环中每次将 `ans` 乘以 `x` 后立即对 10 取模,因此它计算的是 的**个位数字**,而不是 的值。
|
||||
2. **√**
|
||||
**解析:** 由于每次运算都执行 `% 10`,结果 `ans` 必定在 0 到 9 之间。
|
||||
3. **√**
|
||||
**解析:** 输入 2 3,循环执行 3 次。
|
||||
```
|
||||
i=1: ans = 1*2%10 = 2
|
||||
i=2: ans = 2*2%10 = 4
|
||||
i=3: ans = 4*2%10 = 8
|
||||
输出 8。
|
||||
```
|
||||
4. **B**
|
||||
**解析:** 输入 12 2。
|
||||
```
|
||||
i=1: ans = 1*12%10 = 12%10 = 2
|
||||
i=2: ans = 2*12%10 = 24%10 = 4
|
||||
输出 4。
|
||||
```
|
||||
5. **B**
|
||||
**解析:** 输入 2 10,计算 的个位数。 规律为 2,4,8,6 循环。10 % 4 = 2,所以是第 2 个,即 4。
|
||||
|
||||
### (2)
|
||||
|
||||
6. **×**
|
||||
**解析:** 变量 `count` 累加的是 `a[i]` 的值(`count = count + a[i]`),而不是个数。它计算的是**大于0的偶数之和**。
|
||||
7. **√**
|
||||
**解析:** 如果全是负数,`a[i] > 0` 条件始终不满足,`count` 保持初始值 0。
|
||||
8. **×**
|
||||
**解析:** 如果去掉 `a[i] > 0`,负偶数也会被加进去,结果会改变。例如输入 -2,原程序加 0,去掉条件后加 -2。
|
||||
9. **C**
|
||||
**解析:** 数组 1 2 3 4 5 中,大于0的偶数有 2, 4。和为 2+4=6。
|
||||
10. **A**
|
||||
**解析:** 数组 -2 -4 2 4 6 中,大于0的偶数有 2, 4, 6。和为 2+4+6=12。
|
||||
|
||||
### (3)
|
||||
|
||||
11. **×**
|
||||
**解析:** 程序只是修改字符的值(ASCII码变换),不涉及插入或删除,长度不变。
|
||||
12. **√**
|
||||
**解析:** C, S, P 都是大写,满足第二个 `if`,加 32 变为小写 c, s, p。
|
||||
13. **√**
|
||||
**解析:** 第一个 `if` 将小写转大写(-32),第二个 `if` 将大写转小写(+32)。
|
||||
14. **C**
|
||||
**解析:** "Hello"。'H' 是大写 -> 'h'。'e','l','l','o' 是小写 -> 'E','L','L','O'。输出 "hELLO"。
|
||||
15. **A**
|
||||
**解析:** `s[i] - 32` 等价于 `s[i] - ('a' - 'A')`,即 `s[i] - 'a' + 'A'`。这是标准的转换方式。
|
||||
|
||||
## 完善程序
|
||||
|
||||
### (1) 判断回文数
|
||||
|
||||
* **算法思路:** 将数字 `n` 翻转生成新数字 `y`,比较 `n` 和 `y` 是否相等。
|
||||
* **解析:**
|
||||
16. **C (n)**:需要用一个临时变量 `t` 来操作,保留原数 `n` 用于最后比较,所以 `t` 初始化为 `n`。
|
||||
17. **B (t % 10)**:取出 `t` 的最后一位数字。
|
||||
18. **A (t / 10)**:去掉 `t` 的最后一位数字,以便下一次循环取下一位。
|
||||
19. **C (n == y)**:比较原数 `n` 和翻转后的数 `y`。
|
||||
20. **A (1)**:`n=100`。
|
||||
第一次:`y=0+0=0`, `t=10`
|
||||
第二次:`y=0+0=0`, `t=1`
|
||||
第三次:`y=0+1=1`, `t=0`
|
||||
循环结束,`y` 为 1。
|
||||
|
||||
### (2) 最大公约数与最小公倍数
|
||||
|
||||
* **算法思路:** 欧几里得算法:`gcd(m, n) = gcd(n, m % n)`,直到 `n` 为 0,此时 `m` 即为 GCD。LCM = (a * b) / GCD。
|
||||
* **解析:**
|
||||
21. **B (n != 0)**:循环继续的条件是除数不为 0。
|
||||
22. **A (n)**:将原来的除数 `n` 赋值给被除数 `m`。
|
||||
23. **B (r)**:将余数 `r` 赋值给除数 `n`。
|
||||
24. **C (m)**:循环结束时 `n` 为 0,`m` 存储的是最大公约数。
|
||||
25. **A (a * b / m)**:最小公倍数 = 两数之积 / 最大公约数。注意原数保存在 `a` 和 `b` 中,`m` 是计算出的 GCD。
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user