2026/4/2 11:40:06
网站建设
项目流程
wordpress网站资源,学网络工程师培训学校,哪里有网站做爰视频,免登录直接玩的游戏1. 算术操作符 - * / % #xff08;1#xff09; 除了%操作符之外#xff0c;其他的几个操作符可以作用于整数和浮点数。 #xff08;2#xff09; 对于/操作符如果两个操作数都为整数#xff0c;执行整数除法。而只要有浮点数执行的就是浮点数除法。 #xff08;3 - * / %1 除了%操作符之外其他的几个操作符可以作用于整数和浮点数。2 对于/操作符如果两个操作数都为整数执行整数除法。而只要有浮点数执行的就是浮点数除法。3%操作符的两个操作数必须为整数。返回的是整除之后的余数。例如#define _CRT_SECURE_NO_WARNINGS#include stdio.hint main(){int a 7 % 2;//7/2...1int b 7 / 2;printf(%d\n, a);//1printf(%d\n, b);//1return 0;}运行结果为1 32. 移位操作符二进制 左移操作符 右移操作符注移位操作符移动的是二进制位;移位操作符的操作数只能是整数补充116进制0~9 a~f0~9 10~1510进制0~92进制0~18进制0~72整数的二进制表示有3种原码反码和补码①正的整数的原码、反码、补码相同②负的整数的原码、反码、补码是要计算的例如700000000000000000000000000000111 - 原码00000000000000000000000000000111 - 反码00000000000000000000000000000111 - 补码-710000000000000000000000000000111 - 原码11111111111111111111111111111000 - 反码原码的符号位不变其他位按位取反就是反码11111111111111111111111111111001 - 补码反码1就是补码注整数在内存中储存的是补码int main(){int a 7;////左移操作符//移动的是二进制位//int b a 1;printf(a%d\n, a);printf(b%d\n, b);return 0;}运行结果为7 14左移操作符左边丢弃右边补0int main(){int a -7;////左移操作符//移动的是二进制位//int b a 1;printf(a%d\n, a);printf(b%d\n, b);return 0;}运行结果为a-7b-14右移操作符算术移位右边丢弃左边补原符号位逻辑移位右边丢弃左边补0int main(){int a 7;int b a 1;printf(a%d\n, a);printf(b%d\n, b);return 0;}运行结果为a7b3注意对于移位运算符不要移动负数位这个是标准未定义的3. 位操作符 //按位与| //按位或^ //按位异或注他们的操作数必须是整数int main(){int a 3;int b -5;int c a b;//00000000000000000000000000000011 - 3的补码//10000000000000000000000000000101//11111111111111111111111111111010//11111111111111111111111111111011 - -5的补码//00000000000000000000000000000011 - 3的补码//00000000000000000000000000000011////%d意味着打印一个有符号的整数//printf(c%d\n, c);return 0;}运行结果为c3int main(){int a 3;int b -5;int c a | b;//00000000000000000000000000000011 - 3的补码//10000000000000000000000000000101//11111111111111111111111111111010//11111111111111111111111111111011 - -5的补码//00000000000000000000000000000011 - 3的补码//11111111111111111111111111111011//11111111111111111111111111111010//10000000000000000000000000000101//-5//%d意味着打印一个有符号的整数//printf(c%d\n, c);return 0;}运行结果为c-5int main(){int a 3;int b -5;int c a ^ b;//00000000000000000000000000000011 - 3的补码//10000000000000000000000000000101//11111111111111111111111111111010//11111111111111111111111111111011 - -5的补码//00000000000000000000000000000011 - 3的补码//11111111111111111111111111111000//11111111111111111111111111110111//10000000000000000000000000001000////%d意味着打印一个有符号的整数//printf(c%d\n, c);return 0;}运行结果为c-8//不能创建临时变量第三个变量实现两个数的交换。//int main(){int a 3;int b 5;printf(交换前: a%d b%d\n, a, b);a a ^ b;b a ^ b;a a ^ b;printf(交换后: a%d b%d\n, a, b);return 0;}交换前: a3 b5交换后: a5 b34. 赋值操作符赋值操作符是一个很棒的操作符他可以让你得到一个你之前不满意的值也就是你可以给自己重新赋值int weight 120;//体重weight 89;//不满意就赋值double salary 10000.0;salary 20000.0;//使用赋值操作符赋值。赋值操作符可以连续使用比如int a 10;int x 0;int y 20;a x y1;//连续赋值复合赋值符-*/%|^这些运算符都可以写成复合的效果5.单目操作符| 操作符 | 功能说明 ||--------|----------||! | 逻辑反操作 || - | 负值 || | 正值 || | 取地址 || sizeof | 操作数的类型长度以字节为单位 || ~ | 对一个数的二进制按位取反 || -- | 前置、后置-- || | 前置、后置 || * | 间接访问操作符(解引用操作符) |int main(){int arr[5] {0};printf(%d , sizeof(arr));//int a 10;////int n sizeof(a);//计算的是a所占内存的大小单位是字节//int n sizeof(int);////sizeof是一个操作符////计算的是变量所占内存空间的大小,单位是字节////计算类型所创建的变量占据空间的大小,单位是字节////////printf(n%d\n, n);return 0;}