想要考研,但是学过的编程语言感觉都是马马虎虎,所以选择老本行C++,毕竟高中就学C,对它还是非常熟悉的,今天就开始跟教程学习
二进制编码
- 计算机存储的是二进制补码,二进制补码中,正数符号位0,负数符号位1
- 0的补码最高位为0
- 符号位为1,其余为0,表示负的2的阶数
- 可以参照计算机学科概论(第2版)胡明、王红梅 第69页
数据类型
- 默认为double,在数值后加f为单精度
- 科学技术法2e2代表2*102、2e-2代表2*10-2
- printf函数,无论float还是double,小数部分默认输6位
- cout流,无论float还是double,总共输出6位,小数部分全为0不输出,整数部分超出科学技术法,小数部分超出科学计数法 省略掉超出位数 只记载小数位数
- 字符型,ASCII码存储 a97 A65,单引号,只有一个字符(键盘上的,不包括中文汉字)
- \t制表符 全部算在内有8个位置 控制格式化输出
- c风格字符串相当于一个数组,C++字符串要包含头文件string
- bool类型 非0即为真
运算符
- 取模运算 根据被除数得出运算结果
- 整数相除 省略小数
- 取模运算只能整数,除数不能为0
- += -= *= /= 强制转换
将浮点型变量赋值给整型变量时,舍弃小数部分
将整型数据赋值给浮点型变量时,数值不变,但是以指数形式储存
将double型数据赋值给float型变量时,注意数值范围溢出
字符型数据可以复制给整型变量,此时存入的是字符的ASCII码
将一个int,short,long型数据赋值给一个char型变量,只将低八位原封不动的送到char型变量中
将有符号数据赋值给长度相同的无符号型变量,连同原来的符号位一起传送
- 其中&&和||有短路功能,当左边表达式为false或true时,就不去执行第二个表达式
- 当两边表达式不为booleand 时,&表示按位与操作|,表示按位或操作,我们通常使用OX0f 对一个整数做&操作,目的是为了获取整数的最后4个bit位,例如,OX31 & OX0f的结果为0x01。