C++ 第一个程序、注释、常量(编写第一个c程序)
yund56 2025-05-06 16:33 27 浏览
目录
- 第一个程序
- 什么是注释?
- 什么是常量?
第一个程序
蛇年开始了,要学习了,启动,学习第1章,先来碰碰C家家,不要问我为什么学C++
几乎所有的编程语言都是从Hello World!开始的,万年不变,甭管你是java还是python,python今年应该会比较火一点,因为蛇年,匹配python的运
废话不多说,直接上第一段代码
#include <iostream>
int main()
{
std::cout << "Hello World!<<std::endl";
}
运行结果如下:
运行结果大家肯定都知道,但是让我们来逐行分析一下代码
- #include <iostream>:这行代码表示引入 C++自带的 iostream头文件,iostream这个头文件是干啥用的呢,是用来提供标准输入输出流的库,打个比方说,比如你要去砍树,这个时候C++说,这里直接提供了一堆工具,有锯子、有斧头,你不用自己造,拿过去就能用,这个#include <iostream>就是把工具拿过来的作用
- int main,这个C++程序的入口函数,也就是说程序是从这个函数开始的,在C++程序中,只能有一个入口,main()函数是程序的唯一入口,程序从这里开始执行,并且最终在main()函数的结束处停止,关于函数的概念,我们后面细说,这里按下暂且不表。
- std::cout << "Hello World!<<std::endl:std::cout,这个就是我们上面引入的iostream头文件库里面的一个工具,用来输出内容到控制台,std::endl用于输出流中插入一个换行符并刷新缓存区,确保所有待输出的内容都被立即写入目标设备。这个::我们称之为作用域解析运算符,说到作用域就要提到命名空间,这里我们简单的代入一下,举个生活的例子 比如班级里有两个同学,都叫张三,老师点名的时候,喊张三你来回答问题,这个时候会有个什么情况,两个张三很懵啊,到底是哪个张三啊,分不清啊,这个时候怎么办,把学生分成不同的组,两个张三分在不同的组里,这个组就相当于一个命名空间,此时老师叫一组的张三,这样就确定唯一性。
- <<:这个符号为插入运算符,属于 C++ 标准库的功能,当然这个符号还有另一种功能就是位左移运算符这里暂且不表述,后续再细说。
什么是注释?
我们先了解一下注释的概念,什么叫注释呢就是对代码的解释,比如你写了一行代码,然后写上说明,说明这行代码是干啥的,注释是不影响代码的执行,是给人看的,不是给计算机看的,不写也不影响啥,代码要是过长,逻辑过于复杂,不写注释,别人接手了,那估计要骂娘了,C++的注释一般分为三种
- 单行注释:单行注释,//开头一行写完,不能换行
- 多行注释:多行注释,/*开头,*/结尾,中间内容可以换行,示例如下:
#include <iostream>
/*
多行注释
date: 2021-08-10
author: MagicYang
description: 输出Hello World!
*/
int main()
{
// 单行注释,输出Hello World!
std::cout << "Hello World!<<std::endl";
}
- 条件注释:所谓条件注释就是,如果满足条件了(1),就执行,没有满足条件(0)就不执行,就相当于是被注释掉了,条件注释的格式如下:
#if 0
// 这里是一些暂时不需要的代码
std::cout << "暂时不执行的代码";
#endif
我们来看个示例代码:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
#if 0
std::cout<<"打印我啊"<<std::endl;
#endif
}
运行结果如下:
如果我们将其改成 1 或者是一个满足条件的表达式,此时下面的雨具就能打印出来了,示例代码如下:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
#if 3>2
std::cout<<"打印我啊"<<std::endl;
#endif
}
是不是很神奇
什么是常量?
常量是指在程序运行期间其值不可改变的变量,常量可以是任何的基本数据类型,比如整型、浮点型、字符型也可以是指针、引用类型等。定义常量的常见四种方式:
const关键字定义
定义的语法如下:const 数据类型 常量名=常量值,常量的名一般使用大写,这是规范,不是语法的定义,不要问为什么,问就是王八的屁股-龟腚,
constexpr关键字定义
该关键字c++ 11后才能使用,定义的语法如下:constexpr 数据类型 常量名=常量值
define 预处理指令定义
预处理指令定义的语法如下:#define 常量名 常量值,注意,使用预处理指令定义,结尾不需要加分号。
下面看个示例代码:
#include <iostream>
int main()
{
const int ONE = 1;
std::cout << "ONE = " << ONE << std::endl;
constexpr int TWO = 2;
std::cout << "TWO = " << TWO << std::endl;
#define THREE 100
std::cout<< "THREE = " << THREE << std::endl;
}
运行结果如下:
这个一定有人有疑问了,这些都能定义常量,那有什么不同呢,看如下表格:
特点 const constexpr #define 计算阶段 编译时或运行时 编译时 预处理阶段 类型安全 是 是 否 作用域 局部、全局、类成员 局部、全局、类成员 全局 存储 内存中分配空间 编译时计算,通常不分配空间 不分配空间 可修改性 不可修改 不可修改 可重新定义 性能 可能有运行时开销 无运行时开销 无运行时开销 适用场景 运行时或编译时常量 编译时常量 编译时常量
这里我们解释一下什么是编译时,什么是运行时。编译时是指将源代码转换为可执行代码的过程,就是要将c++代码翻译成机器能够识别的机器语言(因为计算机的最底层的硬件层面确实只能识别0和1),并且在这个过程中,编译器会检查语法错误、类型错误等,并在编译阶段报错,避免程序运行时出现这些错误;运行时是指程序被加载到计算机内存中并开始执行的阶段,举个例子:编译时就是检查一下摩托车,有没有油,发动机等等是否正常,如果没有就给你直接撂摊子,让你去修,运行时,就是一切检查完毕,钥匙一查,油门一踩,启动上路。
枚举
什么叫枚举,枚举是一种用户自定义的数据类型,用于定义一组命名的整数值,简单的说有些东西的值是固定的,就正常就那么几个值,比如:一周七天(周一到周日)、正常的性别(男女两种)、常规颜色(红橙黄绿青蓝紫)这些固定的,这些我们就可以定义成枚举,供后面方便使用。枚举分为如下两种类型:
- 传统枚举:语法如下:
enum 枚举名 {
枚举值1,
枚举值2,
枚举值3,
...
};
示例代码如下:
#include <iostream>
// 定义一个枚举
enum Weekday {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
};
int main()
{
// 输出枚举值
std::cout << "Monday = " << Weekday::Monday << std::endl;
}
运行结果如下:
看到结果,此时你可能有点疑问,为啥子结果是1呢
那就让智慧光辉的我来告诉你吧,传统枚举的值可以隐式转换为整数,也就是枚举值可以转换成整数类型,从0开始依次递增1,sunday 就是0,Monday就是1,依次类推,Saturday就是6。
当然Monday也不一定非得是1,也可以是15,我们可以指定,枚举之间的值可以一样,如果你指定了Monday为15,但是没有指定后面的Tuesday值,那么Tuesday值的值就是在Monday的后面递增1,就是16,示例代码如下:
// 定义一个枚举
enum Weekday {
Sunday,
Monday=15,
Tuesday,
Wednesday = 16,
Thursday,
Friday,
Saturday
};
int main()
{
// 输出枚举值
std::cout << "Monday = " << Weekday::Monday << std::endl;
std::cout << "Tuesday = " << Weekday::Tuesday << std::endl;
std::cout << "Wednesday = " << Weekday::Wednesday << std::endl;
}
运行结果如下:
- 强类型枚举(c++ 11后引入)
enum class/struct 枚举名 {
枚举值1,
枚举值2,
枚举值3,
...
};
强枚举类型与传统的枚举类型不同的是,强类型枚举的值不能隐式转换为整数,但是还是可以显示赋值的,此外强枚举类型的枚举值需要通过枚举名来访问,不能直接使用枚举值访问,示例代码如下:
#include <iostream>
// 定义一个枚举
enum struct Weekday {
Sunday,
Monday=15,
Tuesday,
Wednesday=15,
Thursday,
Friday,
Saturday
};
int main()
{
// 输出枚举值
std::cout << "Monday = Wednesday" << (Weekday::Monday==Weekday::Wednesday) << std::endl;
std::cout << "Monday = Wednesday" << (Weekday::Monday == Weekday::Tuesday) << std::endl;
}
运行结果如下:
结尾
OK,本期就到这里,下期见,不足的地方还请多多指教,我胡汉三又回来了,公众号恢复日常更新,欢迎一起交流学习。
相关推荐
- Excel表格带单位求和不用愁!2个高效小技巧,轻松搞定!
-
我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!——首发于微信号:桃大喵学习记最近有小伙伴私信提问了个问题:“Excel表格数据带单位,如何快速求和?”。相信很多新手小伙...
- [office] Excel中Sumproduct函数的使用方法-
-
Excel中Sumproduct函数的使用方法-SUMPRODUCT和SUMIFS是Excel的两个最强大的函数,用于从表中返回过滤的数据。SUMPRODUCT功能更强大,但SUMIFS更快。您可以...
- SUMPRODUCT函数:关于多条件求和,不仅仅是SUMIFS,我也行!
-
文章最后有彩蛋!好礼相送!SUMPRODUCT函数,作为excel函数公式中的常用功能之一,运用及其广泛。结合它能够处理数据的功能,函数哥将它称之为多条件求和的函数,你可能有疑问了。SUMIF和SUM...
- Excel函数公式大全之利用MMULT函数计算两个数组矩阵的乘积
-
各位Excel天天学的小伙伴们大家好,欢迎收看Excel天天学出品的excel2019函数公式大全课程。今天我们依旧要学习的是Excel函数中的数学函数MMULT函数,计算两个数组的矩阵乘积。今天这个...
- Excel中的这个“万能函数”你用过吗?一个顶四个,简单又实用
-
Hello,大家好,今天跟大家分享一个Excel中的最强大的求和函数,它就是——SUMPRODUCT函数,很多人都将其称之为“万能函数”,条件求和,条件计数等一些常用的功能他就能轻松搞定,逻辑也非常的...
- 根据关键字条件求和,SUMPRODUCT函数思路清晰!
-
1职场实例小伙伴们大家好,今天我们来讲解一个关于根据关键字进行条件求和的职场真实案例,这是公众号粉丝后台留言咨询的一个问题,下面我们来通过几组简单的数据还原一下真实的办公情景。如下图所示:A列为一列地...
- Excel-万能PRODUCT函数
-
sumproduct除了可以计算乘积之和,还可以实现单条件求和(代替sumif),多条件求和(代替sumifs),单条件计数(代替countif),多条件计数(代替countifs)我总结了一个通用的...
- Excel“王者”级求和函数SUMPRODUCT,职场必学!
-
我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!日常工作中我们经常需要对Excel数据求和、计数,今天就跟大家分享一下Excel“王者”级求和函数SUMPRODUCT,灵...
- SUMPRODUCT函数满足“或”的要求,实现多条件求和!
-
1职场实例小伙伴们大家好,今天我们来继续讲解Excel使用中非常实用且强大的函数:SUMPRODUCT函数,上一次我们讲到了SUMPRODUCT函数实现类似SUMIFS函数多条件求和的功能。而今天我们...
- 整列数据相乘再相加sumproduct函数#excel技巧
-
今天分享一下像这种表格,我想求它的消费,也就是用它的数量去乘以单价去加上。下一个的数量乘以单价要加上,下一个数量乘以单价。如果小白会这样一步一步的去算,去单价去乘以数量,然后加上单价去乘以数量,一个一...
- 双向多条件求和,sumifs彻底不行了,但是sumproduct却能轻松搞定
-
今天我们来解决一个困扰很多Excel新手的问题,它就双向求和,所谓的双向,就是两个方向,如下图所示,我们想要根据【项目】与【费用类别】来实现动态求和效果。【项目】与【费用类别】在数据源中,一个是纵横的...
- Excel函数之Sumproduct,7个经典用法,你真的都了解吗?
-
什么是sumproduct函数以及其基本操作原理?sumproduct函数主要用于对数组中的数值进行相乘后再求和,。该函数最多支持255个参数(数组),这些数组可以是数字单元格引用或区域。它的工作流程...
- WPS-Excel表格sumproduct函数一次性算出相乘相加总额
-
excel表格单纯相加或者相乘大家都会应用,但是有时候我们需要算出相乘相加的总额,这种计算也是可以一次性算出的。今天来教大家怎样在WPS表格中,让数据一次性算出相乘相加的总额,会了这个小技巧,会方便很...
- 大神级Sumproduct公式这么好用,1分钟学会!
-
在工作中,一般用不到Sumprodct函数公式,但是真的好用,我们举工作中的3个场景来说明。1、快速相乘相加如下所示,我们各种商品有一个单价,然后对应有一些数量,我们现在需要快速汇总总金额数据有没有小...
- 万能函数Sumproduct,除了求和和计数外,还可以排名
-
在众多的Excel函数中,能同时完成求和、计数以及排名功能的函数不多,其中Sumproduct就是其中一个。一、万能函数Sumproduct:功能及语法结构。功能:返回相应区域数组乘积的和。语法结...
- 一周热门
- 最近发表
-
- Excel表格带单位求和不用愁!2个高效小技巧,轻松搞定!
- [office] Excel中Sumproduct函数的使用方法-
- SUMPRODUCT函数:关于多条件求和,不仅仅是SUMIFS,我也行!
- Excel函数公式大全之利用MMULT函数计算两个数组矩阵的乘积
- Excel中的这个“万能函数”你用过吗?一个顶四个,简单又实用
- 根据关键字条件求和,SUMPRODUCT函数思路清晰!
- Excel-万能PRODUCT函数
- Excel“王者”级求和函数SUMPRODUCT,职场必学!
- SUMPRODUCT函数满足“或”的要求,实现多条件求和!
- 整列数据相乘再相加sumproduct函数#excel技巧
- 标签列表
-
- filter函数js (37)
- filter函数excel用不了 (73)
- 商城开发 (40)
- 影视网站免费源码最新版 (57)
- 影视资源api接口 (46)
- 网站留言板代码大全 (56)
- java版软件下载 (52)
- java教材电子课本下载 (48)
- java技术的电子书去哪看 (33)
- 0基础编程从什么开始学 (50)
- java是用来干嘛的 (51)
- it入门应该学什么 (55)
- java线上课程 (55)
- 学java的软件叫什么软件 (38)
- 程序开发软件有哪些 (53)
- 软件培训 (59)
- 机器人编程代码大全 (50)
- 少儿编程教程免费 (45)
- 新代系统编程教学 (61)
- 共创世界编程网站 (38)
- 亲测源码 (36)
- 三角函数积分公式表 (35)
- 函数的表示方法 (34)
- 表格乘法的公式怎么设置 (34)
- sumif函数的例子 (34)