导图社区 第三章 处理数据
C primer plus第六版第三章思维导图,本图汇总了数据、整型、浮点类型、符号常量、C++算术运算符、类型转换等知识点,欢迎交流!
本文依据 史蒂芬·普拉达编写的《C primer plus》(第六版中文版)及对应《习题解答》所总结。
第一章 预备知识(c primer plus第六版)的思维导图,OOP思想理念是设计与问题本质特性相对应的数据格式 (强调数据)。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
三、处理数据(算术类型)
数据
OOP的本质是:设计并扩展自己的数据类型(让数据与类型匹配)
C++内置类型是创建自己类型的基本组件 内置类型:
基本类型:整型和浮点类型
在基本类型基础上创建的复合类型:数组,字符串,指针,结构
整型
整数类型
既没有小数部分的数字,C++提供多种整型,需要根据程序要求选择最合适的整型 有符号的 char,short,int,long,long long 及对应的无符号 unsigned ...共计10种不同的整型有不同的字宽,使用不同的内存量
short,int,long,long long
选择整数类型(变量):首选int,长度long,节省内存short
整型字面值(常量):显式书写的常量,C++有三种不同的计数方式 使用前一(两)位来标识数字常量的基数 (在内部都存储为二进制)
若第一位为1~9 十进制(基数为10)
若第一位为0,第二位为1~7 八进制(基数为8)
若前两位为0x或0X 十六进制(基数为16)
字面量(常量)类型的确定:
后缀: l/L long ll/LL long long u/U unsigned ul/UL ull/ULL
默认:十进制整数依据大小依次选择int,long,longlong 十六/八进制整数依据大小依次选择int,unsigned int,···,unsigned long long
字符类型
为存储字符设计,实际存储字符编码(一个整数)
char字面值的书写
赋予字符的编码数值(直接赋值一个整数,代表它的编码,一个字符都具体编码数值,这取决于系统使用的字符集)
对于常规字符,将字符用单引号括起并赋值,这种表示法代表字符的数值编码
对于特殊字符,需要用到转义序列,可以使用数字转义序列或符号转义序列 (数字为其编码的八进制或十六进制表示,尽量用符号表示,因为符号适用任何编码方式,可读性也更强) 例:'\0x8'或'\b'
布尔类型
bool 类型的值可以为true/false,是预定义的字面值 提升转换为int类型后分别为1/0
浮点类型
既实数类型,有小数点,通过缩放因子可以改变小数点的位置,术语浮点因此得名 有float,double,long double 共计三种
float,double,long double
选择浮点类型(变量):
按照可以表示的有效位数和允许的指数最小范围来描述,有效位是数字中有意义的位,与小数点无关
根据不同的精度要求选择类型
浮点型字面值(常量):
书写浮点数: 标准小数点表示法(十进制) 12.34 E/e方法(科学计数法) 1234E-2
浮点型字面值(常量)类型的确定:
后缀: f/F float l/L long double
默认double类型
符号常量
C风格:#define My_Name 111
C++风格:const int My_Name=111;
必须在声明时赋值且不可更改
优点:可以明确指定类型,可以使用C++的作用域规则限定在特定的函数或文件中,可将const用于更复杂的类型,如数组和结构
C++算术运算符
+,-,*,/,%
运算符优先级与结合性
当多个运算符可用于同一个操作数时,C++使用优先级规则来决定首先使用哪个运算符
两个运算符优先级相同时看操作数的结合性是从左到右还是从右到左
类型转换
自动类型转换(隐式):
将一种算术类型的值赋给另一种算术类型的变量时 值被转换为接受变量的类型
表达式中包含不同的类型时 向提升精度的方向转换
将参数传递给函数时 实际参数被转换为形式参数类型
强制类型转换(显式):
C风格:(typeName) value
C++风格:typeName (value) 想法:让强制类型转换就像是函数调用
auto声明:不指定变量的类型,编译器将把变量的类型设置成与初始值相同 例:auto a=1.0;
运算符优先级
https://blog.csdn.net/nicky_zs/article/details/4053146
cin,cout完成char类数值与字符的转换,详见第十七章
cout、cin与进制
消息语句:cin>>number; cout<<hex; cout<<number;
默认十进制 控制符dec
十六进制 控制符hex
八进制 控制符oct