一、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 语句。 |
? : 运算符(三元运算符) : Exp1 ? Exp2 : Exp3;
循环类型 |
描述 |
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);
最新文章
- setAlpha与View Layer关系
- Android——使用SQLiteDatabase操作SQLite数据库
- 唐巧的iOS技术博客选摘
- 基于spring-redis发布订阅模式的实现
- FZU 2107 Hua Rong Dao(暴力回溯)
- 数据处理包dplyr的函数
- usaco training 4.2.2 The Perfect Stall 最佳牛栏 题解
- C#神器 委托 + Unity神器 协程
- 其它综合-VMware虚拟机安装Ubuntu 19.04 版本
- 升讯威微信营销系统开发实践:所见即所得的微官网( 完整开源于 Github)
- luogu P2900 [USACO08MAR]土地征用Land Acquisition
- UFT12 更新模式
- wpgcms---碎片管理的使用
- Codeforces758C Unfair Poll 2017-01-20 10:24 95人阅读 评论(0) 收藏
- xcode9.2 objective-c install (mac 10.12.6)
- C++的惨痛教训(未完待续)
- 关于controller和apicontroller的跨域实现过滤器的不同
- LBP简单实现
- luogu P3834 【模板】可持久化线段树 1(主席树)
- ALV行 列颜色设置
热门文章
- 并行forearch的使用及测试(Parallel.Foreach)
- laravel6.0路由
- Turn.js 实现翻书效果(自适应单双页)
- Oracle VIP说明
- 威联通212 http 在密码正确的情况下无法登录问题解决
- 洛谷 P1047 校门外的树(待完善)
- Java Web 深入分析(3) CDN
- ASP.NET WEB应用程序(.network4.5)MVC 工作原理
- 一次腾讯云centos服务器被入侵的处理
- SVN 问题解决之 Working copy path does not exist in repository