1.递增/递减运算符和指针
将*和++同时用于指针的优先级?
答:前缀递增,前缀递减和解除引用运算符的优先级相同,以从右到左的方式进行结合;后缀递增和后缀递减的优先级相同,但比前缀运算符的优先级高,这两个运算符以从左到右的方式进行结合;
2.组合赋值运算符
操作符 | 作用 L为左操作数,R为右操作数 |
+= | L+R赋值给L |
-+ | L-R赋值给L |
*= | |
/= | |
%= |
3.复合语句(语句块)
前面说过for循环后面只有一句循环体语句,那么怎么有多条循环体语句呢?
看下述代码,第一个虽然使用了缩进,但是循环体只是语句1;
循环体用大括号括起来,才是循环体;
for(;;)
语句1;
语句2;
语句3;
for(;;)
{
语句1;
语句2;
语句3;
}
4.逗号运算符
在所有运算符中,逗号运算符的优先级是最低的,第一个被解释为第二个情况,cats被赋值为17,240将不起作用,第三个则是把240赋值给了cats;
cats = 17, 240;
(cats = 17), 240;
cats = (17, 240);
5.关系表达式
操作符 | 含义 |
< | |
<= | |
== | |
> | |
>= | |
!= |
关系运算符的优先级低于算数运算符;
注意:1<x<5在程序中并不能这么写,而要写成1<x && x<5;
6.c-风格字符串比较
strcmp()该函数接受两个字符串地址作为参数;这意味着参数可以是指针,字符串常量或字符数组名;
如果两个字符串相同,该函数返回零;
如果前面字符串小于后面字符串,返回一个负数;
如果前面字符串大于后面字符串,返回一个正数;
strcmp()----字符串匹配;程序清单5.11; · 6aaa63a · Kite/C和C++ - Gitee.com
7.比较string类字符串
这里就可以直接进行比较;上下两个程序可以看下区别;
string类----字符串匹配;程序清单5.12; · e45429c · Kite/C和C++ - Gitee.com