(1)c++学习笔记--变量和基本类型

c++——变量和类型 基本类型表示由可以运行代码的计算机处理的最基本类型。但 C++ 语言的主要优势之一是其丰富的复合类型集,其中基本类型只是构建块。复合类型的一个示例是 class.这种类型的变量能够存储字符序列,例如单词或句子。一个非常有用的功能!在 cpp.sh 上编辑和运行如前面的示例所示,字符串可以使用任何有效的字符串文本进行初始化,就像数字类型变量可以初始化为任何有效的数字文本一样。123。 阅读详情
1. 基本类型

基本数据类型包括算术类型和空类型。其中算术类型包括整型和浮点型;整型包括字符和bool。

算术类型的尺寸根据平台的不同而有差异,标准尺寸为:

char: 8bit , wchar_t: 16bit, char16_t: 16bit, char32_t: 32bit

short: 16bit,int: 16bit, long 32bit,long long 64bit

float:6位有效数字,double: 10位有效数字,long double 10位有效数字

unsigned和signed,有符号数字才能表示负数。

2. 类型转换
  1. 不同精度的类型之间互相转换会丢失精度。
  2. 有符号数赋值给无符号数时,结果没法预测。
#include <iostream>
using namespace std;
int main(){
    int u = 10;
    int i = -42;
    cout<<u+i<<endl;  //结果是4294967264,取模后的值
    return 0;
}
  1. 以0开头的整数是八进制表示,以0x或0X的是十六进制表示。
  2. 科学计数法,以e或E。
  3. 字符或字符串前后缀:
//前缀
u: char16_t
U: char32_t
L: wchar_t
u8: utf-8类型
//后缀
u/U: unsigned
f/F: float
l/L: long
ll/LL: long long
  1. 由extern关键字修饰的变量不能初始化,只代表声明该变量,声明和定义的区别:定义会申请存储空间。
3. 复合类型
int a = 1;
int *b = &a;   //*是指针,&是取地址符
int &c = a;   //&是引用
*b = 2;       //*此时解引用,给a重新赋值,c也变为了2
  1. void * 可以存放任意对象的地址,但不能直接操作,因为不知道里面存放的到底是什么对象。
  2. int *&i; 从右往左边读,最靠近i的是&,说明i是一个引用,引用的是一个指针,并且是是一个int指针。
  3. 存放常量对象的地址必须用指向常量的指针。
const int *p = 1;   //p是一个指向常量的指针
const double pi = 3.1415;
const double *const pip = &pi;  //const指针

4.顶层const:指针本身是常量;底层const:指针指向的对象是常量。
5. constexpr: 常量表达式,不可变并且在编译时就能得到结果的表达式。
6. 类型别名,有两种方式实现,一种是typedef,一种是using。

typedef double test;   //test等同于double了
typedef test test2 *p; //test2等同于test,*p等同于*double
using SI = Sales_item;   //SI等同于Sales_item了

7.auto关键字,自动推断类型;decltype关键字,只推断出类型,但是不用这个值来初始化。

const int ci = 0;
decltype(cj) x = 0;   //只推断出cj是int型

8.预处理器:在编译之前执行的一段程序。

#ifndef SALES_DATA_H    //头文件保护符,如果没有定义,才执行下面的代码,该头文件才会被拷贝到代码中
#define SALES_DATA_H    //定义头文件保护符
#include <string>     //这也是预处理功能,预处理程序会用string代替#include
using namespace std;
struct Sales_data {
    string bookNo;
    unsigned units_sold = 0;
    double revenue = 0.0;
};
#endif SALES_DATA_H   //结束
大众奥迪诊断不求人:手把手解析SAE J2819(CAN TP2.0)协议报文与连接流程 本文深入解析大众奥迪车型诊断核心标准SAE J2819(CAN TP2.0)协议,详细拆解连接建立流程与报文控制字段。通过实战案例展示通道设置、参数协商等关键步骤,提供诊断设备配置建议和常见故障排查技巧,帮助工程师掌握汽车诊断通信协议的精髓。 阅读详情

相关推荐

Prompt Airlines CTF通关实战:从提示词注入到多模态攻击的AI安全攻防演练

提示词注入(Prompt Injection)是当前大语言模型(LLM)应用面临的核心安全威胁之一,其原理在于攻击者通过精心构造的用户输入,覆盖或绕过系统预设的指令,从而操控模型行为。这种攻击手法的技术价值在于揭示了AI系统在理解与执行指令时存在的逻辑边界模糊性,可能导致数据泄露、越权访问等严重风险。在应用场景上,从基础的客服对话到结合视觉识别的多模态系统,都可能成为攻击面。本文以一场名为“Prompt Airlines CTF”的实战挑战为例,深入剖析了包括指令遗忘、上下文注入、工具调用滥用及多模态提示注

aodan5477的博客 515

C++学习,变量和基本类型

符合类型:引用和指针 一、引用,为对象起了另外一个名字,与对象绑定在一起,而不是赋值。int &refVal=ival;定义了一个引用之后,对其进行的所有操作都是在与之绑定的对象上进行的。 1.引用必须初始化。 2.不能定义引用的引用。 3.引用不能与字面值或者某个表达时的计算结果绑定在一起。例外,在定义常量引用的时候,允许用任意表达式作为初始值。 二、指针与引用的区别,指针本身就是一个

zk1639712996的博客 296

Ubuntu中snap简单介绍

通过Snap可以安装众多的软件包。需要注意的是,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间 介绍一些常用命令,有点类似docker 1、查看已经通过snap安装的snap包 snap list可以查看 2、可以搜索想要的snap包,例如tomcat snap search tomcat

icanflying的博客 4万+

C++学习笔记1 变量和基本类型

考试周和化工厂设计结束了,总算可以拿起书学习了。。 1, 如果在数字前加入前缀0,则以八进制计算。加入前缀0x则以十六进制计算。所以如果你写int i = 08或者int i = 09; 是会报错的。 变量,引用和指针 首先使用格式如下: int i = 0; i是一个变量 int &j = i ; j是一个引用,指向一个对象 int *k = &i;k是一个指针。类似于引用,但本身是可以赋值和拷贝的。 其中变量和指针在函数体内允许不在定义时就初始化。而引用必须初始化。原因在于变量和指针是对

weixin_45583482的博客 126

Xilinx UltraScale+ FPGA实战:手把手教你实现USB3.0设备开发(附原理图+代码)

本文详细介绍了如何使用Xilinx UltraScale+ FPGA开发USB3.0设备,涵盖硬件设计、Vivado工程配置、Petalinux系统定制及功能测试全流程。通过实战案例和优化技巧,帮助开发者快速掌握高速数据传输实现方法,提升嵌入式系统开发效率。

weixin_29159995的博客 207

MTK6769平台Type-C充电全解析:从硬件管脚到PD协议实战(Android15环境)

本文深入解析了MTK6769平台在Android 15环境下Type-C充电的完整链路。从硬件管脚(特别是核心的CC引脚)功能与连接,到USB-PD协议报文抓取与实战分析,并结合MTK平台PD芯片驱动与充电IC驱动的软件框架,提供了从硬件设计到软件调试的系统性解决方案和常见问题排查案例。

ol78901234的博客 309

C++ Primer 5th学习笔记1 变量和基本类型

1、变量   类型转换转换的过程: 非bool型的算术值赋值给bool类型,初始值为0则结果为false,否则结果为true bool赋值给非bool,初始值为false时,结果为0;初始值为true,结果为1   cpp语言规定的转义序列: 名称 符号 名称 符号 名称 符号 换行符 \n 横向指标符 \t 报警符 \a 纵向制表符 \v 退格符 \b 双引号 \" ...

会飞的鱼的博客 234

【Simscape】用Simscape实现三维物理仿真(三)——创建一个滑块单摆系统

1 首先创建一个Simscape Multibody 模型 (方法见 【Simscape】用Simscape实现三维物理仿真(一)——创建一个自由落体小球) 2 创建四个Solid模块 (1)摆杆 Shape : Brick Dimensions : [0.1 0.05 1] m (2)摆杆轴 Shape : Cylinder Radius : 0.02 m Le...

ReadAir的专栏 9033

C++ Primer学习笔记与思考_1----变量和基本类型

C++ Primer学习笔记与思考_1----变量和基本类型            类型有什么作用? 类型告诉我们数据代表什么意思以及可以对数据执行哪些操作。 一:基本内置类型    C++标准规定了每个算术类型的最小存储空间,但是它并不阻止编译器使用更大的存储空间。对于int,几乎所有的编译器使用的存储空间都比所要求的大。 字符类型有两种char和wchar_t,其中wchar_t用

NK_test的博客 1497

uniapp - H5网页打包运行报错Failed to load resource: net::ERR_FILE_NOT_FOUND(uniApp打包成H5部署到服务器,打包h5白屏并报错页面空白)

Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp 坑之打包之后白屏,uniapp打包h5,HBuilderX 打包H5后空白报错 Failed to load resource: net::ERR FILE NOT_FOUND,UNI-APP H5应用白屏(空白页)解决方案,白屏并报错Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp开发,打包成H5部署到服务器,uniapp打包之后首页

🏆 前端领域优质创作者 3576

[AI8051U入门第一步]环境安装和按键控制流水灯

本文介绍了AI8051U单片机的开发环境搭建及GPIO应用。主要内容包括:1)通过ISP软件完成Keil开发环境配置;2)AI8051U特性介绍,包括32位8051内核、浮点运算单元及丰富外设;3)GPIO输入输出模式解析,并附流水灯控制代码;4)提供完整的系统初始化、延时函数及LED控制代码实现。文章配套资源包含完整工程代码,适用于智能硬件及物联网开发。

sinat_58149788的博客 669

c++primer学习笔记1 - 变量和基本类型

1 整型变量越界 (1) unsigned类型会与范围求模; (2) signed类型基本同上,个别编译器有例外(测试g++, vs2012同上); 2 浮点类型 (1) 浮点类型的存储方式为:符号位+指数位+尾数位;       详见:维基百科 - 浮点数; (2) 一般使用double类型,float类型精度不足; (3) 注意,浮点数为近似数,适用于科学计算,不适用于精确计算;

Jue的博客 622

【Python】-- 趣味代码 - 发牌游戏

Python -- 趣味代码 - 发牌游戏

银尘博客 351

《C++Primer》第二章-变量和基本类型-学习笔记(1)

文章目录摘要主体基本(内置)类型算数类型整型浮点型空类型字符串类型参考资料注解本文许可证 日志: 1,2020-02-25 笔者提交文章的初版V1.0 作者按: 最近在学习C++ primer,初步打算把所学的记录下来。之前学的知识有些淡忘了,看来得经常复习,得三省吾身,传不习乎才能牢固啊。 Nobody trips over mountains. It is the small pebbl...

工程师小星星 458

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

c++Primer学习笔记之五:变量和基本类型_1

不管是什么编程语言,总少不了ji'b

皓月祥云 544

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

c++学习笔记之变量和基本类型(1)

1)c++的内置数据类型    这里面,整型、字符和布尔值合称为整型。    notes:计算机以位序列来存储数据,每一位上是0或者1。让存储具有结构的最基本方法是用块(chunk)处理数据。    通常是这样换算的:8位的 chunk --- 1个字节 --- 4个字节 ---1个word  每一个字节对应一个地址。    要让一个chunk的存储,即一个内存地址有意义,就

faterman的专栏 930

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

《C++Primer 5e》学习笔记(1):变量和基本类型

1.类型转换: (1)当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。例如,8比特大小的unsigned char 可以表示0到255区间内的值,如果我们赋了270,结果就是270%256=14. (2)当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的(undefined)。 2.初始化不是复制,初始化的含义是创建变量时赋予一个初始

AC_Gibson的专栏 977

《C++ Primer》学习笔记2--第二章1变量和基本类型

《C++ Primer》学习笔记2  ——2013.12.11周三第一周第二天 任务量:第二章(P29-P65) 对于 unsigned 类型来说,负数总是超出其取值范围。unsigned 类型的对象可能永远不会保存负数。有些语言中将负数赋给unsigned 类型是非法的,但在 C++ 中这是合法的。 C++ 中,把负值赋给 unsigned 对象是完全合法的,其结果是该负数对该类型的取值

muzilanlan的专栏 817

C++学习笔记 | 第二章 变量和基本类型 | (1)

1、基本内置类型 2、类型int  short   long 和long long都是带符号的,在他们面前加上unsigned就可以得到无符号类型。类型unsigned int 可以缩写成unsigned. 3、字符型被分为了三种:char、signed char(-128~127)、和unsigned char(0~255) 4、类型char在一些机器上是有符号的,在另一些机器上又是无

u014744494的专栏 582

C++ 学习笔记 1.0 : 基本语言(变量和基本类型,标准库类型,表达式,语句,函数,标准IO库)

%%% 注意 %%% 写函数时要充分考虑到 极端 的情况要注意函数中的 异常处理注意 函数的返回值的类型、参数的类型 1. 将负数赋值为unsigned类型的变量在C++中是合法的。 2. float和double的区别:   float占一个字(4字节),double占二个字(64字节)  float只能保证6位有效数字,double型至少可以保证10为有效数字。  double

delph123456的专栏 849

我的《C++ primer》笔记第二章:变量和基本类型

文章目录写在前面2.1 基本内置类型2.1.1 算数类型带符号类型和无符号类型该如何在编程中选择我们要用的类型2.1.2 类型转换含无符号类型的表达式2.1.3 字面值常量转移序列2.2 变量2.2.1 变量定义初始化默认初始化2.2.2变量声明和定义的关系2.2.3 标识符变量命名规范2.2.4 名字的作用域嵌套作用域2.3 复合类型2.3.1 引用引用的定义 写在前面 今天给大家讲述的是C++内置类型,并让大家理解下C++是如何支持更复杂的数据类型的。 2.1 基本内置类型 2.1.1 算数类型 算数类

皮卡丘LIII的博客 593

《C++ Primer》学习笔记(二):变量和基本类型

专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.youkuaiyun.com/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 文章目录专栏C++学习笔记变量和基本类型1、基本内置类型1)算数类型2)类型转换3)字面值常量...

种树最好的时间是10年前,其次是现在!!! 6772

【C++入门】变量和基本类型

在C++编程中,变量和基本类型是编程的基础。了解如何声明和使用变量,以及掌握C++中的基本数据类型,是编写有效C++程序的第一步。

byte轻骑兵的技术小窝 1万+

重新理解cpp > 2变量和基本类型

对象 : 能储存数据 有某种类型的 内存空间类型说明符 变量名列表(,隔开)变量初始化 与 赋值不一样变量初始化: 创建变量同时赋予初始值赋值:当前值擦除,用新值代替分离式编译 : 程序分成多个文件,独立编译例如在main.cpp中使用std标准库里面的cout声明 : 让程序知道有这个名字定义 : 创建与名字关联的实体// 声明i但是没有定义int i // 声明并且定义了i// 定义变量仅仅可以被定义一次,但是可以被多次声明//i与i2都是int。

hdmkingdom的博客 1762

【c++ primer 笔记】 第2章 变量和基本类型

概述 c ++定义了几种基本的内置类型(如字符、整型、浮点数等),同时提供自动以数据类型的机制。基本内置类型包括算数类型和空类型。算数类型包括字符、整型数、浮点数和布尔值。类型选择概述几种类型转换:取模与取余区别: 含有无符号的整数整型和浮点型字面值 浮点型字面值可以用小数或科学计数法表示,科学计数法中的指数部分用 E 或 e 标识。 字符和字符串字面值 转义序列布尔字面值和指针字面值 🍮2.2 变量 变量 :提供一个具名的、可供程序操作的存储空间 对象 :一块能存储数据并具有某种类型的内存 初始化对.

小呆鸟blog 2209

《C++ Primer》习题参考答案:第2章 - 变量和基本类型

专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.youkuaiyun.com/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 第二章 变量和基本类型 练习2.1 类型 int、long、long long 和 short...

种树最好的时间是10年前,其次是现在!!! 4583
上一篇: 欢迎使用优快云-markdown编辑器
下一篇: (2)c++学习笔记--字符串,向量和数组
HHcoco
博客等级 码龄13年 46粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值