
style="text-align:left">逻辑的分支
else
style="text-align:left">和C语言一样的
只有两个值
style="text-align:left">内存基本就是一个字节,但是偶尔有别的编译器不一样
style="text-align:left">非0就是true
style="text-align:left">Bool类型主要涉及到逻辑运算符,比较运算符
和else
style="text-align:left">只会进入一个这一点可能和switch
有不同
style="text-align:left">如果进入前面的判断了就不会看这一组后面的了、
可以进行嵌套,但是如果嵌套太多难以维护
style="text-align:left">最好不要超过三层
cout<<
style="text-align:left">还有一个新手经常会犯的问题就时
==
style="text-align:left">位运算符和C语言也没有区别
&
style="text-align:left">&就是位运算先转换为二进制
这一位同为一才为1
style="text-align:left">|就时有一个是1就是1
style="text-align:left">要是想要用编译器看看效果就可一在数字前面加一个0b
0b1101
Bitset的作用是输出二进制数
style="background-color:#ffffff"> style="color:#000000">逻辑运算符
style="background-color:#ffffff"> ||也是和C语言没有什么差别&&
style="background-color:#ffffff"> style="color:#000000">但是在开发的时候会选择用宏定义去替换
style="background-color:#ffffff"> style="background-color:#ffffff"> style="color:#000000">但是在使用逻辑运算符的时候要防止短路问题的发生比如&&在第一个错误就不会判断后面的and
style="background-color:#ffffff"> style="color:#000000">||也是一样如果第一个就队里就不会判断后面的
style="background-color:#ffffff"> style="color:#008000">//验证逻辑运算符的短路
int((++x)
style="background-color:#ffffff">style="color:#000000">能明白这个输出多少就可以了
style="background-color:#ffffff">style="color:#000000">初识字符串
style="background-color:#ffffff">#include
<string>
style="text-align:left">字符串是字符数组
string
style="background-color:#ffffff">style="color:#008000">//字符串的初始化和赋值
style="background-color:#ffffff">style="color:#2b91af">string
style="background-color:#ffffff">=
style="background-color:#ffffff">style="background-color:#ffffff">style="color:#000000">};
style="background-color:#ffffff">char
style="background-color:#ffffff">style="color:#000000">cout
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#a31515">"str1"
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">str1
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">endl;
style="text-align:left">这几句具体什么意思呢:
就是先生成一段字符数组,有一段空间去存储他们,然后通过string去申请一段空间去把他给赋值过来
//字符串的初始化和赋值
string
style="background-color:#ffffff">style="color:#000000">而且这样可以直接赋值
//字符串的初始化和赋值
string
style="text-align:left">一开始可以不赋值,就是空字符,也可以直接复制操作
style="text-align:left">字符串的长度获取
style="text-align:left">长度不包括\0,汉字是两个字节
style="text-align:left">其实这个string的本质上生成了一个类,二size就是类的一部分
,这个类要到后面学
stringstr4
style="background-color:#ffffff">style="color:#000000">通过这个类我们可以做到截断
style="background-color:#ffffff">style="color:#008000">//截断字符串
style="background-color:#ffffff">style="color:#008000">//substr返回的是一个string
style="background-color:#ffffff">style="color:#008000">//有两个参数,第一个参数是起始位置,第二个是截断长度
style="background-color:#ffffff">style="color:#008000">//记住这个起始位置是从0开始算的,如果不写长度直接从起始位置截断到结束
style="background-color:#ffffff">style="color:#000000">cout
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">str4.substr(1,2)
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">endl;
style="background-color:#ffffff">style="color:#000000">cout
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">str4.substr(1)
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">endl;
style="background-color:#ffffff">style="color:#000000">这个类还可以进行字符串判断
//字符串判断string
style="background-color:#ffffff">style="color:#000000">这个的返回值是0或1,0是空
style="text-align:left">也可以直接比较两个字符串的内容
strif=
style="text-align:left">字符串对数字的转换
style="text-align:left">为什么要进行转换呢
style="text-align:left">以为在外部文读取到的一般都是字符串
style="text-align:left">字符串的拼接可以直接用+拼接
//字符串拼接string
style="text-align:left">查找和替换
//查找和替换string
style="background-color:#ffffff">style="color:#008000">//替换字符串
style="background-color:#ffffff">style="color:#008000">//有三个参数
style="background-color:#ffffff">被替换字符串的起始位置
style="background-color:#ffffff">style="background-color:#ffffff">style="background-color:#ffffff">style="color:#2b91af">string
style="background-color:#ffffff">style="background-color:#ffffff">style="color:#a31515">"123"
style="background-color:#ffffff">style="color:#000000">;
style="background-color:#ffffff">style="color:#000000">strfind.replace(pos,
style="background-color:#ffffff">style="color:#a31515">"789"
style="background-color:#ffffff">style="color:#000000">);
style="background-color:#ffffff">style="color:#000000">cout
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">strfind
style="background-color:#ffffff">style="color:#008080"><<
style="background-color:#ffffff">style="color:#000000">endl;
style="background-color:#ffffff">style="color:#008000">//这里的替换起始是生成一个新的空间去存一个新的字符串
style="background-color:#ffffff">style="color:#008000">enum枚举类型
style="background-color:#ffffff">style="color:#000000">enum枚举类型名
style="background-color:#ffffff">style="color:#000000">{
style="background-color:#ffffff">style="color:#000000">枚举值1,
style="background-color:#ffffff">style="color:#000000">/
style="background-color:#ffffff">style="color:#000000">/默认从0开始
style="background-color:#ffffff">style="color:#000000">枚举值2,
style="background-color:#ffffff">style="color:#000000">//
style="background-color:#ffffff">style="color:#000000">每一个加11
style="background-color:#ffffff">style="color:#000000">枚举值3,
style="background-color:#ffffff">style="color:#000000">//
style="background-color:#ffffff">style="color:#000000">2
style="background-color:#ffffff">style="color:#000000">枚举值4=5,
style="background-color:#ffffff">style="color:#000000">/
style="background-color:#ffffff">style="color:#000000">/可以赋值
style="background-color:#ffffff">style="color:#000000">枚举值5
style="background-color:#ffffff">style="color:#000000">//
style="background-color:#ffffff">style="color:#000000">从上面的五开始再加一为6
style="background-color:#ffffff">style="color:#000000">};
enumnum
style="text-align:left">但是才C11之枚举类型的使用有所差别
style="text-align:left">枚举的主要作用就是减轻编码复杂度,提高代码可读性
//C11之后的枚举类型enum
endl;//C11里面不在默认int型,不写类型会报错
style="text-align:left">其中大致的区别就三个


