目录
3.1.3 整型short、int、long、long long
第 3 章处理数据
3.1 简单变量
程序通常需要存储信息,为了把信息存储在计算机中,程序必须记录 3 个基本属性:
储存位置;储存的值;信息类型。
3.1.1 变量名
C ++ 提倡有含义的变量名,遵循如下规则:
在名称中只能使用字母字符,数字,下划线( _ )。
开头不能是数字。
区分大小写。
不能使用 C ++ 关键字做名称。
以两个下划线 或 下划线状语从句:字母大写 打头的名称被保留给实现(编译器及其使用的资源)使用以一个下划线开头的名称被保留给实现。,作为全局标识符。
C ++ 对名称的长度没有限制。
使用多个单词组成名称时,可以使用下划线分割(boat_sport)或者首字母大写(boatSport)。
3.1.2 整型
整型就是没有小数部分的数字,如 2 ,98 ,-5286 ,0 数学中的整数是无限的,而在有限的计算机内存中无法表示无限的数。因此,语言只能表示整数的子集(一定范围的整数)。
C ++ 提供不同的内存量来存储整数。宽度(宽度)描述存储整数时使用的内存量。使用内存越多,则越宽 .C ++ 的基本整型(按宽度递增的顺序排列)分别为char ,short ,int ,long 和C ++ 新增的long long,其中每种类型都有有符号类型和无符号类型。
3.1.3 整型short、int、long、long long
计算机内存的基本单元是位(bit)。
C++保证了各种类型的最小长度。
short 16位,
int 不短于 short ,
long 至少 32 位,且不短于int
long long 至少64位,且不短于long.
3.1.4 无符号类型
无符号版本 前面加上unsigned 即可。
如 unsigned short change;
unsigned 本身是unsigned int 的缩写。
TIP:溢出:当某个值达到最大限制时再+1会变成什么?
会变成另一端的取值,可以将其看作一个圆,走到最大时再走一步,就到了最小的值。
如short sam = SHRT_MAX; sam = sam +1
sam 的值就从最大的32767 变成了 -32768.
3.1.5 选择整型类型
通常选择 int,除非有用其他类型的原因。
3.1.6 整型字面值
整型字面值(常量)是显式地书写的常量,如212.
C++能够以三种计数方式书写整数,基数位10,8,16。
C++使用前1或2表示数字常量的基数。
第一位位1~9 基数位10(十进制)。
第一位是0, 第二位是1~7,基数为8,(八进制)
前两位位0x或0X,则基数位16(十六进制);
对于十六进制数,字符a~f(大写也可)表示10~15。
而在计算机内部,只有一种存储方式----二进制。
TIP:iostream提供控制符dec,hex,oct,
使cout显示十进制,十六进制,八进制。
3.1.7 C++如何确定常量的类型
除非有必要,C++将整型常量存储为int类型。
后缀可以表示类型。l或L表示long,u或U表示unsigned int,
ul/UL表示unsigned long。c++提供ll/LL表示long long.
3.1.8 char类型:字符和小整数
char 为专门存储字符设计。变成语言通过字母的数字编码存储字母。美国最常用的字符集是ASCII字符集。ASCII中字符A的编码为65.
3.1.9 bool类型
bool类型只有true和false两种。
3.2 const限定符
使用const表示符号常量
如:const int Months = 12; 就可以在程序中使用Months代表12,使得含义更加清晰。常量初始化后,值固定不可修改。
创建常量的通用格式:
const type name = value;
3.3 浮点数
浮点数可以表示带小数部分的数字,且表示的值范围比整型更大。
3.3.1 书写浮点数
标准小数表示法: 12.34,100.001
E表示法:3.45E6 ,它的值是3.45 和 10的6次方的乘积。
2.5E-31 它的值是2.5 除以 10的31次方。
注:e和E通用。
3.3.2 浮点类型
C++有三种浮点类型,float,double和long double.
它们的有效位分别至少是32,48,48 且后者不比前者少。
通常float是32位,double 64位, long double 为80、96,或128位。
3.3.3浮点常量
默认double,使用f/F后缀表示float, 使用l/L后缀表示long double。
3.3.4 浮点数的优缺点
优点:可以表示小数,表示范围大。
缺点:运算速度慢,精度降低
3.4 C++算数运算符
C ++ 提供基本算数运算:加法(+ ),减法(- ),除法(/ ),乘法(* ),求模(%)。
3.4.1 运算符优先级
建议使用()
C ++ 中运算优先级与代数优先级通常相同,先乘除后加减。
3.4.2 除法分支
两个操作数都是整数,将执行整数除法,结果小数部分直接舍弃。
如:9/5 = 1 ;
如果其中有浮点数,则保留小数部分。
3.4.3 求模运算符
求模返回整数除法的余数。
3.4.4 类型转换
3.4.5C ++ 中的自动声明
C ++ 提供auto 自动推断变量类型,如:auto n = 100 编译器将认为n 是int 。