您的位置:首页 > 其它

(四)运算符、表达式和语句

2016-09-16 22:59 211 查看
1、运算符:

1》赋值运算:=    左值和右值类型要对应,将数据存放到某个内存空间中的过程就是赋值,例如:

int a,b,c;

a = 100;   //将100存放到a的空间中

b = a; //将a中的数据存放到b的空间中

c = a + b; //将a+b的运算结果存放到c的空间中

---》左值:

1)在赋值号的左边,

2)表示变量所对应的内存空间,

3)必须是变量

---》右值:

1)在赋值号的右边,

2)表示数值或者地址

3)变量,常量,表达式,指针(地址)

2》算术运算:+ - * / % ++ --

不同类型数据运算时,运算结果与类型较大的操作数相同

取余运算:两边的操作数必须是整型的

++/-- :运算时,如果操作数在前,则先运算后自加或自减,反之,先自加或自减然后运算

3》关系运算:> >= < <= == !=

关系运算结果的类型:布尔型(真/假)

4》逻辑运算:! && ||

#include <stdio.h>
#include <stdbool.h>

int main(void)
{
int a,b;
bool c;

a = 100;
b = 200;
printf("a = %d\n",a);
printf("b = %d\n",b);

//c = !a;    //a非零为真,逻辑取反变假
//c = a && b;
//printf("c = %hhd\n",c);

c = a || (b = 123);   //当a为真时,表达式b = 123不会执行
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("c = %hhd\n",c);

return 0;
}
5》位运算:~  & | ^ << >>

#include <stdio.h>

int main(void)
{
char a,b,c;
a = 5;
b = 3;

c = ~a;
printf("c = %hhd\n",c);
c = a & b;
printf("c = %hhd\n",c);
c = a | b;
printf("c = %hhd\n",c);
c = a ^ b;
printf("c = %hhd\n",c);
c = a<<2;
printf("c = %hhd\n",c);
c = a>>2;
printf("c = %hhd\n",c);
c = -a>>2;
printf("c = %hhd\n",c);
return 0;
}


6》复合运算:+=  *=  ^=  ~=等
当变量同时出现在赋值号的左右两边时,可以使用复合运算符

#include <stdio.h>

int main(void)
{
int a,b,c;
a = 100;
b = 200;
//a = a + b;
a += b;

return 0;
}
7》条件运算:  ? :
表达式1 ?表达式2 : 表达式3   =  表达式1为真,则取表达式2的值,否则取表达式3的值
int a = 3,b = 5,c;

c = a<b?a:b;

8》逗号运算:  ,
c = (a=123,b=456,a+b);
printf("c = %d\n",c);

9》sizeof:用于计算变量或者类型的长度(字节数)
----》计算类型的长度:

#include <stdio.h>

int main(void)
{
int len,a = 100;

len = sizeof(int);
printf("len = %d\n",len);
len = sizeof(long);
printf("len = %d\n",len);
len = sizeof(double);
printf("len = %d\n",len);

return 0;
}
--->计算数据的长度:该数据占用内存的字节数

len = sizeof(a);
printf("len = %d\n",len);
len = sizeof ("hello");
printf("len = %d\n",len);

2、表达式
只要是表达式,它都有运算结果,这个结果要么是数值,要么是逻辑值(真假值)

3、语句
是c程序执行的最小单位,一般以;结尾
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: