2026/1/16 18:00:36
网站建设
项目流程
网站怎么查询注册商,个人网站 wordpress,企业营销策略,做最便宜的网站建设赋值运算符将不满意的值赋值为自己满意的值#xff0c;赋值运算符可以连续使用#xff08;链式赋值#xff09;。
示例#xff1a;
int a10;
int x0;
int y20;
a x y 1; // 链式赋值
复合赋值符、-、*、/、%、、、、|、^单目/双目运算符• 单目运算…赋值运算符将不满意的值赋值为自己满意的值赋值运算符可以连续使用链式赋值。示例int a10;int x0;int y20;a x y 1; // 链式赋值复合赋值符、-、*、/、%、、、、|、^单目/双目运算符• 单目运算符只有1个操作数• 双目运算符有2个操作数常见单目运算符1. !逻辑反操作真→假假→真示例int main(){int flag 3; // 0为假非0为真if (flag) // flag为真进入if{}if (!flag) // flag为假进入if{}}2. -负值3. 正值4. 取地址int *p a; // p是指针变量5. sizeof操作数的类型长度以字节为单位示例int main(){int a 10;int n sizeof(a); // 计算变量a所占内存大小单位为字节int n sizeof(int); // 计算int类型所占内存大小// sizeof是运算符计算变量/类型创建的变量所占内存空间大小printf(n %d\n, n);return 0;}位运算符按位与 规则对应二进制位都为1则为1否则为0。示例int main(){int a 3; // 整数占4字节1字节8比特位int b -5;int c a b;// 3的补码00000000 00000000 00000000 00000011// -5的补码11111111 11111111 11111111 11111011// 按位与结果00000000 00000000 00000000 00000011 → 十进制3printf(c %d\n, c); // 输出c3return 0;}按位异或 ^规则对应二进制位相同为0相异为1。特性• 3^30 → a^a0• 0^55 → 0^aa• 3^3^55、3^5^35异或满足交换律异或交换变量示例int main(){int a 3;int b 5;printf(交换前a%d b%d\n, a, b);a a ^ b; // a3^5b a ^ b; // b3^5^5 → b3a a ^ b; // a3^5^3 → a5printf(交换后a%d b%d\n, a, b);return 0;}移位运算符1. 左移 左边丢弃右边补0。示例◦ a7ba1 → 二进制左移1位结果为147*214◦ a-7ba1 → 补码左移1位结果为-142. 右移 ◦ 算术移位右边丢弃左边补原符号位◦ 逻辑移位右边丢弃左边补0◦ 注意移位运算符不要移动负数位按位或 |规则对应二进制位有一个为1则为1否则为0。运算符分类1. 算术运算符、-、*、/、%◦ /整型除法取整1/2→0浮点型除法保留小数1.0/2→0.5◦ %取模运算符两端必须是整数2. 移位运算符移动的是二进制位不支持浮点数◦ 左移 ◦ 右移 3. 位运算符按位与、|按位或、^按位异或整数的二进制表示整数的二进制有三种形式原码、反码、补码正数的原码、反码、补码相同负数需要计算1. 原码直接写出二进制最高位为符号位0正1负2. 反码原码符号位不变其他位按位取反3. 补码反码加14. 整数在内存中存储的是补码示例以-7为例32位整型• 原码10000000 00000000 00000000 00000111• 反码11111111 11111111 11111111 11111000• 补码11111111 11111111 11111111 11111001内存大小说明• 整型占4个字节1字节8比特位4字节32比特位• 正数最高位为0负数最高位为1