第3章 处理数据 1. 类型:基本类型和复合类型 基本类型:整数和浮点数 复合类型:数组、字符串、指针和结构 2. 程序必须记录3个基本属性:
信息将存储在哪里;(address) 要存储什么值;(value) 存储何种类型的信息;(kind)int n; n = 5; 程序将找到一块能存储整数的内存,将该内存单元标记为 n ,并将5复制到该内存单元中;然后,我们就可以使用 n 来访问该内存单元。可以使用 & 运算符来检索 n 的内存地址。 4. 变量命名规则:
在名称中只能使用字母字符、数字和下划线; 名称的第一个字符不能是数字; 区分大写字符和小写字符; 不能将C++关键字用来命名; 以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符。signed 前缀n用来表示整数值;str或sz用来表示空字符结束的字符串;b表示布尔值;p表示指针;c表示单个字符。 6. unsigned 整型:char, short, int, long, long long 10 种 在未定义下默认为有符号。 7. 计算机内存的基本单元是位(bit);字节(byte)通常指的是8位的内存单元。 9. sizeof
类型名:sizeof(int); 变量名:sizeof str;典型的整型溢出行为:short: -32768~32767; unsigned short: 0~65535
short n = SHRT_MAX; //32767 n = n + 1; //-32768 n = 0; n = n – 1; // -1 unsigned short m = n; m = m + 1;//32768 m = 0; m = m –1; //65535在默认情况下,cout 以十进制显示; cout << hex; // 16 cout << oct; //8 11. 输入时,cin将键盘输入的M转换为77;输出时,cout将值77转换为显示的字符M。 12. cout.put();//该函数只显示一个字符,成员函数,归类所有 //通过类对象cout来使用函数put cout.put(ch); cout.put(‘!’); 13. wchar_t可以扩展字符集 cin和cout将输入和输出看作时char流,incident不适用来处理wchar_t类型。iostream头文件的最新版本提供了工具——wcin和wcout;可用于处理wchar_t流。可通过加上前缀L来指示宽字符常量和宽字符串。 1) wchar_t bob = L’P’; 2) wcout << L”tall” << endl; 14. char16_t 和 char32_t char16_t和 char32_t ,两者均为无符号,前者长16位,后者32为;前者使用前缀u,后者使用U 15. 布尔(bool)类型:非0值为true(1),零为false(0) 16. const:如果程序在多个地方使用了同一个常量,则需要改变该常量时,只需修改一个地方。
首字母大写:Months整个名称大写:MONTHS (#define)以k字母开头,kmonths 创建常量的通用格式: const type name = value;浮点数:即带小数部分的数字。 表示方法: 1)12.34,1.0 2)2.52e+8,7E5 d.ddE±n指的时将小数点向右或向左移动n位 18. 通常cout会删除结尾的零,例如:3333.250000 ->3333.25;调用cout.self()将覆盖这种行为 cout所属的ostream类有一个类成员函数,能够精确地控制输出的格式——字段宽度、小数位数、采用小数格式还是E格式等。 19. float a = 2.34E+22f; float b = a + 1.0f; 2.34E小数点向右移动22位,在第23位+1,但由于float只显示前6或7位,故+1对a的值不会有影响,所以b = a 20. 算术运算符:
+: 加–:减*:乘/:除%:求模(求余)类型转换:强制类型转换 22. auto