一、C语言编程规范
1.标识符的命名
2.缩进
3.空格
4.换行
5.括号
6.注释
二、运算符
1.算术运算符:
-
-
- / % ++ –
注意:++或者–放在操作数前面:先加或减一,然后将结果纳入表达式去运算
++或者–放在操作数后面:先将原值纳入表达式去,然后载自加或自减
- / % ++ –
-
2.关系运算符:
< >= <= == !=
3.逻辑运算符:
&& || !
4.位运算符:(按位运算)
& | ~ ^ << >>
&按位与 |按位或 ^按位异或 ~按位取反
5.赋值运算符:
= += -= *= /= &= |= <<= >>= ^=
6.三目运算符:
(表达式1)?(表达式2):(表达式3)
7.其他运算符:
sizeof [] & * . -> ,
运算符的目:
单目:一个操作数
双目:两个操作数
三目: ? :
操作数:可以是常量、变量、表达式、函数调用
(常量不能作为赋值运算符的左值)
练习:
有一个未知值的整型变量a,写一个表达式实现:
高位到低位: 31位——0位
(1)将a的第5位设置为0, 其他位不变
int a = 0x29;
0010 1001
& 1101 1111
0000 1001
-
1<<5
-
0010 0000
1101 1111
a &= ~(1<<5);
(2)将a的第10位设置为1, 其他位不变
a |= (1<<10);
(3)将a的第15位取反, 其他位不变
a ^= (1<<5);
(4)判断第20位的值是否为1?
是否为0?
if(a & (1<<20)) 真说明20位为1,假为0
(a>>20) & 0x1 结果为1那么20位为1,结果为0说明20为为0
#include<stdio.h>
int main(int argc, char const *argv[])
{
int a,b1,b2,b3,b4;
scanf("%d",&a);
b1 = a&~(1<<5);
b2 = a|(1<<10);
b3 = a^(1<<15);
b4 = (a>>7)%2;
printf("%d\n,%d\n,%d\n,%d\n",b1,b2,b3,b4 );
return 0;
}