typedef工具
字符输入方法get()
cin如何处理字符输入
C++在需要整数值的地方将true和false分别转换为1和0。在需要bool值的地方将0转换为false,将非0转换为true。
C++一般在for和()之间会加一个空格(对于其他控制语句也采用同样的方式)。但是在函数名和()之间不会加空格。
在C++中任何值或者 值和运算符的组合 都是表达式。(并且每个表达式都有值。在表达式后面加上分号,就能把这个表达式转变成了语句)。
cout.setf(ios_base::boolalpha);执行该语句后,之后的输出将以bool形式输出。(通常,cout将bool值以int格式输出,但是cout.setf(ios_base::boolalpha) 函数设置了一个标间,改标记使得cout将bool值输出为true或false)
如果在for循环中声明i,则循环结束后变量将会消失。
0!=1。1!=1*0!。2!=2*1!
通过使用符号常量,可以减少程序修改的工作量。(通常,定义一个const值来不表示数组中元素个数是个好办法)。
对 ++ 和 -- 在变量前后的含义,不同的系统可能定义不同。
顺序点,就是在这个点之前的所有操作都必须完成。(比如分号就是一个顺序点,程序在处理下一条语句之前,分号之前的所有操作必须完成)。
自增或自减运算符,前缀格式可能会比后缀格式运行速度快一些。(如果用户自定义两种格式。比如:前缀格式,是先进行加1或减1操作,然后返回结果。后缀格式,是先复制一个副本,然后进行加1操作,之后返回复制的副本)。
自增和自减运算符可以用于指针。(等同于指针的算数运算)。
当使用指针时,同时出现了*和自增符号。(按照从右向左的顺序结合。后缀自增时,按照从左向右的顺序结合,但是自增符号优先级要高于*。)
一个花括号包含多条语句,组成了一个代码块。这个代码块被看做是一条语句(称为复合语句)。
当局部变量和外部变量重复时(优先使用局部变量)
,号可以将两个语句拼接为一个语句。
如果在一个循环定义的代码块内部声明变量,每次迭代都要分配和释放内存,这样会使代码运行变慢。
在所有运算符中 ()优先级最高 ,号优先级最低。
含,号的表达式的值取,号后的值(cats=(17,240);这个表达式含义就是,将240赋值给cats变量)
计算机能够对值进行比较,这是计算机决策的基础。(比较运算符也叫关系运算符,关系运算符可用于对数字、字符、string对象进行比较,但不能用于对C-风格的字符串进行比较)
for的条件部分,可以是任意表达式(因为任意表达式都是有值的,比如x=4 这个表达式的值就是4,转换为bool值就是true)
遍历数组时,要对数组越界进行判断和规避
“mate”代表的是这个字符串的首地址。
使用strcmp()函数来对C-风格的字符串进行比较。将两个字符串的地址传入函数,函数在底层使用ASCII码来对每个字符进行比较。(如果两个字符串相等,则返回0,如果第一个字符串小于第二个字符串,则返回负值,否则返回正值)。
char类型本质也是整型(底层,字符都是以ASCII码的整数值来存储),因此char类型也可以直接像int型一样参与运算。
一般循环终止的条件如果不涉及到计数,一般采用while循环。