热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【如何系统地学习C++语言】从开发环境到C++进阶,应该怎么办?

开发环境如前面介绍的那样,C属于一种静态的编译型语言,所以,开发环境配置过程中就需要用到对应的编译器。C有很多编译器可以用࿰

开发环境

如前面介绍的那样,C++属于一种静态的编译型语言,所以,开发环境配置过程中就需要用到对应的编译器。

C++有很多编译器可以用,GCC或GNU Compiler Collection是最流行的C++编译器之一。

下面是不同操作系统下的编译器安装方式。

Linux

如果你使用的是Linux,可能已经默认安装了GCC。

如果没有,可以通过如下命令安装:

Linux下的IDE可以选择Codeblocks IDE或Eclipse CDT在Linux。


macOS

在Mac上,你可以使用Clang或GCC,两者都是免费的。

虽然GCC支持更广泛的C和C++标准,但Clang在大多数情况下都能正常工作。

可以使用Homebrew安装GCC:

开发工具方面,可以选择Visual Studio Code或者Xcode。


Windows

在Windows上有很多好的编译器。

在Windows上,Visual Studio提供了一个C++编译器,该编译器还可以构建C语言程序。

Visual Studio有自己强大的、功能丰富的IDE,对于任何开始使用C或C++的人或主要针对Windows平台的人来说,它是一个很好的选择。

如果你想要更符合标准的编译器,GCC(MinGW)也可以使用,Codeblocks IDE通过设置就可以满足需求。

IDE方面,Clang是目前比较好用的的工具,除此之外,还有一些跨平台的IDE,如Eclipse CDT、Jetbrains CLion和Netbeans,它们提供了功能齐全的C和C++开发环境。

最近,Visual Studio Code非常火热,在很多编程语言比较受欢迎,它也可用于Linux和Mac环境。


C++入门

语法是一种编程语言的核心,也是用C++开发的基础,就如同我们说汉语、英语一样,语法定义了C++代码的组成和理解方式。

下面看一段示例代码:

#include :这是一个头文件库,将功能导入到程序中。该命令的含义是程序从一个名的文件中导入内容,该文件代表输入和输出流。

using namespace std:指的是来自标准库(std)的对象和变量名称,通常用关键字std和运算符::来缩写。

int main ( ): 指定了一个主函数。函数是C++程序的一个重要部分,因为它们在代码中定义了一个动作,包含在括号{ }中的代码将被执行。

cout(读作see-out):是一个定义输出的对象,也就是代码中的字串,这里会输出Hello World。

return 0:指示程序不返回任何东西,文本字符串将是唯一的输出。

<<&#xff1a;是一个用于命名对象的操作符&#xff0c;而;&#xff08;分号冒号&#xff09;则作为一行代码的结束标识。

把这些放在一起&#xff0c;就组成了一段完成的C&#43;&#43;代码。

通过这段简短的代码就简单的涵盖了C&#43;&#43;中的一些基本语法&#xff0c;如果不首先学会基础语法&#xff0c;看这段代码如同天书一样&#xff0c;不知道它在做什么&#xff1f;它有什么含义&#xff1f;

如果了解基本语法&#xff0c;就能够像看一段汉语一样轻松理解它表示什么。

基本语法只是入门的一个方面&#xff0c;除此之外还要对如下内容有基本的认知&#xff1a;

函数--一个函数是一组语句&#xff0c;它们共同执行一项任务&#xff0c;每个C&#43;&#43;程序至少有一个函数

数组--数组是一种数据结构&#xff0c;用于存储固定大小的同类元素的顺序集合

字符串- 字符串是由字符组成的一维数组&#xff0c;以空字符&#39;/0&#39;结束

指针- 指针是变量&#xff0c;其值是其他变量的地址。指针有助于更容易地执行C&#43;&#43;任务&#xff0c;有些任务没有它们就无法执行

引用--引用是一个别名&#xff0c;是一个已经存在的变量的另一个名字。如果一个引用被初始化为一个变量&#xff0c;那么这个变量的名字和引用的名字就可以交替使用来指代这个变量

类和对象--类是C&#43;&#43;的一个关键特征&#xff0c;通过将数据表示和操作该数据的方法结合到一个包中来指定一个对象的形式

多态--多态意味着有多种形式。在C&#43;&#43;中&#xff0c;这指的是调用一个数值函数导致不同的函数被执行&#xff0c;这取决于调用该函数的对象的类型

C&#43;&#43;实战

在入门C&#43;&#43;并学习了一些C&#43;&#43;编程技巧后&#xff0c;接下来需要做的就是把它们好好利用起来了&#xff0c;在实战中打磨并熟练C&#43;&#43;。

做到这一点的一个方法是通过做一个项目来了解该语言的各个方面是如何结合起来的。

目前Github上有很多相关的项目&#xff0c;我们可以通过阅读相关的代码&#xff0c;理解它的实现过程&#xff0c;然后自己复现相关的项目来起到实战的作用。

也可以根据自己感兴趣的领域&#xff0c;给你寻找一些相关的需求场景&#xff0c;然后通过C&#43;&#43;实现相应的工具或者软件。

例如&#xff0c;开发一款简单的小游戏、实现一个文献翻译工具、开发一个简易的计算器等等。


C&#43;&#43;进阶

中级和高级C&#43;&#43;编程建立在基础知识之上。

《C&#43;&#43; Crash Course》一书的作者Lospinoso说&#xff0c;在中级阶段&#xff0c;程序员需要了解引用和指针如何工作。支撑最强大的C&#43;&#43;功能的其他核心概念&#xff0c;例如&#xff0c;对象生命周期和多态。

对这些概念如何理解、如何使用&#xff0c;以及如何高效的应用于项目中&#xff0c;则是走上进阶路线上必须学会的。

在进阶之路上&#xff0c;一个C&#43;&#43;程序要做的就不再是如何通过基本语法或者面向对象编程去实现一项功能或者一个系统&#xff0c;而是学会并熟练通用编程、泛型编程&#xff0c;也就是说&#xff0c;需要考虑代码的通用性、可扩展性&#xff0c;以便后续可以更好的向后兼容&#xff0c;以及更加容易适应多平台的需求。


如果大家想好好学习C/C&#43;&#43;的话&#xff0c;为了帮助大家&#xff0c;轻松&#xff0c;高效学习C语言/C&#43;&#43;,给大家分享我收集的资源&#xff0c;从最零基础开始的&#xff1a;

编程学习视频分享&#xff1a;

 

 整理分享&#xff08;多年学习的源码、项目实战视频、项目笔记&#xff0c;基础入门教程&#xff09;最重要的是你可以在群里面交流提问编程问题哦&#xff01;

有需要的童鞋可以来到我下方交流群里面哦~


推荐阅读
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 【妙】bug称它为数组越界的妙用
    1、聊一聊首先跟大家推荐一首非常温柔的歌曲,跑步的常听。本文主要把自己对C语言中柔性数组、零数组等等的理解分享给大家,并聊聊如何构建一种统一化的学习思想 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • Halcon之图像梯度、图像边缘、USM锐化
    图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像卷积:1.模糊2.梯度3.边缘4.锐化1.视频教程:B站、 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 数据结构第三章,栈、队列、数组,期末不挂科指南,第3篇
    数据结构第三章,栈、队列、数组,期末不挂科指南,第3篇,Go语言社区,Golang程序员人脉社 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • 如何在MAC上配置Python和Appium开发环境
    一、需要安装的软件二、下载安装步骤2.1、安装jdk2.1.1JDK下载地址:https:www.oracle.comjavatechnologiesjavase-download ... [详细]
author-avatar
温蚊童鞋_612
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有