前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >从 Python 到 C++:第一步——基础语法结构与数据类型对比学习

从 Python 到 C++:第一步——基础语法结构与数据类型对比学习

作者头像
不止于python
发布2025-03-17 16:15:57
发布2025-03-17 16:15:57
7300
代码可运行
举报
文章被收录于专栏:不止于python不止于python
运行总次数:0
代码可运行

字数 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++ 中有两种注释形式:

单行注释: 使用 // 来注释一行。

代码语言:javascript
代码运行次数:0
运行
复制
// 这是单行注释

多行注释: 使用 /* */ 来注释多行。

代码语言:javascript
代码运行次数:0
运行
复制
/* 这是
   多行注释 */

注释有助于代码的可读性,但不会被编译器执行。

1.5 代码执行与行

在 Python 中,代码是按行执行的,每行代码通常会以换行符结束。而在 C++ 中,代码是按语句(分号 ;)来结束的,因此同一行可以写多条语句。

代码语言:javascript
代码运行次数:0
运行
复制
int main() {cout << "Hello World"; return 0;}

你也可以将这些语句分成多行,按需格式化代码,使代码更易读。

代码语言:javascript
代码运行次数:0
运行
复制
int main() {
    cout << "Hello World";  // 输出内容
    return 0;  // 返回值
}
1.6 标识符命名规则

在 C++ 中,标识符(例如变量名、函数名、类名等)遵循一定的命名规则:

  1. 1. 标识符只能包含字母(a-zA-Z)、数字(0-9)和下划线(_)。但是,标识符的第一个字符必须是字母或下划线,不能以数字开头。
    • 有效的标识符: myVarMyVariable_myVarvar_1
    • 无效的标识符: 1var@var
  2. 2. 区分大小写: C++ 是大小写敏感的,所以 myVarMyVar 是两个不同的标识符。
  3. 3. 保留字(关键字): C++ 语言有一些保留字,像 ifelseint 等,这些不能作为标识符使用。完整关键字

示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
int myVariable = 10;  // 正确
int MyVariable = 20;  // 正确,但与 myVariable 不同
int 1var = 30;  // 错误,不能以数字开头

2. C++ 数据类型解析

在 C++ 中,数据类型是非常重要的,它决定了变量存储数据的形式和大小。与 Python 不同,C++ 是静态类型语言,我们必须在使用变量时显式声明其数据类型。常用的数据类型如下:

2.1 基本数据类型

整数类型(int 用于存储整数。示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
int x = 100;
cout << x << endl;

浮点类型(float, double 用于存储小数。示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
double pi = 3.14159;
cout << pi << endl;

字符类型(char 用于存储单个字符。示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
char grade = 'A';
cout << grade << endl;

布尔类型(bool 用于存储布尔值 truefalse示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
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++ 中使用 ifelse ifelse 语句进行条件判断,类似于 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 循环 适用于已知循环次数的情况。示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
for (int i = 0; i < 5; i++) {
    cout << i << endl;
}

while 循环 适用于条件为真时执行的情况。示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
int i = 0;
while (i < 5) {
    cout << i << endl;
    i++;
}

4. C++ 输入输出

在 C++ 中,输入输出通常通过 cincout 来实现。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++ 采用 cincout 进行输入输出,且需要关注格式问题,而 Python 通过 input()print() 进行输入输出,语法更加简洁。

通过这种对比学习方法,相信我们能够更快速地理解和掌握 C++ 的基本语法和数据结构,并为后续的学习打下坚实基础。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. C++ 基础语法结构
    • 1.1 程序入口:main 函数
    • 1.2 C++ 函数基本结构
    • 1.3 命名空间
    • 1.4 注释
    • 1.5 代码执行与行
    • 1.6 标识符命名规则
  • 2. C++ 数据类型解析
    • 2.1 基本数据类型
    • 2.2 空类型(void)
  • 3. C++ 控制结构
    • 3.1 条件判断
    • 3.2 循环结构
  • 4. C++ 输入输出
    • 4.1 cin 输入
  • 5. 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档