①返回值 是函数的出口
函数头 是函数的接口
②'\b' 退格
③const 和 #define 都可以创建符号常量
#define x 512 //不强调常量类型,属于预编译处理,故不带分号
const int x = 152; //强调常量类型
④typedef 和 #define 都可以为类型创建别名
#define PN (int*)
typedef (int*) PN;
区别:
#define PN (int*) //宏定义是直接替换的
PN a,b; //被直接替换为int*a,b;
//即a为int*,b为int
typedef (int*) PN; //为类型创建别名
PN a,b; //a,b都是int*
⑤获取数据(数组,结构等)的大小,用sizeof比较安全
⑥c-style string 本质上是 以空字符('\0')结尾的char[](或char*)。ASCII码:数字<大写字母<小写字母。
⑦顺序点:对于一个完整的表达式,以顺序点为分界,从上一步进入到下一步之前,一定会保证顺序点前所有的副作用得到执 行。
//如 y=(4+x++)+(6+x++); 这样结果不确定的表达式应极力避免
⑧逗号(,)表达式的值是其第二部分的值,逗号(,)的运算优先级最低:
int a = 17,240; //a=17 因为(,)优先级最低
int a = (17,240); //a=240 因为逗号表达式的值为其后半部分
⑨浮点数的 E 表示法:xE+y //x*10^y
⑩一般来说swich的每一个case后面都应使用break中断,不中断则继续执行
char choice;
cin>>choice;
switch(choice)
{
case 'a': //继续的妙用
case 'A':
cout<<"\a\n";
break; //中断
case 'b':
case 'B':
...
}