C++入门编程一(基本框架代码、宏定义、标识符、数据类型)

文章目录

    • 一、基本框架代码解释
      • 多行注释
      • 缩进
      • 自动排版
      • 宏定义
          • 关键字
      • 标识符命名规则
      • 标识符
      • sizeof()关键字
      • 实型(浮点型)
      • 字符型
      • 转义字符
      • 字符串类型
      • 布尔类型
      • 数据的输入

基于b站黑马c++视频做的笔记,仅供参考和复习!!!

一、基本框架代码解释

#include <iostream>
using namespace std;int main()
{cout << "hello world1" << endl;system("pause");return 0;
} 
#include <iostream>

编译器:Visual Studio 2022

编译预处理#include 包含头文件命令,用于引用后面的<>中iostream文件中的代码。
编译之前就会被替换成 iostream文件文件的内容

iostream 意为输入输出流(i-o-stream) 包含如cout、endl等内置类的对象
使用尖括号< >,编译器会到系统路径下查找头文件
使用双引号" “,优先当前源文件所在的工作目录中进行查找,再到默认头文件系统路径下查找
补:#include <stdio.h>,其中stdio 就是指 “standard input & output”(标准输入输出)

using namespace std;

using namespace 为关键字 , std是C++标准库所在空间的名称
using是一个编译指令,该指令使指定的命名空间中的名称std对该指令后面的程序可用
namespace 命名空间,本质上定义一个范围,指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace的空间中,它可作为附加信息来区分不同库中相同名称的函数、类、变量等

cout << "hello world1" << endl;

cout来源于iostream源文件,是一个对象,作用是把通过<<把输入的消息显示在屏幕上
<<作用就是把右边的信息以流的方式插入左边的cout中,<<被重载成了插入运算符
endl表示换行符,它用来向缓冲区插入换行符号并刷新

system("pause");

system(“pause”) 程序暂停 按任意键继续,若没有,程序在运行完后就会马上消失
system()函数调用(DOS)系统命令。 pause ,即DOS命令集合中的暂停命令

return 0;

return 定义返回值, return 0可以终止main() 函数,并返回值 0
return 0 代表程序正常退出,return 1代表程序异常退出
main函数比较特殊,不用写return 0程序也能正常运行

多行注释

(1)Ctrl+Shift+/
(2)依次按下Ctrl+K+C,即可实现多行注释;取消注释Ctrl+K+U

缩进

Tab向前缩进,Shift+Tab向后缩进

自动排版

依次按下Ctrl+K+F可快速将写的代码排版

宏定义

//#define  宏名  替换文本
#define Day 7

“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“Day”为所定义的宏名。“替换文本”可以是常数、表达式、格式串等。
在预处理工作过程中,代码中所有出现的“宏名”,都会被“替换文本”替换。这个替换的过程被称为**“宏代换”“宏展开”**。

关键字

关键字:具有特殊意义的预定义保留标识符。 它们不能用作程序中的标识符。
请添加图片描述

//错误,第二个是关键字,不可以作为变量的名称
int int = 10;  

标识符命名规则

标识符不可以是关键字,标识符是由字母、数字、下划线构成。
标识符第一个字符只能是字母或者下划线,标识符是区分大小写的。

标识符

	//1、短整型 (-32768 ~ 32767)  2字节short num1 = 10;//2、整型			4字节	64位和32位  而在16位系统占2个字节			int num2 = 10;//3、长整型			4字节long num3 = 10;//4、长长整型		8字节long long num4 = 10;//补充 无符号短整型 (0~65535) 2字节unsigned short num5 = 10;

sizeof()关键字

可以用sizeof求出数据类型占用的内存大小
语法:sizeof(数据类型 / 变量名)

	short num1 = 10;cout << "short占用内存空间为:" << sizeof(short) << endl;int num2 = 10;cout << "short占用内存空间为:" << sizeof(num2) << endl;

实型(浮点型)

C++中cout默认输出六位有效数字

	float f1 = 3.1415926f;cout << "f1 = " << f1 << endl;double f2 = 3.1415926;cout << "f2 = " << f2 << endl;//统计内存空间cout << sizeof(double) << endl;		//8子节cout << sizeof(float) << endl;		//4字节//科学计数法float f3 = 4e2; //4* 10^2cout << "f3 = " << f3 << endl;float f4 = 4e-2; //4*0.1^2cout << "f4 = " << f4 << endl;

在这里插入图片描述

字符型

创建字符型变量用单引号且里面只有一个字符

	char ch = 'a'; cout << ch << endl;cout << sizeof(ch) << endl;// 字符型变量对应ASCII编码// a-97 A-65cout << (int)ch << endl;  //输出97

转义字符

1、换行符 \n 2、反斜杠\ 3、水平制表符 \t

	cout << "hello world\n" ;cout << "\\\n";cout << "\\" << endl;cout << "aaa\thelloworld" << endl; //\t宽度为8cout << "aaaaa\thelloworld" << endl;//作用可以整齐的输出数据cout << "aaaa\thelloworld" << endl;

在这里插入图片描述

字符串类型

	//1. C风格字符串char str[] = "hello world";cout << str << endl;//2. C++风格字符串string str2 = "hello world";cout << str2 << endl;

布尔类型

布尔数据类型代表真或假的值,bool类型只有两个值

  • true — 真(本质是1)
  • false — 假(本质是0)
	bool flag = true; 		//true代表真cout << flag << endl;	//输出1flag = false; 			//假cout << flag << endl;  //输出0cout << sizeof(bool) << endl; 	//1个字节

数据的输入

	//1、整型int a = 0;cout <<  "请给a赋值" << endl;cin >> a;cout << "a = " << a << endl;//2、字串型string str = "hello";cout << "请给str赋值" << endl;cin >> str;cout << "赋值为:" << str << endl;

在这里插入图片描述
注:以上基于黑马程序员C++课程的自用笔记,谢谢!

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

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

相关文章

Java Web Day07-08_Layui

1. Layui概念介绍 layui&#xff08;谐音&#xff1a;类 UI) 是一套开源的 Web UI 解决方案&#xff0c;采用自身经典的模块化规范&#xff0c;并遵循原生 HTML/CSS/JS 的开发方式&#xff0c;极易上手&#xff0c;拿来即用。其风格简约轻盈&#xff0c;而组件优雅丰盈&#x…

Python Opencv实践 - 人体姿态检测

本文仍然使用mediapipe做练手项目&#xff0c;封装一个PoseDetector类用作基础姿态检测类。 mediapipe中人体姿态检测的结果和手部跟踪检测的结果是类似的&#xff0c;都是输出一些定位点&#xff0c;各个定位点的id和对应人体的位置如下图所示&#xff1a; 关于mediapipe的pos…

Fastjson中关于json的处理与配置

Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。 无依赖&#xff0c;不需要例外额外的jar&#xff0c;能够直接跑在JDK上。 FastJson在复杂类型的Bean转换Json上会出现一些问题&#xff0c;可能会出现引用的类型&#xff0c;导致Json转换出错&#xff0c…

案例分析:三一重工集团数字化转型

三一重工集团&#xff0c;作为制造业中的数字化转型佼佼者&#xff0c;荣获“全球灯塔工厂”的殊荣&#xff0c;率先采用了物联网、云计算、大数据等尖端技术手段。数字化转型让三一重工步入了全面信息化的管理时代&#xff0c;通过ERP、CRM、HRM等系统的协同运作&#xff0c;实…

第十二章 集合类

12.1集合类概论 java.util包中提供了一些集合类&#xff0c;这些 集合类又被成为容器&#xff0c;提到容器不难想到数组。集合类于数组的不同之处是:数组的长度是固定的 但集合类不同长度是可变的&#xff1a;数组用来存放基本数据类型的数据&#xff0c;集合用来存放对象的引…

Spring Cloud + Vue前后端分离-第7章 核心业务功能开发

Spring Cloud Vue前后端分离-第7章 核心业务功能开发 7-1 课程管理功能开发 课程管理页面美化 1.课程管理页面美化 demo-course.jpg 复制search.html中的部分代码 course.vue 看效果 测试一下新增修改删除效果 1.课程管理页面美化2 scoped:style下的样式只应用于当前组件…

docker的一些思考

1.docker是啥&#xff1f; 2.镜像执行流程 3.一些疑惑和解答 1. 2.

喜报频传!百望云获评“2023数字经济独角兽”称号

“数字经济独角兽”是在数字经济领域具备高成长性、高创新性和高潜力性的企业&#xff0c;他们不仅是数字经济的先锋&#xff0c;是科技创新型企业的典范&#xff0c;也是推动经济发展的新兴引擎。 12月20日&#xff0c;“2023数字经济独角兽大会”在北京大兴区成功举办。大会以…

关于Smartbi登录代码逻辑漏洞的动态情报

一、基本内容 近日&#xff0c;思迈特软件核查发现存在“登录代码逻辑漏洞”问题&#xff0c;重点影响范围涉及Smartbi V9及其以上版本。该漏洞可能导致攻击者利用逻辑缺陷对目标系统进行攻击&#xff0c;造成敏感信息泄露和远程代码执行的风险。 二、相关发声情况 Smartbi是…

电路设计(7)——窗口比较器的multism仿真

1.功能设计 构建一个窗口比较器的电路&#xff0c;在输入电压大于3.5v&#xff0c;小于0.8v时&#xff0c;蜂鸣器报警&#xff0c;输入电压在0.8v到3.5v之间时&#xff0c;不报警。 整体电路如下&#xff1a; 2.设计思路 在输入端&#xff0c;采取电阻分压的方式&#xff0c;输…

【C++】开源:libmodbus通信协议库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍libmodbus通信协议库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#x…

电脑开机快捷启动,启动菜单没有u盘怎么办

电脑开机快捷启动键找不到u盘怎么办 对于快捷启动键找不到u盘的问题&#xff0c;小编很了解其中的门道&#xff0c;因为开机找不到u盘是我们使用电脑时候的常见问题。那么我们到底要如何解决开机找不到u盘的问题呢?其实方法还是蛮简单的&#xff0c;下面小编就来教大家电脑开…

java数据结构与算法刷题-----LeetCode633. 平方数之和

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 思路一&#xff1a;双指针 可以使用双指针&#xff0c;不断从两个方向匹配…

IP代理科普| 共享IP还是独享IP?两者的区别与优势

通俗地讲&#xff0c;共享IP就像乘坐公共汽车一样&#xff0c;您可以到达目的地&#xff0c;但将与其他乘客共享旅程&#xff0c;座位很可能是没有的。独享IP就像坐出租车一样&#xff0c;您可以更快到达目的地&#xff0c;由于车上只有您一个人&#xff0c;座位是您一个人专用…

ComfyUI激活中文

comfyui中文地址如下&#xff1a; https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translationhttps://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation如何安装&#xff1f; 1. git安装 进入项目目录下的custom_nodes目录下&#xff0c;然后进入控制台&#xff0c;运…

『CVE』简析CVE-2023-48795:SSH协议前缀截断攻击(Terrapin攻击)

文章目录 OpenSSH 9.6更新公告Terrapin攻击 (CVE-2023-48795)基本信息利用手段利用路径利用条件利用原理及示意图危害Terrapin-Scanner 基于Terrapin的潜在风险&#xff1a;CVE-2023-46445 & 46446参考完 OpenSSH 9.6更新公告 *ssh(1), sshd(8): implement protocol extens…

算法问题:最优二叉搜索树

给定一个序列 有n个有序且各不相同的键&#xff0c; 集合表示在K中成功的搜索的概率; 为n1 个不同的哑键&#xff0c;表示所有在和之间的值&#xff0c; 表示不成功的搜索的概率. 创建二叉搜索树&#xff0c; 使得其期望搜索花费最小。 一个例子 最优子结构 如果一棵最优二叉搜…

udp多播/组播那些事

多播与组播 多播&#xff08;multicast&#xff09;和组播&#xff08;groupcast&#xff09;是相同的概念&#xff0c;用于描述在网络中一对多的通信方式。在网络通信中&#xff0c;单播&#xff08;unicast&#xff09;是一对一的通信方式&#xff0c;广播&#xff08;broad…

Mybatis如何兼容各类日志?

文章目录 适配器模式日志模块代理模式1、静态代理模式2、JDK动态代理 JDBC Logger总结 Apache Commons Logging、Log4j、Log4j2、java.util.logging 等是 Java 开发中常用的几款日志框架&#xff0c;这些日志框架来源于不同的开源组织&#xff0c;给用户暴露的接口也有很多不同…

边缘计算AI智能盒子的视频源必须是固定点监控摄像头吗?

边缘计算AI盒子的视频输入源&#xff0c;要求是RTSP或者GB28181&#xff0c;可以是固定点监控摄像头&#xff08;枪机、球机等&#xff09;&#xff0c;也可以是移动摄像头&#xff0c;例如执法记录仪、智能安全帽、布控球等&#xff0c;但由于RTSP输入要求摄像头有固定IP&…