1. C++入门:从"Hello World"开始
第一次接触C++时,那个经典的"Hello World"程序就像打开新世界大门的钥匙。让我们先看一个最简单的例子:
cpp复制#include <iostream>
using namespace std;
int main() {
cout << "Hello!" << endl;
cout << "Welcome to C++!" << endl;
return 0;
}
这个简单的程序包含了几个关键要素:
#include <iostream>:引入标准输入输出库,这是所有C++程序与外界交互的基础using namespace std:使用标准命名空间,避免每次都要写std::cout这样的前缀main()函数:每个C++程序都必须有的入口点cout和endl:分别用于输出内容和换行
注意:虽然
using namespace std能简化代码,但在大型项目中可能会引起命名冲突。实际开发中更推荐显式使用std::cout这样的写法。
2. 基本输入输出与变量
2.1 变量声明与使用
C++是静态类型语言,使用变量前必须声明其类型。基本数据类型包括:
int:整型(通常4字节)float/double:单精度/双精度浮点数char:字符型bool:布尔型(true/false)
cpp复制int age = 25;
double price = 99.99;
char grade = 'A';
bool isStudent = true;
2.2 输入输出操作
使用cin和cout进行基本的输入输出:
cpp复制int x, y;
cout << "Enter two numbers: ";
cin >> x >> y;
cout << "You entered: " << x << " and " << y << endl;
提示:
cin会跳过空白字符(空格、制表符、换行等),如果需要读取整行,可以使用getline(cin, str)。
3. 控制结构:让程序做出决策
3.1 条件语句(if-else)
判断闰年的经典例子:
cpp复制int year;
bool isLeapYear;
cout << "Enter the year:";
cin >> year;
isLeapYear = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));
if (isLeapYear) {
cout << year << " is a leap year" << endl;
} else {
cout << year << " is not a leap year" << endl;
}
3.2 多分支选择(switch-case)
根据数字输出星期几:
cpp复制int day;
cin >> day;
switch (day) {
case 0: cout << "Sunday" << endl; break;
case 1: cout << "Monday" << endl; break;
// ...其他case...
default: cout << "Invalid day" << endl;
}
注意:每个case后面必须加
break,否则会继续执行下一个case(这有时是故意设计的,但要小心)。
4. 循环结构:重复的力量
4.1 while循环
计算1到10的和:
cpp复制int i = 1, sum = 0;
while (i <= 10) {
sum += i;
i++;
}
cout << "sum=" << sum << endl;
4.2 do-while循环
至少执行一次的循环,适合输入验证:
cpp复制int n;
do {
cout << "Enter a positive number: ";
cin >> n;
} while (n <= 0);
4.3 for循环
找出一个数的所有因数:
cpp复制int n;
cout << "Enter a positive integer:";
cin >> n;
cout << "Factors of " << n << ": ";
for (int k = 1; k <= n; k++) {
if (n % k == 0) {
cout << k << " ";
}
}
5. 实用技巧与常见问题
5.1 数字逆序输出
cpp复制int n, right_digit;
cout << "Enter the number: ";
cin >> n;
cout << "Reversed: ";
do {
right_digit = n % 10;
cout << right_digit;
n /= 10;
} while (n != 0);
5.2 统计正负数
cpp复制int i = 0, j = 0, n;
cout << "Enter numbers (0 to stop):" << endl;
cin >> n;
while (n != 0) {
if (n > 0) i++;
else if (n < 0) j++;
cin >> n;
}
cout << "Positive: " << i << ", Negative: " << j << endl;
5.3 调试技巧
- 使用
cout输出中间变量值 - 分步测试小段代码
- 注意编译器警告信息
- 使用调试器(如gdb)逐步执行
6. 从简单程序到实际项目
虽然这些例子很简单,但它们构成了所有复杂程序的基础。在实际开发中,你会:
- 将代码组织到多个函数中
- 使用更复杂的数据结构
- 处理文件I/O
- 实现面向对象设计
建议从这些基础开始,逐步构建更复杂的程序。比如,可以尝试:
- 编写一个简单的计算器
- 实现猜数字游戏
- 开发学生成绩管理系统
记住,编程就像学习乐器 - 需要持续练习。我刚开始时每天都会写几个这样的小程序,几个月后就能明显感觉到进步。