C++ 基础(1)

news/2025/3/19 23:10:04/文章来源:https://www.cnblogs.com/encr/p/18782113

0x01 第一个C++程序

#include <iostream>int main()
{std::cout << "Hello World!\n";
}
// std::cout    向控制台输出内容的指令
// <<           输出的运算符
// ""			字符串内容的边界符
// \n			输出换行
// Hello World	输出字符串的内容
//;				C++ 语句结束的标志

其中#include <iostream>是包含头文件,是必须要存在的,int main()是main函数,程序从这里开始执行,{...}中是执行的代码,相当于代码块。//双斜线代表注释,也可以作为说明,程序不执行双斜线的内容。运行程序

0x02 输出数据

数据作为信息的载体,我们编写程序的目的就是为了处理数据。

数据的分类

  • 数字
  • 字符
  • 字符串

输出数据

  • std::cout可以输出各种类型的数据
  • <<操作符可以拼接多个数据项
  • std::endl可以用于换行
  • using namespace std指定缺省的命名空间
#include <iostream>// 指定缺省的命名空间。
using namespace std;int main()
{// 用多个数据项输出超女信息,姓名:西施;年龄:25;体重:48.5;性别:X// std::cout << "姓名:西施;年龄:25;体重:48.5;性别:X\n";cout << "姓名:" << "西施" << ";年龄:" << 25 << ";体重:" << 48.5 << ";性别:" << 'X' << endl;
}

using namespace std的意思是,我可以声明std。避免后续代码中还要继续输入std::cout

0x03 程序的注释

在代码中进行说明文字,对代码的功能进行解释,编译器在编译源代码的时候会忽略掉。

在C++中,共有两种注释

  • 单行注释
  • 多行注释

单行注释

两根反斜线,放在代码的上方或者末尾。例如

// 指定缺省的命名空间。
using namespace std; // 指定缺省的命名空间

多行注释

从/开始,到/结束,像抓娃娃机一样把内容夹住

#include <iostream>// 指定缺省的命名空间。
using namespace std;int main()
{/*用多个数据项输出超女信息,姓名:西施;年龄:25;体重:48.5;性别:Xstd::cout << "姓名:西施;年龄:25;体重:48.5;性别:X\n"; */cout << "姓名:" << "西施" << ";年龄:" << 25 << ";体重:" << 48.5 << ";性别:" << 'X' << endl;
}

注释中的注释

单行注释可以注释掉多行注释,多行注释同样也可以注释掉单行注释,不建议使用。

VS中的快捷键

  • 添加注释
    • Ctrl + k + c
  • 取消注释
    • CTRL + k + u

0x04 变量

变量是内存变量的简称,用于存放数据

声明变量

在使用变量的时候需要先进行对变量声明。

声明变量的语法:数据类型 变量名,例如:int age;,还可以在声明变量的时候对其赋初始值,具体语法:数据类型 变量名=值,例如:int age = 18;

在C++中常见的数据类型有五种:

  • int整数
  • floatdouble 浮点数
  • char 字符
  • string 字符串
  • bool布尔
#include <iostream>using namespace std; // 指定缺省的命名空间int main()
{string name = "小明"; // 字符串有双引号包含int age = 25; // 整数double weight = 48; //浮点数char sex = 'Y'; // 字符类型只能使用单引号包含bool yz = false; // 布尔有两个值:true / false,即真或者假cout << "姓名:" << name << ",年龄:" << age << ", 体重:" << weight << ",性别:" << sex << ",颜值:" << yz << endl;}

布尔型输出的时候,true为1,false为0

0x05 使用常量

常量是程序冲固定不变的值

宏常量

一般在main函数的上面声明,用大写命名

语法:#define 常量名 值

const修饰的变量

在程序的任何地方都可以声明。

语法:const 数据类型 常量名=值

#include <iostream>         // 包含头文件。#define MONTHS 12               // 一年中的月份数。
#define PI 3.14159    // 圆周率。using namespace std;        // 指定缺省的命名空间。// main函数,程序从这里开始执行,每个程序只能有一个main函数。
int main()
{const int days = 7;          // 一个星期中的天数。cout << "一年有" << MONTHS << "个月。" << endl;cout << "圆周率的值是:" << PI << endl;cout << "一个星期有" << days << "天。\n";
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在ubuntu系统下与开发板连接问题记录

对我所遇到的问题以及解决方法进行简单的记录在开发板与ubuntu(非虚拟机)连接之后使用lsmod查看是否连接lsusb 我的显示如下:如果可以看到自己的USB设备 那么就说明你已经安装了驱动 如果没有 请安装你的串口对应的驱动 我的驱动是CH340 没有安装的朋友可以去下面网站进行…

maven为什么发生依赖冲突?怎么解决依赖冲突?

maven为什么发生依赖冲突?怎么解决依赖冲突? 我们在开发的时候,偶尔会遇到依赖冲突的时候,一般都是NoClassDefFoundError、ClassNotFoundException、NoSuchMethodError。打开搜索框又发现有这个类,明明就是引入进来了,就是找不到,让人头疼 1. 依赖冲突场景 在maven中依赖…

unstructured

unstructured 是一个开源的 Python 库,专门用于处理非结构化数据,如从 PDF、Word 文档、HTML 文件等中提取文本内容,并将其转换为结构化格式(1)安装依赖库pip install unstructured使用textfrom unstructured.partition.auto import partitionfilename = "a.txt"…

idea如何激活到2099年

前言 最近发现idea如何激活使用的问题、 网络上各种都是骗关注加各种公众号的最后也没有解决问题,下面分享一下我的激活方法是如何激活到2099年。目前适用于idea的所有版本。我以最新的ideaIU-2024.3为例。 一去官网上下载idea 官网下载地址:https://www.jetbrains.com.cn/id…

202108032324 - kafka的生产流程

由上图可以看出:KafkaProducer有两个基本线程: 主线程: 负责消息创建,拦截器,序列化器,分区器等操作,并将消息追加到消息收集器 RecoderAccumulator中; 消息收集器RecoderAccumulator为每个分区都维护了一个Deque<ProducerBatch> 类型的双端队列。 ProducerBatch…

Cython二进制逆向系列(三)运算符

在这篇文章里,我们会讨论Cython是如何处理运算符的(数学运算符、位运算符、in/not in 运算符、 ==运算符与逻辑运算符)。总的来叔其中大部分是调用虚拟机api来实现的。Cython二进制逆向系列(三)运算符在开始前,先给出本文用到的py源代码 def test1(x, y):# 数学运算符a…

QOJ 9785 Shrooks

曼哈顿距离转切比雪夫距离,对限制的贪心满足,扩宽限制,简化信息首先考虑限制的形式:对于两点 \((x_1, y_1), (x_2, y_2)\),要求 \(|x_1 - x_2| + |y_1 - y_2| \le n\)。 但是这个式子与 \(x_1, x_2, y_1, y_2\) 这 \(4\) 个值都强相关,且这里的绝对值也并不好拆开处理。 …

golang的GC机制

一、垃圾回收 什么是垃圾回收?垃圾回收(GC,garbage collection)是自动内存管理的一种形式,通常由垃圾收集器收集并适时回收或重用不再被对象占用的内存,比如众所周知的Java语言就能很好的支持GC。后起之秀——Go语言也同样支持垃圾回收,它使得Go程序员在编写程序的时候不…

fastjson漏洞复现(fastjson 1.2.47)

原理: Fastjson 的 @type 字段允许反序列化时动态指定类,攻击者可以通过指定带有危险行为的类,并结合 RMI/LDAP 远程加载恶意类,从而实现命令执行。开启vulhub靶场//如何验证是否存在fastjson反序列化漏洞 有json数据传输的地方可能存在 可以尝试使用dnslog带外但是不知道…

基于神经网络逆同步控制方法的两变频调速电机控制系统matlab仿真

1.课题概述两电机变频调速系统是一个多输入多输出非线性强耦合的控制系统。本课题使用神经网络构造原系统的a阶逆系统,设计线性闭环调节器进行控制,通过matlab对系统进行仿真。对两电机变频调速系统更为精确地实现了张力和速度间的解藕控制。2.系统仿真结果 (完整程序运行后…

使用gradio实现实时语音识别

这里通过gradio来实现实时语音识别,通过上传一个文件,当点击提交后则在右侧输出其相应识别的文字。 实现代码比较简单,如下所示: import gradiodef convert(file_bytes):# 语音识别方法,其中file_bytes是采样率与对应numpy.ndarray实例return recognition_func(file_bytes[1])d…

英语四级跟练计划第一天

前言 今天给英语四级报了名,以我以往英语的水平来看,如果不早早开始复习,绝无通过的可能,走投无路的我只好去向deepseek求助,上一次320分的考生,这一次该付出何等的努力才可以考到425分,如此为我制定了90天的四级复习计划。我相信有很多人和我一样,都被英语四级通过给困…