1.1 计算机基础与程序结构

GESP C++ 一级:计算机基础与程序结构

计算机硬件基础、操作系统、计算机历史、程序基本框架、注释规范、IDE 使用、编译与调试

第一部分:计算机基础

1. 计算机的基本构成

计算机系统由硬件和软件两大部分组成。硬件是看得见摸得着的物理设备,软件是运行在硬件上的程序和数据。

1.1 硬件五大部件

计算机硬件由五大部分组成:运算器、控制器、存储器、输入设备、输出设备。

部件 功能 典型设备/说明
运算器 完成算术运算和逻辑运算 算术逻辑单元(ALU)
控制器 控制程序执行流程,指挥各部件协调工作 控制单元(CU)
存储器 存储程序和数据 内存、硬盘
输入设备 向计算机输入数据和指令 键盘、鼠标、扫描仪、麦克风、触摸屏、摄像头
输出设备 显示或输出计算机处理后的数据 显示器、打印机、扬声器、投影仪

考试提示:CPU(中央处理单元)= 运算器 + 控制器。CPU 是计算机的“大脑”,负责执行指令、控制各部件工作、完成算术和逻辑运算。

1.2 存储器分类

类型 特点 用途
RAM(随机存储器) 易失性,断电后数据丢失 存储正在运行的程序和当前使用的数据
ROM(只读存储器) 非易失性,断电后数据保留 存储固化程序(如 BIOS)
Cache(高速缓存) 速度极快,容量小 存储 CPU 频繁访问的数据,提高效率
硬盘(HDD/SSD) 非易失性,容量大 长期存储数据

1.3 存储单位换算

这是高频考点,必须记住:

1 B(字节)= 8 bit(位)
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB

1.4 输入/输出设备辨析

  • 输入设备:键盘、鼠标、扫描仪、麦克风、触摸屏、摄像头、手写板、游戏手柄、条码扫描枪、湿度传感器(采集数据送入系统)。
  • 输出设备:显示器、打印机、投影仪、扬声器/耳机、绘图仪。
  • 复合型 I/O:触摸屏(输入+显示)、网卡/Wi-Fi 模块、U 盘/移动硬盘。

真题示例:湿度传感器采集数据送入系统,属于(输入设备)。

2. 操作系统

操作系统(Operating System,简称 OS)是计算机系统的核心软件和基础软件,负责管理计算机硬件和软件资源,提供用户界面,调度程序执行。

2.1 常见操作系统

操作系统 特点
Windows 图形界面友好,使用广泛
Linux 开源,默认使用命令行终端,部分发行版提供图形界面
macOS 苹果电脑专用

2.2 操作系统核心功能

进程管理、内存管理、文件管理、I/O 管理、用户界面。

考试提示:Windows 是操作系统,而 Word、Excel 是应用程序,注意区分。
常见操作系统:Windows、macOS、Linux、Android、iOS、鸿蒙。

3. 计算机历史

3.1 关键时间节点

时间 事件 要点
1946 年 ENIAC 诞生于美国 第一台通用电子计算机,核心部件为电子管
1958 年 中国第一台通用数字电子计算机(103 机) 比 ENIAC 晚十多年
现代 冯·诺依曼体系结构 核心思想:程序存储与程序控制

3.2 冯·诺依曼体系结构

现代计算机硬件系统设计的基石。核心特性为“程序存储与程序控制”:程序和数据都以二进制形式存储在存储器中,计算机按照存储的程序顺序执行指令。

记忆口诀:程序存储,顺序执行。

第二部分:程序结构与编程规范

4. 程序的基本概念

4.1 什么是程序

程序是计算机执行的指令集合。C++ 是编译型语言,执行流程为:编写 → 编译 → 链接 → 运行。

编译与解释的区别:

  • 编译:将源代码一次性翻译成机器码,生成可执行文件(C++ 属于编译型)。
  • 解释:逐行翻译并执行,不生成可执行文件(Python 属于解释型)。

4.2 标识符命名规则

  • 只能由字母、数字、下划线组成。
  • 不能以数字开头。
  • 不能是关键字(如 int、if、for、return、void 、while等)。
  • 区分大小写:a 和 A 不同。
  • 同一作用域内不能同名。
  • 建议见名知义:sum、score、maxn。

4.3 关键字

C++ 一级需要认识的关键字包括:

int  char  float  double  bool
if  else  for  while  do  switch  case  break  continue  default
return  void  const  true  false

注意:Default 和 default 不一样,因为 C++ 区分大小写。

5. 程序的基本框架

5.1 必背骨架

#include <bits/stdc++.h> 
using namespace std;

int main() {
    // 程序代码写在这里
    return 0;
}

骨架简介

  1. include <bits/stdc++.h>:万能头包含竞赛常用功能,使用方便。
  2. using namespace std;:使用标准命名空间,之后可直接写 cin、cout。
  3. int main():主函数,程序唯一入口,从这里开始执行。

5.2 常见错误

// 错误1:漏写分号
cout << "Hello"    // 缺少 ;

// 错误2:main 拼写错误
int mian() { }     // 应为 main

// 错误3:漏写头文件
int main() { cout << "Hi"; }  // 缺少 #include <iostream>

6. 程序的注释

注释用于解释代码,不参与运行,编译器会忽略注释内容。

6.1 两种注释方式

// 这是单行注释

/*
   这是多行注释
   可以写多行
*/

6.2 注释的用途

  • 说明代码的功能和思路。
  • 暂时屏蔽某些代码(调试时常用)。
  • 标注作者、日期等信息。

6.3 易错点

  • 多行注释 /* */ 不能嵌套。
  • 注释可以混用中英文。
  • 注释不会影响程序运行结果。

7. 集成开发环境(IDE)的使用

一级考纲要求熟悉集成开发环境的基本操作,例如 Dev C++。

7.1 基本操作流程

操作 说明
创建文件 新建源代码文件(.cpp)
编辑文件 在编辑区编写代码,支持查找替换、多步撤销、缩进调整
保存文件 将代码保存到磁盘(Ctrl+S)
编译 将源代码翻译为机器码,检查语法错误
运行 执行程序,查看输出结果
调试 排查和修复程序中的错误

7.2 编辑区常用功能

  • 查找/替换:快速定位或批量修改代码。
  • 多步撤销:撤销之前的编辑操作。
  • 缩进调整:自动或手动调整代码缩进,提高可读性。

考试提示:IDE 编辑区的注释可以混用中英文,这一点常出现在选择题中。

8. 编译与调试

8.1 编译过程

源代码(.cpp) → 编译 → 目标文件(.o/.obj) → 链接 → 可执行文件(.exe)
  • 编译:检查语法错误,将源代码翻译为机器码。
  • 链接:将目标文件与库文件连接,生成可执行文件。

8.2 常见编译错误

错误类型 示例 原因
语法错误 漏写分号 语句末尾缺少 ;
拼写错误 mian 写成 main 函数名拼写错误
头文件缺失 使用 cout 但没 #include <iostream> 未引入所需库
变量未声明 直接使用 a 但没定义 变量未定义

8.3 调试方法

  • 断点:在代码某一行设置断点,程序运行到该行暂停,查看变量值。
  • 单步执行:逐行执行代码,观察每步的变化。
  • 输出中间结果:在关键位置插入 cout 语句,打印变量值辅助排查。

一级考试中调试部分以概念理解为主,不需要实际使用断点操作,但需要知道调试的作用和常见方法。

9. 结构化程序设计三大结构

结构化程序设计的三种基本结构是:顺序结构、分支结构、循环结构。

结构 特点 一级要求
顺序结构 代码从上到下依次执行,无判断、无跳转 重点掌握
分支结构 根据条件判断走哪条路(if / if-else)
循环结构 重复执行某段代码(for / while / do-while)

10. 顺序结构

顺序结构是最基础的程序结构:程序从上到下,一条一条执行。

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    int sum = a + b;
    cout << sum << endl;
    return 0;
}

执行顺序:输入 → 计算 → 输出,三步依次执行,没有跳过或重复。

考点速查表

模块 必记内容 常见考法
硬件五大部件 运算器、控制器、存储器、输入设备、输出设备 选择题辨析
CPU = 运算器 + 控制器 选择题
存储器分类 RAM(易失)、ROM(非易失)、Cache(高速)
存储单位 1KB=1024B,1MB=1024KB,1GB=1024MB 计算题
操作系统 Windows/Linux/macOS,管理硬件和软件资源 选择题
计算机历史 ENIAC(1946,电子管)、冯·诺依曼体系结构
程序执行流程 编写→编译→链接→运行
标识符规则 字母/数字/下划线,不以数字开头,区分大小写 对错题
程序框架 #include、using namespace std、int main()、return 0 补全/改错
注释 // 单行、/* */ 多行,不参与运行,不能嵌套 对错题
IDE 操作 创建/编辑/保存/编译/运行/调试 选择题
编译与调试 编译查语法,调试查逻辑;断点、单步执行 概念题
三大结构 顺序、分支、循环

易错点

  1. main 不要写成 mian。
  2. 语句末尾不要漏分号。
  3. #include <iostream> 不要漏写。
  4. 注释 /* */ 不能嵌套。
  5. 标识符不能以数字开头。
  6. 区分编译型语言和解释型语言。
  7. 区分输入设备和输出设备。
  8. 存储单位是 1024 进制,不是 1000。
  9. RAM 断电丢失数据,ROM 断电不丢失。
  10. CPU = 运算器 + 控制器,不是存储器。