学习笔记 | C++ 处理数据、数据类型
发布日期:2021-07-25 15:43:58
浏览次数:14
分类:技术文章
本文共 2216 字,大约阅读时间需要 7 分钟。
第3章 处理数据
3.1 简单变量
程序必须记录信息的3个基本属性:–> 声明一个变量
- 信息将存储在哪里
- 要存储什么值
- 存储何种类型的信息
3.1.1 变量名
C++命名规则:
- 在名称中只能使用字母字符、数字和下划线
- 名称的第一个字符不能是数字
- 区分大写字符与小写字符
- 不能将C++关键字用作名称
- 以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符。
- C++对于名称的长度没有限制,名称中所有的字符都有意义,但有些平台有长度限制。
3.1.2 整型
3.1.3 整型short、int、long和 long long
计算机内存由一些叫做位bit的单元组成。
- 对整型int来说,一个整型占用32bit,也即4Byte。绝对值在109范围以内的整数都可以定义为int型
- 对长整型long long来说,一个整数占用64bit,也即8byte.
- 绝对值在1018范围以内的整数都可以定义为long long型。
- 如果long long型赋大于231-1的初值,则需要在初值后面加上LL,否则会编译错误。
实际上,short是short int的简称,而long是long int的简称
- 字节byte通常指的是8位的内存单元。
- 字节指的就是描述计算机内存量的度量单位。
1KB == 1024byte == 2^10byte
1MB == 1024KB === 2^20byte 1GB 1TB
1 运算符sizeof和头文件limits
sizeof
运算符返回类型或变量的长度,单位为字节。- 头文件climits定义了符号常量来表示类型的限制。
- 预处理器
#define
2 初始化
- 初始化将赋值与声明合并在一起。
3 C++11初始化方式
- 使用大括号进行初始化。
3.1.4 无符号类型
- 使用关键字
unsigned
来修改声明即可。unsigned
本身是unsigned int
的缩写。 - 如果指定为
signed
有符号,则数值以补码形式存放,存储单元中的最高位用来表示数值的符号。如果指定为unsigned
,则数值没有符号,全部二进制位都用来表示数值本身。 - 正整数的补码是其二进制表示,与原码相同 。
- 求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1 。
3.1.5 选择整型类型
3.1.6 整型字面值
进制
3.1.7 C++如何确定常量的类型
- 默认C++将整型常量存储为int类型。
3.1.8 char类型:字符和小整数
1 程序说明
2 成员函数cout.put()
- cout.put()函数,该函数显示一个字符。可以替代<<运算符。
3 char字面值
4 通用字符名
5 signed char和unsigned char
- 与int不同的是,char在默认情况下既不是没有符号,也不是有符号的。
6 wchar_t
wchar_t
类型是一种整数类型,它有足够的空间,可以表示系统使用的最大扩展字符集。对char的256进行扩展。
7 C++11新增的类型:char16_t和char32_t
char16_t,无符号,长16位
char32_t,无符号,长32位- 使用前缀u表示char16_t字符常量和字符串常量。
- 使用前缀U表示char32_t常量。
3.1.9 bool类型
- true,真,1/非0
- false,假,0
3.2 const——限定符
- 常量被初始化后,其值就被固定了,编译器将不允许再修改该常量的值。通常将名称的首字母大写,或将整个名称大写。
#define 标识符name 常量value;const 数据类型 变量名 = 常量;const type name = value;
define除了可以定义常量外,其实可以定义任何语句或片段。
- 宏定义是直接将对应的部分替换,然后才进行编译和运行。
- 因此要添加足够的括号,避免歧义出现,给能加括号的地方都加上括号。
优点:
- 它能够明确指定类型。
- 可以使用C++的作用域规则将定义限制在特定的函数或文件中
- 可以将const用于更复杂的类型
3.3 浮点数
缩放因子的作用是移动小数点的位置。
3.3.1 书写浮点数
- 使用常用的标准小数点表示法
- 表示浮点值的方法叫做E表示法
3.3.2 浮点类型
float、double、long double
- 对单精度float来说,一个浮点数占用32bit,其中1bit作为符号位、8bit作为指数位、23位作为尾数位,其有效精度只有6-7位。
- 对双精度double来说,一个浮点数占用64位,其中依照浮点数的标准,1bit作为符号位、11bit作为指数位、52bit作为尾数位,其中有效精度有15-16位。
- C语言中,%f是float和double型的输出格式。
3.4 C++运算符
3.4.1 算术运算符
3.4.2 关系运算符
3.4.3 逻辑运算符
3.4.4 条件运算符
A ? B : C
3.4.5 位运算符
- typedef起别名,用别名来替代原来的写法。
- math函数
- 条件表达式:
- switch语句中每个case里需加break
- break直接退出循环
- continue临时结束循环的当前轮回
3.4.6 强制类型转换
(新类型名)变量名
参考资料
- 《C++Primer Plus》
转载地址:https://blog.csdn.net/qq_34170700/article/details/103887018 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年03月13日 08时13分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
c语言表达式3649的值是,535个C语言经典实例目录.doc
2019-04-21
c语言中malloc数组,如何在C中对malloc()数组进行一行赋值?
2019-04-21
c语言调存储过程,写留言板–调用存储过程出问题
2019-04-21
c语言编程max,C语言编程题及答案.doc
2019-04-21
android增删改查布局,Android之父_增删改查
2019-04-21
html获取文件路径_HTML 文件路径
2019-04-21
mysql in 有序_mysql中的in排序 mysql按in中顺序来排序
2019-04-21
mysql 行转列 显示_mysql 行转列 (结果集以坐标显示)
2019-04-21
mysql 查询姓王_MySQL查询语句练习题,测试足够用了
2019-04-21
mysql多实例脚本_mysql多实例脚本
2019-04-21
python如何生成excel文件夹_用python脚本通过excel生成文件夹树结构
2019-04-21
mysql加密复制_MySQL主从复制使用SSL加密
2019-04-21