C++学习Day0:c++简介

目录


一、.C++语言的发展史

1983年,贝尔实验室(Bell Labs)的Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)发明了C++。 C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。

Stroustrup说:"这个名字象征着源自于C语言变化的自然演进"。还处于发展完善阶段时被称为"new C",之后被称为"C with Class"。C++被视为C语言的上层结构,1983年Rick Mascitti建议使用C++这个名字,就是源于C语言中的"++"操作符(变量自增)。而且在共同的命名约定中,使用"+"以表示增强的程序。

常用于系统开发,引擎开发、嵌入式开发等应用领域, 至今仍然是最受广大程序员喜爱的编程语言之一。

二、C++特点

  • 在支持C语言的基础上,全面支持面向对象编程。
  • 编程领域广泛,功能强大(最难的编程语言之一)。
  • C++语言的标准保持更新,本次课程主要以ISO C++ 98与11标准为主。
  • 为数不多的支持底层操作的面向对象编程语言。
  • 在面向对象的语言中执行效率极高。

三、面向对象的重要术语

  • 对象
  • 封装
  • 继承
  • 多态

三大特征: 封装-->继承--->多态

四、面向过程和面向对象的区别?

【思考】如果要把大象装进冰箱,应该怎么做?

  1. (我)打开冰箱
  2. (我)把大象放进去
  3. (我)把冰箱关上

上面就是一种典型的面向过程的编程思想,这种思想关注重点是"算法"。"算法"指的是一系列有序的步骤,只要按照这个步骤来做,就可以得到预计的结果。这种思维偏向于计算机执行命令的本质,通常程序为一系列有序的语句。这样的程序特点是执行效率高(因为亲力亲为),但是编程效率低。适合小体量的软件项目、涉及硬件的项目与偏向于性能的项目。

使用面向对象的思想把大象装进冰箱:

  1. (我)把大象和冰箱拟人化
  2. (我)给大象和冰箱安排任务
  3. 大象和冰箱执行执行任务

面向对象的语言,关注的重点是"对象"。在计算机中,"对象"可以理解为是一系列由于某种联系聚焦在一起的数据 ,在编程的过程中处理对象之间的关系 。这种思考方式更接近于人类的方式。这样的程序特点是执行效率低,但是编程效率高,适合大规模的软件项目。

五、开发环境:

下载,安装,不要有中文路径

链接: https://pan.baidu.com/s/1ad4c3hy5If6Z9ArivCt12Q?pwd=sc77 提取码: sc77

组件:全选

打开方式:

安装完成之后,改一下编码格式(c++本身不支持中文)支持中文输出

改完之后重启Qt creator

六、创建文件步骤:

1.点击新建项目

2.在弹出的开始栏中按如下操作


后续操作直接下一步

3.在.pro文件中添加(重要!!!)

每次新建项目最好都添加上

QMAKE_CXXFLAGS += -std=c++11

4.保存一下:ctrl+s

5.运行:

快捷键:

  1. 运行:ctrl+R、
  2. ctrl+A全选,再ctrl+i 代码对齐
  3. ALT +0 打开关闭侧边栏
  4. ctrl+F 查找替换

七、个性化


相关推荐
SilentSamsara几秒前
Python 微服务全链路:gRPC + 链路追踪 + 服务网格接入
开发语言·分布式·python·微服务·架构
一只积极向上的小咸鱼2 分钟前
VS Code / Warp MCP 迁移到 Codex MCP 配置总结
开发语言
共享家95276 分钟前
OpenClaw的通道配置
人工智能·学习·openclaw
Cloud_Shy61821 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
多彩电脑25 分钟前
Lua中的元表里的__index和__newindex
开发语言·lua
野生技术架构师33 分钟前
2026 Java面试宝典(春招/社招/秋招通用):没有前言,只有答案,直接开背
java·开发语言·面试
nnnnichijou39 分钟前
Qt 6.9 嵌入式 Linux 交叉编译全栈填坑指南(以树莓派5 AArch64 为例
qt·嵌入式·交叉编译·qml·树莓派5
人道领域1 小时前
【LeetCode刷题日记】131.分割回文串,动态规划优化
java·开发语言·leetcode
z落落2 小时前
C# 接口 interface (多接口实现、类+接口、成员重名)
java·开发语言
MartinYeung52 小时前
[论文学习]基于梯度迭代上下文优化的 LLM 隐私越狱攻击框架
学习·区块链