
字数 1750,阅读大约需 9 分钟
年也过完了,心也该静下来了,上年立的flag也变成今年的了,再喊一遍口号,今年要更努力,把c++学会并将c++学习笔记系列更新完毕。敬请期待~
C++ 是一种强类型、静态编译的语言,程序执行时需要明确指定每一个元素的类型。我们从 C++ 的基础语法结构开始,通过对比 Python 来帮助你快速理解。
main 函数C++ 程序的执行从 main 函数开始,这是程序的入口点,Python 没有类似的强制入口函数,直接从脚本顶层代码开始执行。
hello.cpp:
#include <iostream> // 引入输入输出流库
using namespace std; // 使用 std 命名空间
// main() 是程序开始执行的地方
int main() {
cout << "Hello World"; // 输出 Hello World
return 0; // 函数执行完成,返回结果0
}实例解析:
#include <iostream>:引入输入输出流库,用于 cout 输出。using namespace std;:使用 std 命名空间,让后续代码可以直接使用标准库的函数和对象。// main()...:这是单行注释,在代码中解释某部分功能。int main():定义一个名为 main 的函数,返回类型为 int,{} 内为代码块。cout << "Hello World";:输出 Hello World 字符串到控制台。return 0;:标识程序正常结束。在 C++ 中,函数有 返回类型、函数名 和 参数列表。每个函数执行的代码放在 {} 内部,执行结束时可以通过 return 返回结果。
函数结构:
int main() {} // 返回类型为 int,函数名为 mainint:函数的返回类型。main:函数名。{}:代码块,包含函数体内部的代码。在 C++ 中,命名空间是用来避免命名冲突的机制。标准库的所有内容都放在 std 命名空间中。为了简化代码,通常会在文件开头使用 using namespace std;,这样就可以直接使用标准库的函数和对象。
命名空间的使用:
using namespace std; // 引入标准命名空间
// 如果不使用命名空间
std::cout << "Hello World"; // 显式指定使用 std 命名空间如果没有 using namespace std;,在代码中每次使用标准库函数时都需要加上 std:: 前缀,就像在 Python 中使用 os.path 而不是直接 path。
优点:
缺点:
注释用于解释代码的作用。在 C++ 中有两种注释形式:
• 单行注释: 使用 // 来注释一行。
// 这是单行注释• 多行注释: 使用 /* */ 来注释多行。
/* 这是
多行注释 */注释有助于代码的可读性,但不会被编译器执行。
在 Python 中,代码是按行执行的,每行代码通常会以换行符结束。而在 C++ 中,代码是按语句(分号 ;)来结束的,因此同一行可以写多条语句。
int main() {cout << "Hello World"; return 0;}你也可以将这些语句分成多行,按需格式化代码,使代码更易读。
int main() {
cout << "Hello World"; // 输出内容
return 0; // 返回值
}在 C++ 中,标识符(例如变量名、函数名、类名等)遵循一定的命名规则:
a-z、A-Z)、数字(0-9)和下划线(_)。但是,标识符的第一个字符必须是字母或下划线,不能以数字开头。myVar、MyVariable、_myVar、var_11var、@varmyVar 和 MyVar 是两个不同的标识符。if、else、int 等,这些不能作为标识符使用。完整关键字示例代码:
int myVariable = 10; // 正确
int MyVariable = 20; // 正确,但与 myVariable 不同
int 1var = 30; // 错误,不能以数字开头在 C++ 中,数据类型是非常重要的,它决定了变量存储数据的形式和大小。与 Python 不同,C++ 是静态类型语言,我们必须在使用变量时显式声明其数据类型。常用的数据类型如下:
• 整数类型(int)
用于存储整数。示例代码:
int x = 100;
cout << x << endl;• 浮点类型(float, double)
用于存储小数。示例代码:
double pi = 3.14159;
cout << pi << endl;• 字符类型(char)
用于存储单个字符。示例代码:
char grade = 'A';
cout << grade << endl;• 布尔类型(bool)
用于存储布尔值 true 或 false。示例代码:
bool isStudent = true;
cout << (isStudent ? "Yes" : "No") << endl;void)表示无返回值或空指针的类型。
示例代码:
void printMessage() {
cout << "Hello, C++!" << endl;
}
int main() {
printMessage();
return 0;
}C++ 中的控制结构包括条件判断、循环结构等。它们决定了程序的执行流程。
C++ 中使用 if、else if 和 else 语句进行条件判断,类似于 Python 中的 if 语句。
示例代码:
int a = 5;
if (a > 10) {
cout << "a is greater than 10" << endl;
} else if (a == 5) {
cout << "a is 5" << endl;
} else {
cout << "a is less than 5" << endl;
}C++ 提供了多种循环结构:
• for 循环
适用于已知循环次数的情况。示例代码:
for (int i = 0; i < 5; i++) {
cout << i << endl;
}• while 循环
适用于条件为真时执行的情况。示例代码:
int i = 0;
while (i < 5) {
cout << i << endl;
i++;
}在 C++ 中,输入输出通常通过 cin 和 cout 来实现。cin 用于接收输入,cout 用于输出数据。
cin 输入cin 用于从控制台读取数据,读取后赋值给指定的变量。
示例代码:
int age;
cout << "Enter your age: ";
cin >> age;
cout << "Your age is: " << age << endl;{} 来明确范围。cin 和 cout 进行输入输出,且需要关注格式问题,而 Python 通过 input() 和 print() 进行输入输出,语法更加简洁。通过这种对比学习方法,相信我们能够更快速地理解和掌握 C++ 的基本语法和数据结构,并为后续的学习打下坚实基础。