c++入门第一篇

news2024/11/22 22:10:41

C++

  • 1 C++是编译语言
    • 1.1 windows平台运行c++
    • 1.2 linux平台运行c++
    • 1.3 Clion和MinGW-w64(编译器)安装教程
    • 1.4 clion的使用教程
    • 1.5 c++开发工具
    • 1.6 c++发展应用领域
    • 1.7 c++学习路线
    • 1.8 c++学习资料
    • 1.9 编程界的四大派系
  • 2 基本语法
    • 2.1 c++程序各部分介绍
    • 2.2 编写C++程序
    • 2.3 c++第三方库管理
      • 2.3.1 引用第三方库
      • 2.3.2 引用其它cpp文件
    • 2.4 编译c++程序两种方法(MinGW的gcc和makefile)
  • 参考资料

编写C++程序一般需经过的几个步骤依次是编辑、调试、编译、连接。

1 C++是编译语言

计算机上可以运行的只有机器指令(由 01 组成),其他任何语言编写的程序(包括汇编)都要翻译成对应的机器指令才能运行,C++ 属于编译型语言。

编译语言有很多,常见的高级语言都是编译语言,如 Java、C\C++、C# 等,特点是运行前要经过一系列的处理,通常将这一过程称为 “编译”,编译成功后会生成对应的二进制文件,也就是可执行文件(您的程序)。

与之对应的解释型语言有: Python、JavaScript、HTML 等,特点是运行时在进行 “解释” ,即每执行到一条语言就进行解释成对应的机器指令。

大家知道的编译语言速度快,快的地方其实在于“一次编译,多次运行”,而解释型语言则是每次运行时都要进行 “解释” 所以才慢了些。 但是实际开发过程解释型语言较编译型语言快得多喔, 原因也是因为编译型语言运行前要进行编译,当工程较大时,编译可以耗费大量时间,不适合调试,另外学习编译语言的成本和难度较解释型要大。

编译语言的运行,通常可以分成几个步骤,如下:
(1)编辑,编辑代码;
(2)编译,检查语法规范、将源文件翻译成机器指令;
(3)连接,将几个编译好的文件合成1个文件;
(4)运行,运行exe等程序。
比如java的java -c需要先编译成class文件,再java -jar连接成1个文件。
c++编译好是.o文件,再连接成exe

1.1 windows平台运行c++

在这里插入图片描述
在vs中我们想要输出日志的同时并且输出到控制台,(1)那我们在代码中加入下面代码:freopen(“output.txt”, “w”, stdout);(2)在项目属性处理器定义的最右侧点击下拉按钮,选择下拉菜单的编辑,打开预处理器定义的设置对话框,在其中加上_CRT_SECURE_NO_WARNINGS
VS输入输出重定向的问题_vs 重定向输入输出_cmsmalldog的博客-CSDN博客
解决C++error C4996: ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead.-CSDN博客

1.2 linux平台运行c++

在Linux下这些步骤基本都是一样的,不同的是,Linux最后生成的文件不是.exe,而是.out
在这里插入图片描述

1.3 Clion和MinGW-w64(编译器)安装教程

[1] 下载安装MinGW-w64详细步骤(c/c++的编译器gcc的windows版,win10真实可用)_jjxcsdn的博客-CSDN博客

[2] MinGW与Clion下载安装及使用详解_clion自带mingw_老师我作业忘带了的博客-CSDN博客

1.4 clion的使用教程

使用clion+cmake+vcpkg的开发现代的c++跨平台程序 - osc_sm6rxbzs的个人空间 - OSCHINA - 中文开源技术交流社区

C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(上) - 程序猿的程序魂的个人空间 - OSCHINA - 中文开源技术交流社区
C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(中) - 程序猿的程序魂的个人空间 - OSCHINA - 中文开源技术交流社区

1.5 c++开发工具

基本就是下面3种:
VS
VScode
clion

1.6 c++发展应用领域

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.7 c++学习路线

C++ 学习路线和看法
C++大体分为C++的基本知识,template C++, Object-Oriented C++, STL四部分。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

核心基础
(1)数据类型
(2)流程语句
(3)函数和类
(4)分布式,多线程等
(5)网络编程
(6)文件操作
(7)异常处理
(8)数据库操作
扩展
(1)数据结构与算法
(2)Linux
在这里插入图片描述

1.8 c++学习资料

就看下面2个课程就行
1、lx推荐__博学谷的课程,xm已买
C/C++课程大纲|C/C++培训课程体系|黑马C/C++课程表

2、尚硅谷2023版C++零基础教程,c++项目实战,清华学神带你一套通关_哔哩哔哩_bilibili

1.9 编程界的四大派系

编程基本分成4大派系,所以不搞java基本就搞c++

  1. java
  2. c++
  3. 算法(c++和python)学算法必学c++和python
  4. 前端

2 基本语法

2.1 c++程序各部分介绍

C++程序的基本组成简介_软件开发技术爱好者的博客-CSDN博客

2.2 编写C++程序

在这里插入图片描述
Visual studio 2019 之 如何创建一个C++项目?_vs2019怎么创建c++项目_那一缕时光的博客-CSDN博客

2.3 c++第三方库管理

2.3.1 引用第三方库

c++下程序的运行(第3方库的安装及安装gdal)_c++安装库_晓码bigdata的博客-CSDN博客

2.3.2 引用其它cpp文件

两种方式:
1 直接引用.cpp文件

#include "ctool.cpp"

2 编写头文件引用头文件
c++ 05 引用外部文件 - 码农教程
C++中 调用其他文件中的函数_c++引用其他文件的函数_苦逼的杨同学的博客-CSDN博客
C++学习日记——头文件的编写_c++头文件怎么写_所念非欢的博客-CSDN博客

2.4 编译c++程序两种方法(MinGW的gcc和makefile)

在这里插入图片描述

参考资料

【1】黑马下面博学谷的课程
[1] 黑马程序员匠心之作|C++教程从0到1入门编程,入门课程_哔哩哔哩_bilibili
[2] C++ 存储类 | 菜鸟教程](https://www.runoob.com/cplusplus/cpp-storage-classes.html)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zeppos 开发工具模拟器 simulator 无法显示app

zeppos 开发工具模拟器 simulator 无法显示app 目录问题描述:simulator的 Apps 不显示 hello-world 工程解决方案 目录 问题描述:simulator的 Apps 不显示 hello-world 工程 已确认部分: 1.网卡驱动安装成功 2.simulator version:1.1.9 3.d…

【LinuxShell】Shell编程之数组

文章目录 一、数组二、数组的定义方式三、数组的相关概述1.数组包括的数据类型2.获取数组长度3.获取数组数据列表4.获取数据下标列表5.获取某下标赋值6.如何判断数组是否缺少元素 四、数组的操作1.数组遍历2.数组切片3.数组替换4.数组删除5.数组追加元素 五、函数与数组的使用1…

致力于中小企业JavaEE企业级快速开发平台、后台框架平台

一、开源项目简介 J2eeFAST 是一个 Java EE 企业级快速开发平台, 致力于打造中小企业最好用的开源免费的后台框架平台 。系统基于(Spring Boot、Spring MVC、Apache Shiro、MyBatis-Plus、Freemarker、Bootstrap、AdminLTE)经典技术开发&…

zigbee抓包器使用

软件名称:Ubiqua Protocol Analyzer 主要操作流程: 1. 添加物理抓包器 2. 抓包 3. 过滤

注入攻击(一)--------SQL注入(结合BUUCTF sqli-labs)

目录 写在前面一、暴力破解Basic-3-Brute 11.解题思路2.Burp Suite工具使用简介 二、基于GET的SQL注入Pre.使用校园网做题时可能遇到的小问题 2.1 Basic-4-SQL course 1(sql注入)1.解题思路 2.2 Basic-8-sqli-labs(sql注入的各种攻击形式&…

iostat

目录 iostat 查看读写速度和占用CPU时间比率 一、包名 二、常用命令 三、模拟磁盘读写 iptop 看哪个进程使用存储多 iostat 查看读写速度和占用CPU时间比率 一、包名 sysstat (和sar同一个包) 二、常用命令 iostat 1 每一秒…

js执行思维导图

备注: js执行: 执行分为两部分:预执行和执行 预执行:创建好执行上下文 执行:执行栈中执行 js引擎: 读取并执行js 各个浏览器的引擎如下 …

总结846

学习目标: 月目标:5月(张宇强化前10讲,背诵15篇短文,熟词僻义300词基础词) 周目标:张宇强化前3讲并完成相应的习题并记录,英语背3篇文章并回诵 每日必复习(5分钟&#…

软考A计划-重点考点-专题八(知识产权和标准化知识)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

环保认证油烟监测装置餐饮业油烟污染如何治理?

摘要:城市餐饮业油烟污染成了困扰城区环境保护部门和人民群众日常生活的主要问题。油烟污染已经成为我国一个重大的污染源,是形成PM2.5的重要污染源之一,为了解决餐饮业油烟管理方面存在的问题,设计了餐饮业油烟在线监控系统&…

什么CRM客户管理系统最好?

产业互联网背景下,企业数字化转型日渐深化。毋庸置疑,客户是企业的命脉,企业发展的关键便是以客户为中心,为客户创造价值,并不断实现企业的可持续性增长,而这也是每个企业永不落幕的主题。 一套优秀的CRM客…

设计模式之【装饰者模式】,实现“穿衣打扮”自由原来这么简单

文章目录 一、什么是装饰者模式1、装饰者模式原理2、装饰者模式四大角色3、代理、桥接、装饰器、适配器 4 种设计模式的区别4、装饰者模式的应用场景5、装饰者模式和代理模式的对比6、装饰者模式优缺点7、抽象装饰器(Decorator)是必需的吗 二、实例1-煎饼…

上门推拿app开发软件|上门推拿o2o源码|上门推拿小程序

随着社会的发展,人们越来越注重身体健康,推拿按摩已经成为了不少人减轻身体疲劳、缓解压力的重要方式。但是,传统的推拿按摩前往店铺消费时间成本高、实现复杂,为此同城预约上门推拿小程序成为了时代的产物。   1. 市场需求大&a…

【机器学习】线性回归模型详解

PS:本文有一定阅读门槛,如果有不明白的地方欢迎评论询问! 1 模型概述 接下来我们将要学习我们的第一个模型——线性回归。比如说我需要根据数据预测某个面积的房子可以卖多少钱 接下来我们会用到以下符号: m:训练样本数量x:输…

软考A计划-重点考点-专题七(软件工程)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

当今自然语言处理领域中的成功之路:Transformer模型

当今自然语言处理领域中最重要和最成功的模型之一是Transformer模型。它是一种基于自注意力机制的神经网络模型,最初由Google公司的研究人员提出,并被广泛应用于机器翻译、文本生成、情感分析等任务中。 Transformer模型之所以被广泛使用,是因…

AI 将完全取代前端开发吗?

注:今晨,我浏览 Medium,看到了篇颇为标题党的文章,于是我就将它抛给了 ChatGPT。本篇文章全部由 ChatGPT 所写。同时,我也请 ChatGPT 分享了它对此的观点。 最近,我的同事向我讲述了他与他老板的一次谈话。…

Golang每日一练(leetDay0061) 表列序号、阶乘后的零

目录 171. Excel 表列序号 Excel Sheet Column Number 🌟 172. 阶乘后的零 Factorial Trailing Zeroes 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练…

ImageBind 多模态文本、图像、音频 Embedding同一个共享空间

参考: https://github.com/facebookresearch/ImageBind ImageBind learns a joint embedding across six different modalities - images, text, audio, depth, thermal, and IMU data ImageBind 多个模态共享同一个空间Embedding,这样可以通过一个模态…

【虾皮shopee来赞达lazada】各区域商品详情API接口返回值说明

虾皮shopee电商数据(来赞达lazada同理) 虾皮(shopee)是一个亚洲区域的电商平台,主要在东南亚地区提供电商服务。虾皮提供了丰富的电商数据,包括商品数据、订单数据、会员数据、评价数据等。以下是具体的介绍: 商品数据…