一、变量
1、变量的三个基本属性:存储位置、值、类型。
2、变量的命名规则:①只能由字母、数字以及下划线组成;②开头不能是数字;③不能将C++的关键字作为变量的名字;④尽量避免在名称的开头使用双下划线、下划线和大写字母或者单下划线。(因为这些是留给实现和编译的)
二、整型
1、*术语解释:宽度(width)用于描述存储整数时使用的内存量。
2、符号类型:正数负数;无符号类型:正数。
3、基本整型(按照宽度递增的顺序排序):char、short、int、long、long long
4、关于“位与字节”
♦️位(bit):计算机内存的基本单位(0或者1)
♦️字节(byte):8位的内存单元(2^8=256),通常还用来表示计算机内存量的度量单位
换算关系:
1 byte = 8 bit
1 KB = 2^10 byte = 1024 byte
1 MB = 2^10 KB = 1024 KB = 2^20 byte
5、运算符 sizeof 和头文件 limits
①运算符 sizeof:返回类型或变量的长度,单位为字节byte。对于变量既可使用括号也可以不用,对于类型名(如int)则必须使用括号。
// 例如:
cout << "int is " << sizeof (int) << " bytes." << endl;
cout << "short is " << sizeof n_short << " bytes." << endl;
cout << "short is " << sizeof (n_int) << " bytes." << endl;
②头文件 climit 包含了整型限制的信息,并且用符号常量对其进行描述。具体地说,它定义了表示各种限制的符号名称。例如,INT_MAX 为 int 的最大值,CHAR_BIT 为字节的位数。
/*
有关 <climits> 头文件
climits 文件中包含与下面类似的语句行:
#define INT_MAX 2147483647
<climits>头文件定义的符号常量
CHAR_BIT char的位数
CHAR_MIN char的最小值
SCHAR_MAX signed char 最大值
SCHAR_MIN signed char 最小值
UCHAR_MAX unsigned char 最大值
SHRT_MAX short 最大值
SHRT_MIN short 最小值
USHRT_MAX unsigned short 最大值
INT_MAX int 最大值
INT_MIN int 最小值
UINT_MAX unsigned int 最大值
UINT_MIN unsigned int 最小值
LONG_MAX long最大值
LONG_MIN long最小值
ULONG_MAX unsigned long 最大值
FLT_MANT_DIG float 类型的尾数
FLT_DIG float 类型的最少有效数字位数
FLT_MIN_10_EXP 带有全部有效数的float类型的负指数的最小值(以10为底)
FLT_MAX_10_EXP float类型的正指数的最大值(以10为底)
FLT_MIN 保留全部精度的float类型正数最小值
FLT_MAX float类型正数最大值
*/
4、关于变量的初始化
①初始化的方式:字面值、变量以及表达式
②初始化语法: 等号或者括号
例如:
int num = 101;
int nums (101); (c++ 特有的初始化方式,c语言没有)
5、有关 无符号类型
①不能用来存储负数,使用unsigned关键字,一般用于存储不会是负数的数值,如人口、年龄等。
②优点是可以增大变量能够存储的最大值。
③溢出:如果数值超出了类型范围的限制,其值将为范围另一端的取值。
6、关于 八进制、十六进制的问题
要以八进制、十六进制方式显示数值,可以利用cout的一些特性。
cout 提供了 dec、hex 和 oct 分别用于指示cout以十进制、十六进制和八进制格式显示整数,默认为十进制。
❕注:在修改格式之前,原来的格式将一直有效(见下面的示例)
例如:
#include<iostream>
using namespace std;
int main()
{
int chest = 42;
int waist = 42;
int inseam = 42;
cout << "monsieur cuts a striking figure!"<< endl;
cout << "chest = "<< chest <<" {十进制显示 42}"<< endl;
cout << hex;
cout << "waist = "<< waist <<" {十六进制显示 42}"<< endl;
cout << "inseam = "<< inseam <<" {十六进制显示 42}"<< endl;
cout << oct;
cout << "waist = "<< waist <<" {八进制显示 42}"<< endl;
cout << "inseam = "<< inseam <<" {八进制显示 42}"<< endl;
return 0;
}
运行结果:
monsieur cuts a striking figure!
chest = 42 {十进制显示 42}
waist = 2a {十六进制显示 42}
inseam = 2a {十六进制显示 42}
waist = 52 {八进制显示 42}
inseam = 52 {八进制显示 42}