开始学 C++ 了:指针有点难,但我没放弃
老师说,C++ 是信息学奥赛(NOI)的比赛语言,跑得快,能参加比赛。于是我上个月开始学 C++ 了。这篇是我目前的学习笔记,写得可能有点幼稚,等我学得更多再回来看。
熟悉的部分:和 Python 差不多
变量、if、for 循环这些概念都学过,只是写法啰嗦了一点:
#include <iostream> // 相当于 Python 的 import
using namespace std;
int main() {
int score = 95; // Python: score = 95
if (score >= 90) { // Python 用冒号,C++ 用花括号
cout << "优秀!" << endl; // Python: print("优秀!")
}
for (int i = 1; i <= 5; i++) { // 循环 5 次
cout << i << " ";
}
return 0;
}
难的部分 ①:要自己"说清楚"类型
Python 里 x = 5 随便赋值就行,C++ 必须先声明它是整数还是小数还是文字:int、double、string……老师说这叫强类型,虽然啰嗦,但能提前发现错误。
难的部分 ②:指针,我的天敌
int a = 10;
int *p = &a; // p 里存的是 a 的"地址",不是 a 的值
cout << *p; // 打印 10(顺着地址找到 a)
我一开始完全不懂为什么要存"地址"。后来老师打了个比方:变量像一个房子,指针是写着地址的纸条。顺着纸条能找到房子,也能换掉房子里的东西。我想象成 Scratch 里的"变量舞台坐标",突然就懂了一半。
我的计划
- 每天做 2 道 C++ 入门题(循环和数组先练熟);
- 指针看不懂就画图,把每个变量画成一个盒子;
- 目标:明年能去试一试 CSP-J(信息学奥赛入门组)。
学新语言就像爬新关卡,Scratch、Python 都是一关一关过来的,C++ 也一定可以。没放弃,就还是赢。