admin管理员组文章数量:1037775
从 Python 到 C++:第一步——基础语法结构与数据类型对比学习
字数 1750,阅读大约需 9 分钟
前言
年也过完了,心也该静下来了,上年立的flag也变成今年的了,再喊一遍口号,今年要更努力,把c++学会并将c++学习笔记系列更新完毕。敬请期待~
1. C++ 基础语法结构
C++ 是一种强类型、静态编译的语言,程序执行时需要明确指定每一个元素的类型。我们从 C++ 的基础语法结构开始,通过对比 Python 来帮助你快速理解。
1.1 程序入口:main
函数
C++ 程序的执行从 main
函数开始,这是程序的入口点,Python 没有类似的强制入口函数,直接从脚本顶层代码开始执行。
hello.cpp:
代码语言:javascript代码运行次数:0运行复制#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;
:标识程序正常结束。
1.2 C++ 函数基本结构
在 C++ 中,函数有 返回类型、函数名 和 参数列表。每个函数执行的代码放在 {}
内部,执行结束时可以通过 return
返回结果。
函数结构:
代码语言:javascript代码运行次数:0运行复制int main() {} // 返回类型为 int,函数名为 main
- •
int
:函数的返回类型。 - •
main
:函数名。 - •
{}
:代码块,包含函数体内部的代码。
1.3 命名空间
在 C++ 中,命名空间是用来避免命名冲突的机制。标准库的所有内容都放在 std
命名空间中。为了简化代码,通常会在文件开头使用 using namespace std;
,这样就可以直接使用标准库的函数和对象。
命名空间的使用:
代码语言:javascript代码运行次数:0运行复制using namespace std; // 引入标准命名空间
// 如果不使用命名空间
std::cout << "Hello World"; // 显式指定使用 std 命名空间
如果没有 using namespace std;
,在代码中每次使用标准库函数时都需要加上 std::
前缀,就像在 Python 中使用 os.path
而不是直接 path
。
优点:
- • 代码更简洁,避免重复书写命名空间。
缺点:
- • 如果多个库有相同的命名空间,可能会发生冲突。
- • 代码不太清晰,可能难以追溯使用的是哪个库。
1.4 注释
注释用于解释代码的作用。在 C++ 中有两种注释形式:
• 单行注释: 使用 //
来注释一行。
// 这是单行注释
• 多行注释: 使用 /* */
来注释多行。
/* 这是
多行注释 */
注释有助于代码的可读性,但不会被编译器执行。
1.5 代码执行与行
在 Python 中,代码是按行执行的,每行代码通常会以换行符结束。而在 C++ 中,代码是按语句(分号 ;
)来结束的,因此同一行可以写多条语句。
int main() {cout << "Hello World"; return 0;}
你也可以将这些语句分成多行,按需格式化代码,使代码更易读。
代码语言:javascript代码运行次数:0运行复制int main() {
cout << "Hello World"; // 输出内容
return 0; // 返回值
}
1.6 标识符命名规则
在 C++ 中,标识符(例如变量名、函数名、类名等)遵循一定的命名规则:
- 1. 标识符只能包含字母(
a-z
、A-Z
)、数字(0-9
)和下划线(_
)。但是,标识符的第一个字符必须是字母或下划线,不能以数字开头。- • 有效的标识符:
myVar
、MyVariable
、_myVar
、var_1
- • 无效的标识符:
1var
、@var
- • 有效的标识符:
- 2. 区分大小写: C++ 是大小写敏感的,所以
myVar
和MyVar
是两个不同的标识符。 - 3. 保留字(关键字): C++ 语言有一些保留字,像
if
、else
、int
等,这些不能作为标识符使用。完整关键字
示例代码:
代码语言:javascript代码运行次数:0运行复制int myVariable = 10; // 正确
int MyVariable = 20; // 正确,但与 myVariable 不同
int 1var = 30; // 错误,不能以数字开头
2. C++ 数据类型解析
在 C++ 中,数据类型是非常重要的,它决定了变量存储数据的形式和大小。与 Python 不同,C++ 是静态类型语言,我们必须在使用变量时显式声明其数据类型。常用的数据类型如下:
2.1 基本数据类型
• 整数类型(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;
2.2 空类型(void
)
表示无返回值或空指针的类型。
示例代码:
代码语言:javascript代码运行次数:0运行复制void printMessage() {
cout << "Hello, C++!" << endl;
}
int main() {
printMessage();
return 0;
}
3. C++ 控制结构
C++ 中的控制结构包括条件判断、循环结构等。它们决定了程序的执行流程。
3.1 条件判断
C++ 中使用 if
、else if
和 else
语句进行条件判断,类似于 Python 中的 if
语句。
示例代码:
代码语言:javascript代码运行次数:0运行复制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;
}
3.2 循环结构
C++ 提供了多种循环结构:
• for
循环
适用于已知循环次数的情况。示例代码:
for (int i = 0; i < 5; i++) {
cout << i << endl;
}
• while
循环
适用于条件为真时执行的情况。示例代码:
int i = 0;
while (i < 5) {
cout << i << endl;
i++;
}
4. C++ 输入输出
在 C++ 中,输入输出通常通过 cin
和 cout
来实现。cin
用于接收输入,cout
用于输出数据。
4.1 cin
输入
cin
用于从控制台读取数据,读取后赋值给指定的变量。
示例代码:
代码语言:javascript代码运行次数:0运行复制int age;
cout << "Enter your age: ";
cin >> age;
cout << "Your age is: " << age << endl;
5. 总结
- • 数据类型: C++ 的数据类型需要显式声明,类型的大小是固定的,且 C++ 是强类型语言。而 Python 是动态类型语言,变量类型由解释器自动推断。
- • 控制结构: C++ 的控制结构与 Python 相似,但 C++ 更加严格地要求代码块使用
{}
来明确范围。 - • 输入输出: C++ 采用
cin
和cout
进行输入输出,且需要关注格式问题,而 Python 通过input()
和print()
进行输入输出,语法更加简洁。
通过这种对比学习方法,相信我们能够更快速地理解和掌握 C++ 的基本语法和数据结构,并为后续的学习打下坚实基础。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-02-20,如有侵权请联系 cloudcommunity@tencent 删除函数基础数据类型c++python从 Python 到 C++:第一步——基础语法结构与数据类型对比学习
字数 1750,阅读大约需 9 分钟
前言
年也过完了,心也该静下来了,上年立的flag也变成今年的了,再喊一遍口号,今年要更努力,把c++学会并将c++学习笔记系列更新完毕。敬请期待~
1. C++ 基础语法结构
C++ 是一种强类型、静态编译的语言,程序执行时需要明确指定每一个元素的类型。我们从 C++ 的基础语法结构开始,通过对比 Python 来帮助你快速理解。
1.1 程序入口:main
函数
C++ 程序的执行从 main
函数开始,这是程序的入口点,Python 没有类似的强制入口函数,直接从脚本顶层代码开始执行。
hello.cpp:
代码语言:javascript代码运行次数:0运行复制#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;
:标识程序正常结束。
1.2 C++ 函数基本结构
在 C++ 中,函数有 返回类型、函数名 和 参数列表。每个函数执行的代码放在 {}
内部,执行结束时可以通过 return
返回结果。
函数结构:
代码语言:javascript代码运行次数:0运行复制int main() {} // 返回类型为 int,函数名为 main
- •
int
:函数的返回类型。 - •
main
:函数名。 - •
{}
:代码块,包含函数体内部的代码。
1.3 命名空间
在 C++ 中,命名空间是用来避免命名冲突的机制。标准库的所有内容都放在 std
命名空间中。为了简化代码,通常会在文件开头使用 using namespace std;
,这样就可以直接使用标准库的函数和对象。
命名空间的使用:
代码语言:javascript代码运行次数:0运行复制using namespace std; // 引入标准命名空间
// 如果不使用命名空间
std::cout << "Hello World"; // 显式指定使用 std 命名空间
如果没有 using namespace std;
,在代码中每次使用标准库函数时都需要加上 std::
前缀,就像在 Python 中使用 os.path
而不是直接 path
。
优点:
- • 代码更简洁,避免重复书写命名空间。
缺点:
- • 如果多个库有相同的命名空间,可能会发生冲突。
- • 代码不太清晰,可能难以追溯使用的是哪个库。
1.4 注释
注释用于解释代码的作用。在 C++ 中有两种注释形式:
• 单行注释: 使用 //
来注释一行。
// 这是单行注释
• 多行注释: 使用 /* */
来注释多行。
/* 这是
多行注释 */
注释有助于代码的可读性,但不会被编译器执行。
1.5 代码执行与行
在 Python 中,代码是按行执行的,每行代码通常会以换行符结束。而在 C++ 中,代码是按语句(分号 ;
)来结束的,因此同一行可以写多条语句。
int main() {cout << "Hello World"; return 0;}
你也可以将这些语句分成多行,按需格式化代码,使代码更易读。
代码语言:javascript代码运行次数:0运行复制int main() {
cout << "Hello World"; // 输出内容
return 0; // 返回值
}
1.6 标识符命名规则
在 C++ 中,标识符(例如变量名、函数名、类名等)遵循一定的命名规则:
- 1. 标识符只能包含字母(
a-z
、A-Z
)、数字(0-9
)和下划线(_
)。但是,标识符的第一个字符必须是字母或下划线,不能以数字开头。- • 有效的标识符:
myVar
、MyVariable
、_myVar
、var_1
- • 无效的标识符:
1var
、@var
- • 有效的标识符:
- 2. 区分大小写: C++ 是大小写敏感的,所以
myVar
和MyVar
是两个不同的标识符。 - 3. 保留字(关键字): C++ 语言有一些保留字,像
if
、else
、int
等,这些不能作为标识符使用。完整关键字
示例代码:
代码语言:javascript代码运行次数:0运行复制int myVariable = 10; // 正确
int MyVariable = 20; // 正确,但与 myVariable 不同
int 1var = 30; // 错误,不能以数字开头
2. C++ 数据类型解析
在 C++ 中,数据类型是非常重要的,它决定了变量存储数据的形式和大小。与 Python 不同,C++ 是静态类型语言,我们必须在使用变量时显式声明其数据类型。常用的数据类型如下:
2.1 基本数据类型
• 整数类型(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;
2.2 空类型(void
)
表示无返回值或空指针的类型。
示例代码:
代码语言:javascript代码运行次数:0运行复制void printMessage() {
cout << "Hello, C++!" << endl;
}
int main() {
printMessage();
return 0;
}
3. C++ 控制结构
C++ 中的控制结构包括条件判断、循环结构等。它们决定了程序的执行流程。
3.1 条件判断
C++ 中使用 if
、else if
和 else
语句进行条件判断,类似于 Python 中的 if
语句。
示例代码:
代码语言:javascript代码运行次数:0运行复制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;
}
3.2 循环结构
C++ 提供了多种循环结构:
• for
循环
适用于已知循环次数的情况。示例代码:
for (int i = 0; i < 5; i++) {
cout << i << endl;
}
• while
循环
适用于条件为真时执行的情况。示例代码:
int i = 0;
while (i < 5) {
cout << i << endl;
i++;
}
4. C++ 输入输出
在 C++ 中,输入输出通常通过 cin
和 cout
来实现。cin
用于接收输入,cout
用于输出数据。
4.1 cin
输入
cin
用于从控制台读取数据,读取后赋值给指定的变量。
示例代码:
代码语言:javascript代码运行次数:0运行复制int age;
cout << "Enter your age: ";
cin >> age;
cout << "Your age is: " << age << endl;
5. 总结
- • 数据类型: C++ 的数据类型需要显式声明,类型的大小是固定的,且 C++ 是强类型语言。而 Python 是动态类型语言,变量类型由解释器自动推断。
- • 控制结构: C++ 的控制结构与 Python 相似,但 C++ 更加严格地要求代码块使用
{}
来明确范围。 - • 输入输出: C++ 采用
cin
和cout
进行输入输出,且需要关注格式问题,而 Python 通过input()
和print()
进行输入输出,语法更加简洁。
通过这种对比学习方法,相信我们能够更快速地理解和掌握 C++ 的基本语法和数据结构,并为后续的学习打下坚实基础。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-02-20,如有侵权请联系 cloudcommunity@tencent 删除函数基础数据类型c++python本文标签: 从 Python 到 C第一步基础语法结构与数据类型对比学习
版权声明:本文标题:从 Python 到 C++:第一步——基础语法结构与数据类型对比学习 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1748249917a2275238.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论