GESP C++ 二级 · 自学讲义 ①(共 4 讲)

计算机基础 · 流程图 · ASCII · 类型转换

这一讲全是选择题/判断题的高频考点。看懂 + 记住,30 分的客观题就稳了一半。

本讲学完你能

一、计算机基础常识

1. 存储单位

最小单位是 位(bit,比特),8 个位 = 1 个 字节(Byte)

单位关系
1 Byte(字节)= 8 bit(位)
1 KB= 1024 Byte
1 MB= 1024 KB
1 GB= 1024 MB

记忆:每一级都是 ×1024(不是 1000!),因为 2¹⁰=1024。

2. 硬件与软件

3. 程序语言常识

二、流程图

流程图用图形表示程序步骤,4 个符号必须记住:

符号含义
椭圆 ⬭开始 / 结束
平行四边形 ▱输入 / 输出
矩形 ▭处理 / 计算(如赋值)
菱形 ◇判断(有“是/否”两条分支)

箭头表示执行方向菱形一定有两条出口(条件成立 / 不成立),循环就是箭头绕回去。

三、ASCII 编码

计算机里字符其实是用数字存的,这张对应表叫 ASCII。考试只要记住几个关键值和规律:

字符ASCII 值记忆
'0'48数字 0~9 是 48~57
'A'65大写 A~Z 是 65~90
'a'97小写 a~z 是 97~122

三条黄金规律

例子
char c = 'C';
int x = c;            // x = 67('C' 的 ASCII)
char low = c + 32;    // 'C'+32 = 'c',大写转小写
int d = '7' - '0';   // d = 7,字符 '7' 变成数字 7
易错

'7'(字符,值 55)和 7(数字)不一样!要把字符数字变成真数字,必须 - '0'

四、数据类型与类型转换

类型存什么例子
int整数-3, 0, 42
long long很大的整数10000000000
double小数3.14, -0.5
char单个字符'A', '7'
bool真/假true, false
最大的坑:整数除法

两个 int 相除,结果只保留整数部分(小数被丢掉,不是四舍五入):

int a = 7 / 2;        // = 3(不是 3.5!)
double b = 7 / 2;     // 还是 3.0!因为 7/2 先算成 int 3
double c = 7.0 / 2;   // = 3.5(有一个是小数就 OK)
double d = (double)7 / 2;  // = 3.5(强制转换)

想得到小数,除号两边至少有一个是小数,或用 (double) 强制转换。

小贴士

五、自测(先想,再点开看答案)

Q1. 1 KB 等于多少字节?

看答案1024 字节(每级 ×1024,不是 1000)。

Q2. 'a' 的 ASCII 是 97,那 'a' + 2 是哪个字符?

看答案'c'(97+2=99,是 'c')。

Q3. int x = 9 / 4; 之后 x 是多少?

看答案2(整数除法丢掉小数 0.25)。

Q4. 想算 9 ÷ 4 的精确结果 2.25,下面哪种对?
A. double r = 9/4; B. double r = 9.0/4;

看答案B。A 里 9/4 先按整数算成 2,再变成 2.0;B 里有小数 9.0,结果才是 2.25。

Q5. 流程图里“判断”用什么图形?

看答案菱形 ◇(有“是/否”两条分支)。

六、速记卡