一、C运算符
-
算术运算符(语法和java类似或基本一样略过不再描述)
-
关系运算符(略)
-
逻辑运算符(略)
-
位运算符
| 运算符 | 描述 | 实例 |
| & |
如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 |
(A & B) 将得到 12,即为 0000 1100 |
| | |
如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 |
(A | B) 将得到 61,即为 0011 1101 |
| ^ |
如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 |
(A ^ B) 将得到 49,即为 0011 0001 |
| ~ |
二进制补码运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0。 |
(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。 |
| << |
二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 |
A << 2 将得到 240,即为 1111 0000 |
| >> |
二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 |
A >> 2 将得到 15,即为 0000 1111 |
| 运算符 | 描述 | 实例 |
| = |
简单的赋值运算符,把右边操作数的值赋给左边操作数 |
C = A + B 将把 A + B 的值赋给 C |
| += |
加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 |
C += A 相当于 C = C + A |
| -= |
减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 |
C -= A 相当于 C = C - A |
| *= |
乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 |
C *= A 相当于 C = C * A |
| /= |
除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 |
C /= A 相当于 C = C / A |
| %= |
求模且赋值运算符,求两个操作数的模赋值给左边操作数 |
C %= A 相当于 C = C % A |
| <<= |
左移且赋值运算符 |
C <<= 2 等同于 C = C << 2 |
| >>= |
右移且赋值运算符 |
C >>= 2 等同于 C = C >> 2 |
| &= |
按位与且赋值运算符 |
C &= 2 等同于 C = C & 2 |
| ^= |
按位异或且赋值运算符 |
C ^= 2 等同于 C = C ^ 2 |
| |= |
按位或且赋值运算符 |
C |= 2 等同于 C = C | 2 |
| 运算符 | 描述 | 实例 |
| sizeof() |
返回变量的大小。 |
sizeof(a) 将返回 4,其中 a 是整数。 |
| & |
返回变量的地址。 |
&a; 将给出变量的实际地址。 |
| * |
指向一个变量。 |
*a; 将指向一个变量。 |
| ? : |
条件表达式 |
如果条件为真 ? 则值为 X : 否则值为 Y |
二、C 中的运算符优先级
| 类别 | 运算符 | 结合性 |
| 后缀 |
() [] -> . ++ - - |
从左到右 |
| 一元 |
+ - ! ~ ++ - - (type)* & sizeof |
从右到左 |
| 乘除 |
* / % |
从左到右 |
| 加减 |
+ - |
从左到右 |
| 移位 |
<< >> |
从左到右 |
| 关系 |
< <= > >= |
从左到右 |
| 相等 |
== != |
从左到右 |
| 位与 AND |
& |
从左到右 |
| 位异或 XOR |
^ |
从左到右 |
| 位或 OR |
| |
从左到右 |
| 逻辑与 AND |
&& |
从左到右 |
| 逻辑或 OR |
|| |
从左到右 |
| 条件 |
?: |
从右到左 |
| 赋值 |
= += -= *= /= %=>>= <<= &= ^= |= |
从右到左 |
| 逗号 |
, |
从左到右 |
三、C的判断、循环(略)
C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
| 语句 | 描述 |
| if 语句 |
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
| if...else 语句 |
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
| 嵌套 if 语句 |
您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
| switch 语句 |
一个 switch 语句允许测试一个变量等于多个值时的情况。 |
| 嵌套 switch 语句 |
您可以在一个 switch 语句内使用另一个 switch 语句。 |
| 循环类型 | 描述 |
| while 循环 |
当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 |
| for 循环 |
多次执行一个语句序列,简化管理循环变量的代码。 |
| do...while 循环 |
除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 |
| 嵌套循环 |
您可以在 while、for 或 do..while 循环内使用一个或多个循环。 |
| 控制语句 | 描述 |
| break 语句 |
终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。 |
| continue 语句 |
告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 |
| goto 语句 |
将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
if ( U.read(me.Blog) ) $("#推荐").click();
if ( U.copy(me.Blog) ) $("#u Blog").console("原文链接:http://www.cnblogs.com/Grand-Jon/p/7538467.html ");
else me.Fuck(U);