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

C++(一)

导言:

本文主要讲解linux中,vim编辑器的使用,以及如何认识用它来编辑C++语言。在此使用kali,因其自带多种语言环境,不用担心环境冲突。

C++语言是高级语言的一种,熟练掌握可以帮助我们学习其他语言,摆脱脚本小子,成为真正的白帽子有很大帮助。

本文C++语言的学习,主要借助菜鸟教程:C++ 教程 | 菜鸟教程

一,vim的使用。

linux自带vim和vi编辑器,功能十分强大,被誉为编辑器之神,基本可以打开任何类型的文件,并对其进行编辑(有环境的前提下)。

1,在Linux中,新建文本文件。

新建一个名为C++的文件夹,以防止使用混乱。

在C++文件夹内,打开命令行,输入:

┌──(kali㉿kali)-[~/Desktop/C++]
└─$ touch a.txt

表示再次新建一个a.txt的文件。

可以通过更改后缀名以实现新建其他文件,例如:python文件,C++文件等。

2,使用vim打开并进行编辑。

┌──(kali㉿kali)-[~/Desktop/C++]
└─$ vim a.txt

可以看到,按下回车的瞬间,出现了一个名为.a.txt.swp的文件,swp即swap(交换分区)的简写,在编辑文件时产生,它是隐藏文件。这个文件是一个临时交换文件,用来备份缓冲区中的内容。同时也可以在非正常退出时,保存文件,以防止彻底丢失。同时,在正常关闭文件的时候,会自动消失。

在进入后,可以发现,安东键盘按键的值显示在编辑栏底部(此处输入1111)。

按动键盘上的i键后,就可以进行正常编辑。

在编辑器右下角出现了INSERT(插入)字样,同时,所输入的hello字样便会出现到编辑器上。

若想撤销上一步,则需要<CTRL+U>。

此时,若想保存并退出,则需要按ESC进入命令模式后,按“:”进入底行模式,输入:wq(保存并退出)。

可以看到,原先的.a.txt.swp文件被一个空白文件所代替。

关闭文件夹再打开后,发现其消失了。

二,C++语言如何运行。

C++源文件后缀名是.cpp。

1,新建一个C++语言文件并保存。

┌──(kali㉿kali)-[~/Desktop/C++/day-1]
└─$ touch a.cpp
                                                                
┌──(kali㉿kali)-[~/Desktop/C++/day-1]
└─$ vim a.cpp

输入:

#include <iostream> // 包含iostream库,用于输入输出操作
using namespace std; // 使用std命名空间,方便使用标准库中的函数和对象
int main() // 主函数,程序的入口
{
    cout << "Hello, world!" << endl; // 输出字符串"Hello, world!",并换行
    return 0; // 返回0,表示程序正常结束
}

2,编译成可执行文件。

┌──(kali㉿kali)-[~/Desktop/C++/day-1]
└─$ g++ a.cpp  

.out是可执行文件,相当于win上的exe文件;编译后就可以运行。

可以看到生成的.out文件。

3,运行。

┌──(kali㉿kali)-[~/Desktop/C++/day-1]
└─$ ./a.out    

可以看到,结果的输出的结果是“hello world”。、

4,报错处理。

可以看到,这段代码少了一个}。

编译:

可以看到,给你指出来了错误的位置。 

可以使用set number命令临时显示行数,关闭vim后就不再显示。


http://www.kler.cn/a/383447.html

相关文章:

  • 多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
  • Arduino驱动DS18B20测量环境温度
  • Linux使用教程及常用命令大全
  • DX12 快速教程(2) —— 渲染天蓝色窗口
  • 14-zookeeper环境搭建
  • 图像处理-Ch6-彩色图像处理
  • 开学轻松逆袭孩子的学习利器培养自律习惯,提高学习效率❗❗让习惯养成更轻松~
  • 【Rust Crate之Actix Web(一)】
  • Sigrity Power SI 3D-EM Inductance Extraction模式如何进行电感的提取操作指导(一)
  • 计算机体系结构知识(二)-gdb和args
  • Linux -- 初识线程
  • 【鉴权】OAuth 2.0: 高度灵活与安全的身份认证框架
  • 百度实习生内推
  • Java实战项目-基于微信小程序的校园生活互助服务小程序
  • 供热的一些基础技术数据
  • 2024年10月全球人工智能领域的重大事件盘点
  • Prompt Engineering介绍
  • AI大模型重塑软件开发流程:定义、应用场景、优势、挑战及未来展望
  • 父组件调用函数式子组件,并向子组件传递函数参数。
  • Web3中的区块链技术:从基础设施到应用的演变
  • Python Matplotlib:基本图表绘制指南
  • 社交电商全球化:开源链动模式的引领与挑战
  • uniapp 整合 OpenLayers - 测距测面
  • 安装mysql主从复制
  • SpringMVC快速上手
  • 微信小程序uniapp基于Android的流浪动物管理系统 70c3u