C语言_3 运算符与表达式

3 运算符与表达式

3.1 常用运算符分类
运算符类型
算术运算符 用于处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,并返回一个真值或假值
逻辑运算符 用于分局表达式的值返回真值或假值
位运算符 用于处理数据的运算符
sizeof运算符 用于求字节长度

3.2 算术运算符
在这里插入图片描述
0不能作为除数,%取余只能对整型操作

#include<stdio.h>
int main01()
{
	int a = 10;
	//a = a+1;//11
	//++a;//前自增 推荐写这种
	//a++;//后自增
	int b = ++a * 10;
	printf("%d\n", b);//110 先自增之后再计算表达式
	printf("%d\n", a);//11 

	int b = a++ * 10;
	printf("%d\n", b);//100 先计算表达式之后再自增
	printf("%d\n", a);//11
	return 0;
}

3.3 赋值运算符
在这里插入图片描述

#include<stdio.h>
int main02()
{
	int a = 10;
	//a = a + 5;
	a += 5;
	printf("%d\n", a);
	return 0;
}

3.4比较运算符
C语言的比较运算中,“真”用数字“1”来表示,假 0。
在这里插入图片描述

#include<stdio.h>
int main03()
{
	int a = 10;
	int b = 20;
	printf("%d\n", a == b);
	
	int a = 10;
	int b = 20;
	int c = 10;
	//单目运算符计算优先级高于双目运算符
	printf("%d\n", c = ++a <= b *2);//计算顺序:++a;b*2;++a <= b *2;赋值给c 
	printf("%d\n", a);//11
	printf("%d\n", b);//20
	printf("%d\n", c);//1
	return 0;
}

3.5 逻辑运算符
所有非0的值都是真值
在这里插入图片描述
3.6 运算符优先级
在这里插入图片描述
3.7 类型转换
数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。
转换的方法有两种:

  • 自动转换(隐式转换):遵循一定的规则,由编译系统自动完成。
  • 强制类型转换:把表达式的运算结果强制转换成所需的数据类型。
    类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。
    在这里插入图片描述
    3.7.1 隐式转换
    3.7.2 强制类型转换
    强制类型转换指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型。
    语法格式:(类型说明符)(表达式)
#include<stdio.h>
int main04()
{
	float p = 3.14;
	int w = 2;
	double sum = p * w;
	//隐式转换 低类型-->高类型
	printf("%lf\n", sum);

	float p = 3.567;
	int w = 2;
	//强制类型转换 低类型-->高类型 不会四舍五入
	int sum1 = (int)p * w;//6 只对p进行强制类型转换
	int sum2 = (int)(p * w);//7 计算后对结果进行强制类型转换
	printf("%d\n", sum1);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值