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

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程序执行的最小单位,一般以;结尾




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值