记录一下C++的学习之旅吧--C++基础

文章目录

  • 前言
  • using namespace std; 使用标准命名空间
  • 一、helloworld-输出表示
    • 1.1代码
    • 1.2 运行结果
  • 二、变量
    • 2.1.1 普通变量代码
    • 2.1.2 运行结果
    • 2.2.1 常量和变量代码
    • 2.2.2 运行结果
  • 三、sizeof---统计数据类型所占的内存大小
    • 3.1 代码
    • 3.2 运行结果
  • 四、小数表示
    • 4.2 运行结果
  • 总结


前言

学校的C++课程好无聊,干脆自己一下之前在B站学习黑马的C++课程写的代码,找回一点记忆吧。
编译器:Visual Studio 2022


using namespace std; 使用标准命名空间

什么是命名空间?

命名空间是C++中用于组织代码和避免命名冲突的一种机制。它允许在全局作用域中创建一个或多个独立的命名空间,以便在其中定义变量、函数、类和其他命名实体。

命名空间可以被视为一个容器,其中包含了相关的标识符,防止它们与其他代码中的标识符产生冲突。通过在命名空间中定义的标识符可以使用命名空间作用域解析运算符 :: 来访问。

在C++中,命名空间的语法如下所示:
namespace namespace_name { // 在此定义变量、函数、类等 }
在定义的命名空间内部,可以包含各种声明和定义,例如:

变量
函数

结构体
枚举
其他命名空间
命名空间的使用可以帮助程序员编写更清晰、更模块化的代码,避免全局命名冲突,并且可以更好地组织和管理大型项目。例如,标准库中的所有标识符都位于 std 命名空间中,以避免与用户代码中的标识符发生冲突。

一、helloworld-输出表示

1.1代码

#include <iostream>
using namespace std;
//黑马程序员的C++教程
int main()
{
	cout << "hello world" << endl;
	//printf_s("hello");

	system("pause");
	return 0;
}

并没有什么好解释的,endl属于换行符,可有可无啦。
🌷注意cout别写成计数的了,经常做错。

1.2 运行结果

在这里插入图片描述

二、变量

2.1.1 普通变量代码

#include <iostream>
using namespace std;

int main()
{
	int a = 10;

	cout << "a = " << a << endl;

	system("pause");
	return 0;

}

唯一值得关注的是 'a='这类的文字表述怎么写的。

2.1.2 运行结果

在这里插入图片描述

2.2.1 常量和变量代码

#include <iostream>
using namespace std;

//宏定义是一个常量了,不能作为变量赋值
#define Day 7

int main()
{
	cout << "一周一共有:" << Day << "天" << endl;
	//const修饰的是变量 = 常量---不可修改
	const int month = 12;
	//month = 24;	会报错
	cout << "一年一共有:" << month << "月份" << endl;
	system("pause");
	return 0;
}

如果给常量month定义,报错现象如图
在这里插入图片描述

2.2.2 运行结果

在这里插入图片描述

三、sizeof—统计数据类型所占的内存大小

3.1 代码

/*sizeof---统计数据类型所占的内存大小*/
#include <iostream>
using namespace std;

int main()
{
	int num1 = 1;
	cout << "num1类型所占的内存空间为:" << sizeof(num1) << endl;
	cout << "short类型所占的内存空间为: " << sizeof(short) << endl;
	cout << "int类型所占的内存空间为:" << sizeof(int) << endl;
	cout << "long类型所占的内存空间为:" << sizeof(long) << endl;
	cout << "long long 类型所占的内存空间为:" << sizeof(long long) << endl;

	system("pause");
	return 0;
}

在C++中,short 是一种整数数据类型,用于存储较小范围的整数值。它通常表示为16位带符号整数,其范围通常为 -32768 到 32767。short 的大小和范围可能会因编译器和操作系统的不同而有所变化,但通常它是一个较小的整数类型。
我是使用x86的操作系统的。
在这里插入图片描述

3.2 运行结果

在这里插入图片描述

四、小数表示

#include <iostream>
using namespace std;

int main()
{
	//数字后面加f---告诉编译器这个数据是单精度,不然会默认是双精度
	//鼠标悬停展示数据类型
	//float f1 = 3.14;
	float f1 = 3.14f;
	cout << "f1 = " << f1 << endl;

	double d1 = 3.1415927;
	cout << "d1 = " << d1 << endl;

	cout << "float 类型所占的内存空间为:" << sizeof(float) << endl;	 //4字节
	cout << "double 类型所占的内存空间为:" << sizeof(double) << endl; //8字节
	
	//科学计数法
	float f2 = 3e2;	//3*10^2
	cout << "f2 = " << f2 << endl;	 

	system("pause");
	return 0;
}
  • 鼠标悬停展示数据类型
    在这里插入图片描述

4.2 运行结果

在这里插入图片描述
数字后面加f—告诉编译器这个数据是单精度,不然会默认是双精度
在这里插入图片描述


总结

这篇文章依旧没有总结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

02- 使用Docker安装RabbitMQ

使用Docker安装RabbitMQ 下载安装镜像 方式一: 启动docker服务,然后在线拉取 # 在线拉取镜像 docker pull rabbitmq:3-management# 使用docker images查看是否已经成功拉取方式二: 从本地加载 ,将RabbitMQ上传到虚拟机中后使用命令加载镜像即可 docker load -i mq.tar启动M…

mabatis 中

手动实现MaBatis底层机制 实现任务阶段一&#x1f34d;完成读取配置文件, 得到数据库连接&#x1f966;分析 代码实现&#x1f966;完成测试 实现任务阶段二&#x1f34d;编写执行器, 输入SQL语句, 完成操作&#x1f966;分析 代码实现&#x1f966;完成测试 实现任务阶段三&…

Redis缓存预热-缓存穿透-缓存雪崩-缓存击穿

什么叫缓存穿透? 模拟一个场景: 前端用户发送请求获取数据,后端首先会在缓存Redis中查询,如果能查到数据,则直接返回.如果缓存中查不到数据,则要去数据库查询,如果数据库有,将数据保存到Redis缓存中并且返回用户数据.如果数据库没有则返回null; 这个缓存穿透的问题就是这个…

使用python将数据输出为图表图片

数据示例&#xff08;数组或其他&#xff09;&#xff1a; hourly_data {00:00: 10,01:00: 15,02:00: 20,03:00: 25,04:00: 30,# 添加更多数据... }示例输出&#xff08;图片&#xff09;&#xff1a; python代码&#xff1a; 下面代码中使用了matplotlib库&#xff0c;如果…

Mac系统:mysql+jdk+neo4j

mysql 指令 //启动MySQL服务 sudo /usr/local/mysql/support-files/mysql.server start//停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop //连接MySQL数据库&#xff0c;在进行这一步前要先关掉服务 mysql -u root -p //检查MySQL服务状态 sudo /us…

JDK17镜像制作

背景 获取JDK17 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 解压JDK tar -zxvf jdk-17_linux-x64_bin.tar.gz 制作JRE 由于jdk的体积比较大&#xff0c;可以使用jre来作为运行环境&#xff0c;jdk1.8及以前版本&#xff0c;自带jre&#…

力扣--动态规划/回溯算法131.分割回文串

思路分析&#xff1a; 动态规划 (DP)&#xff1a; 使用动态规划数组 dp&#xff0c;其中 dp[i][j] 表示从字符串 s[i] 到 s[j] 是否为回文子串。预处理动态规划数组&#xff1a; 从字符串末尾开始&#xff0c;遍历每个字符组合&#xff0c;判断是否为回文子串&#xff0c;填充…

后悔没有早点看到这份产品说明书模板

产品说明书是连接产品与消费者的桥梁&#xff0c;它对产品具有多重好处。一份设计精良、内容准确的产品说明书有助于消费者全面了解产品&#xff0c;确保用户正确使用产品&#xff1b;减少消费者因误操作导致的故障&#xff0c;降低企业的售后服务成本&#xff1b;增强消费者对…

GaLore的全称是“Gradient Low-Rank Projection“,翻译过来就是“梯度低秩投影“

鉴于大家对GaLore比较感兴趣,我今天试着结合论文做一个更深入的解读: GaLore的全称是"Gradient Low-Rank Projection",翻译过来就是"梯度低秩投影"。它的核心思想是通过降低优化器状态的秩,来大幅减少内存占用。 在训练大模型时,我们需要存储三类数据:模型…

操作系统基础

进程与线程 进程之间如何通讯 用户态与核心态 进程空间 操作系统内存管理 TBL TBL 多级页表虽然解决了空间上的问题&#xff0c;但是我们发现这种方式需要走多道转换才能找到映射的物理内存地址&#xff0c;经过的多道转换造成了时间上的开销。 程序是局部性的&#xff0c;即…

新质生产力简介

新质生产力简介 新质生产力概述&#xff1a; 新质生产力是以科技创新为核心&#xff0c;实现关键性颠覆性技术突破&#xff0c;推动社会经济发展的高效能、高质量生产力。 新质生产力的本质 新质生产力的本质是“科技创新” 新质生产力的核心是科技创新 新质生产力简介 新质…

全面对比Amazon DocumentDB 与 MongoDB

在云中部署 MongoDB 似乎有多种选择。例如&#xff0c;Amazon DocumentDB自称是完全支持 MongoDB API 的 AWS 原生数据库。虽然它支持一些 MongoDB 功能&#xff0c;但需要注意的是 DocumentDB 并不完全兼容 MongoDB。要在 AWS 上访问功能齐全的“MongoDB 即服务”&#xff0c;…

微服务技术栈SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式(五):分布式搜索 ES-上

文章目录 一、ElasticSearch1.1 概述1.2 倒排索引1.3 ES与MySQL的概念对比 二、 安装2.1 部署单点ES2.2 部署kibana 三、安装IK分词器3.1 在线安装ik插件&#xff08;较慢&#xff09;3.2 离线安装ik插件&#xff08;推荐&#xff09;3.3 扩展词词典3.4 停用词词典 四、索引库操…

【数据结构】汇总二、线性表(逻辑结构、物理(存储)结构、基本操作、1.顺序表2.单链表3.双链表4.循环链表5.静态链表6.顺序表与链表的对比不同)

文章目录 线性表linear list逻辑结构物理&#xff08;存储&#xff09;结构基本操作1.顺序表1.0特点1.1静态分配1.2动态分配1.3插入1.4删除1.5查找1.5.1按位查找1.5.2按值查找 2.单链表2.1不带头结点的单链表2.2带头结点的单链表2.3插入2.3.1按位序插入2.3.1.1带头结点2.3.1.2不…

MIT6.828LAB4 (4)

LAB3_Part C: Preemptive Multitasking and Inter-Process communication (IPC) 文章目录 LAB3_Part C: Preemptive Multitasking and Inter-Process communication (IPC)前言练习13练习14练习15总结 前言 记录一下自己的学习过程 实验内容翻译&#xff1a; https://gitee.com/…

Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-3、线条平滑曲面且可通过面观察柱体变化(三)

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata from matplotlib.c…

Vue-Router路由介绍和使用

vue属于单页面应用&#xff0c;路由就是根据浏览器路径不同&#xff0c;用不同的试图组件替换这个页面内容 开启路由功能 如图在创建项目时候勾选rouler 这样创建好的项目就有路由功能 下一步 不同的访问路径 展示不同的页面内容 路由配置 路由连接组件 浏览器会解析为超链接 …

OpenCV开发笔记(七十六):相机标定(一):识别棋盘并绘制角点

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/136535848 各位读者&#xff0c;知识无穷而人力有穷&#xff0c;要么改需求&#xff0c;要么找专业人士&#xff0c;要么自己研究 红胖子(红模仿…

爬虫练习:获取某网站的房价信息

一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(房天下数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [名称, 地点,价格,总价,联系电话]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer.writeheader…

MySQL临时表创建出错(OS errno 13 - Permission denied)

一个客户向我抱怨&#xff1a;在MySQL查询小表没有问题&#xff0c;查询大表出错&#xff0c;下面是他发给我的出错的部分截屏&#xff08;客户的表名被我隐藏了&#xff09;。 这里的给出的信息已经比较明显了&#xff0c;是向/tmp目录中创建临时表失败&#xff08;临时表的路…