当前位置: 首页 > news >正文

从Python、C过渡入门C++|课堂学习纪要

一、学习背景

高中阶段接触Python,大一上学期系统学习C语言,本学期初次学习C++。三种语言学习下来,能清晰感受到三者设计思路、语法风格的巨大差异,本篇整理课堂录音知识点,梳理C++新增特性、与C/Python的区别,用作课程学习博客记录。

二、三种语言简单对比

  1. Python(高中)
    解释型语言,无需编译,不用声明变量类型,语法简洁自由,上手门槛低;但运行效率弱,不适合底层开发。
  2. C语言(大一上)
    编译型面向过程语言,贴近计算机底层,手动管理内存,语法严谨,没有类、封装等高级特性,适合理解程序运行底层逻辑。
  3. C++(当前新课)
    完全兼容C语言所有语法,在C的基础上拓展面向对象、引用、重载、命名空间等功能,兼顾底层性能与上层开发便捷性,是C的“升级版”。

三、输入输出:告别printf/scanf,cin/cout更省心

C语言写法

c

#include <stdio.h>
int main()
{
int num;
scanf(“%d”, &num);
printf(“输入数字:%d\n”, num);
return 0;
}

缺点:必须搭配 %d 、 %f 格式符,容易漏写取地址符 & 出错。

C++新式写法

cpp

#include
using namespace std;

int main()
{
int num;
cin >> num;
cout << “输入数字:” << num << endl;
return 0;
}

优势:不需要格式控制符,自动识别变量类型; endl 实现换行并刷新缓冲区。

四、命名空间 namespace(C语言没有的新概念)

C语言中如果两个函数/变量重名,程序直接编译报错;
C++引入命名空间隔离同名标识符,解决命名冲突问题。

cpp

#include
// 全局引入标准命名空间,简化代码
using namespace std;

int main()
{
// 不引入using时完整写法
std::cout << “标准库输出” << std::endl;
cout << “简写输出” << endl;
return 0;
}

五、原生bool布尔类型

C语言无原生布尔,需要引入 <stdbool.h> 头文件才能使用true/false;
Python布尔首字母大写 True/False ;
C++内置 bool 类型,关键字小写:

cpp

bool flag = true;
if (flag)
{
cout << “条件成立” << endl;
}

六、变量定义更自由

C语言规定变量必须写在代码块最开头;
C++和Python一样,可以在任意位置定义变量,随用随定义,代码可读性更高。

cpp

#include
using namespace std;
int main()
{
cout << “先输出一句话” << endl;
// 中途定义变量,C语言不允许
int a = 10;
cout << a;
return 0;
}

七、函数重载(C语言不支持)

C语言同一个作用域内,函数名不能重复;
C++允许函数名相同、参数列表不同,实现函数重载,根据传入参数自动匹配对应函数。

cpp

#include
using namespace std;

// 重载1:接收int
void show(int x)
{
cout << “整数:” << x << endl;
}
// 重载2:接收double
void show(double x)
{
cout << “小数:” << x << endl;
}

int main()
{
show(66);
show(3.14);
return 0;
}

八、引用 &(C语言无此特性)

引用是C++核心基础语法,相当于变量别名,操作引用等同于操作原变量,不需要像C语言一样频繁使用指针传参。

cpp

#include
using namespace std;
int main()
{
int a = 10;
// b是a的引用
int &b = a;
b = 20;
cout << a; // 输出20,修改b同步改变a
return 0;
}

九、初学总结与感悟

  1. 有C语言基础学习C++门槛很低,原有C代码可以直接复用,重点掌握新增的语法特性;
  2. 对比Python,C++强类型、编译运行的特性更加严谨,写代码需要关注数据类型、内存细节;
  3. 现阶段先吃透输入输出、命名空间、bool、引用、函数重载,后续再深入学习类、对象等面向对象核心内容。
http://www.jsqmd.com/news/1039796/

相关文章:

  • 打破语言壁垒:Translumo如何让游戏、视频和软件界面瞬间变得可读?
  • 高速ADC实战指南:从MCP37220/MCP37D20-200参数解读到系统设计避坑
  • i.MX异构多核VirtIO网络共享:原理、部署与性能调优实战
  • 嵌入式通信系统经典架构:MPC821 PowerPC核心与CPM协同设计解析
  • 2026年新消息:江苏综合物流服务企业怎么联系?全面解析与阿尔山码头推荐 - 品牌鉴赏官2026
  • M68HC16微控制器PWM与Flash EEPROM核心机制与工程实践详解
  • 电源监控芯片TC1278/TC1279选型与应用指南:提升嵌入式系统可靠性
  • 终极宝可梦合规解决方案:如何用PKHeX自动合法性插件轻松生成完美宝可梦
  • SPI EEPROM 25XX010A驱动指南:嵌入式小数据存储与避坑实践
  • 终极指南:霞鹜文楷屏幕阅读版字体如何解决数字阅读疲劳问题
  • Harness Engineering:线束工程的本质是系统级物理接口设计
  • 终极Buck-Boost电感计算器:免费电源设计神器完整指南
  • Microchip 24AA32AF与24LC32AF EEPROM选型指南与I2C实战
  • 5:ROS2 Humble :工作空间完整详解
  • 阿里国际agent开发岗,我跪了!!!
  • Microchip 24XX256 EEPROM选型、驱动与可靠性设计全指南
  • Motorola MMDS0508硬件仿真器:嵌入式调试利器与总线分析实战
  • 深度学习车道线检测:从U-Net到行锚点模型的工业级实践
  • 拼多多数据采集实战:3大业务场景的完整解决方案与架构设计
  • 小红书2026.6.11推荐算法升级深度解析:语义质量评分、深度互动建模与AI内容检测的技术拆解
  • AutoDrive Challenge™:学生如何从零构建L4自动驾驶系统
  • 第四代USB 2.0闪存媒体控制器:集成电源与多卡支持的设计实践
  • 自动驾驶仿真测试:从原子级建模到闭环验证的工程实践
  • 菏泽高口碑黄金铂金回收白银回收实体老店排行 5 家靠谱门店电话地址全收录
  • 2026年6月常州企业短视频拍摄服务联系指南与优质服务商解析 - 品牌鉴赏官2026
  • 基于YOLOv8与ByteTrack的AI网球追踪:从目标检测到运动分析实战
  • 64Kbit I2C EEPROM选型与应用:低功耗、高可靠性的嵌入式存储方案
  • 2026年当下靠谱的重庆监控安装服务公司深度解析与选型指南 - 品牌鉴赏官2026
  • MCP3301与MCU的SPI通信:从原理到实践的高精度ADC应用指南
  • 从物理引擎到数字孩生:构建奥运跳台滑雪比赛仿真系统