1.整形:
short至少16位;
int至少与short一样长
long至少32位,且至少与int一样长
long long至少64,且至少与long一样长
2.位与字节:
计算机内存的基本单位是位(bit)
位是010110101…组成
8位单元可表示0-255,也可表示-127—128
计算机内存的度量单位是字节(byte)
1个字节是8位
1MB=1024KB
3.sizeof返回值的单位是字节
4.climits包含了符号常量,如:CHAR_BIT 表示 char的位数, CHAR_MAX表示CHAR的最大值…
5.c++也使用{}来初始化
int emus{7}; //给emus赋初值7
int a{}; //给a赋初值0
6.无符号类型:unsigned 如short表示-32678—+32676 however unsigned short 表示 0—65535
7.整型字面值:
第一位是1–9表示10进制数 如 94就表示10进制94
第一位是0,第二位是1–7则表示8进制 如042 相当于 34(10进制 )
前两位是0x或0X,则表示16进制 如0x42表示 66(10进制)0xA5表示165(10进制)
8.cout默认10进制输出
9.使用cout输出dec(10进制)hex(16进制) oct(8进制)
#include<iostream>
int main()
{
using namespace std;
cout << hex;
cout << 55 << endl; //输出37表示16进制
cout << dec;
cout << 55 << endl; //输出55表示10进制
cout << oct;
cout << 55 << endl; //输出67表示8进制
return 0;
}
10.使用cout输出变量为8进制,16进制的值
#include<iostream>
int main()
{
using namespace std;
int a=0x42;
int b=042;
cout << a; //结果为66
cout << b; //结果为34
return 0;
}
11.c++默认将整形常量存储为int类型
12.整数后面加上l或L;ul或UL;F或f 来表示long类型,和无符号long类型,float类型。比如数字22022被存储为int占16位 , 22022L被存储为long占32位 , 1.234f表示1.234存储为float类型
13.cout.put()函数(成员函数)只显示一个字符,通过对象cout来使用ostream中函数put
14.常见的转义字符:振铃(\a)退格(\b)
15.wchar_t(宽字符类型),是一种整数类型,有足够空间,使用wcin和wcout来处理wchar_t流,前缀L指示宽字符常量和字符串 , char16_t和char32_t,他们的宽度分别存储16和32位
#include<iostream>
int main()
{
using namespace std;
wchar_t bob = L'p';
wcout << bob << endl;
wcout << L"tall" << endl;
return 0;
}
16.bool类型,非0值表示真True 0值表示false
17.const限定符(相当于c中用#define定义一个常量):
const int Months = 12
//表示以后见到Months就是12
注:
- 通常将首字母大写
- 应在声明中对const进行初始化
18.cout打印6位小数,float类型只能表示前6位或前7位
19.cout.setf()
的作用是通过设置格式标志来控制输出形式,其中ios_base::fixed
表示:用正常的记数方法显示浮点数(与科学计数法相对应);ios_base::floatfield
表示小数点后保留6位小数。
20.除法分支:两个整数相除结果为整数,有一个是浮点数最后结果也为浮点数。
21.赋值进行转换:将小范围的值赋值给大范围的值,不会改变该值,只是占用更多字节;但反之,会将数字截短(除掉小数部分)
例如:
a的类型为long, thirty的类型为short
a=thirty;
将thirty(通常16位)的值扩展为long(通常为32位)值
22.强制转化类型:
typename (value)
e.g. long (thorn) 将thorn强制转化为int类型static_cast<typename> (value)
e.g.static_cast<int>('a');
将字符a强制转化为int类型
23.auto自动声明
auto n = 100; //表示n是一个int
auto x = 1.5; //x是一个double类型
auto y = 1.3e12L; //y是一个long double 类型
24.float,long都是4个字节,而double,long long都是8个字节