【C语言】- 8 - 操作符的分类

本文详细介绍了C语言中的各种操作符,包括算术、移位、位、赋值、单目、关系、逻辑、条件、逗号、下标引用、函数调用和结构成员操作符。特别强调了赋值操作符的使用规则以及前置和后置++/--的区别。还通过实例解释了取反操作符!和sizeof操作符的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言提供了非常丰富的操作符,使用起来就非常灵活

操作符

1.算数操作符

在这里插入图片描述

注意:
1.除号两端都是整数的时候,执行的是整数除法,如果两端只要有一个浮点数就执行浮点数除法
2.取模操作符的两个操作符只能是整数

2.移位操作符

有关二进制的运算
在这里插入图片描述

3.位操作符

在这里插入图片描述

4.赋值操作符

在这里插入图片描述

(1)赋值操作符 =

int a = 0;//初始化(碰见变量的同时给他一个值)
a = 20 ; //赋值

(2) += -= *= /=

a = a+3;
a += 3;//上面式子的简化 

5.单目操作符(只有一个数的操作符)

操作符用法
逻辑取反操作(0表示假的,非0表示真)
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
前置,后置–
++前置,后置++
(类型)强制类型转换
*间接访问操作符(解引用操作符)
~对一个数的二进制位按位取反
! :取反操作符的用法

例子

int main()
{
	int flag = 0;//给变量赋值0,说明flag为假
	if (!flag)//flag为假,!flag为真 if后面括号里面的内容是真,则进行下一步输出
		printf("hello\n");
	return 0;
}

打印结果为hello

int main()
{
	int flag = 2;//给变量赋值2,说明flag为真
	if (!flag)//flag为真,!flag为假  if后面括号里面的内容是假,则无法进行下一步输出
		printf("hello\n");
	return 0;

不打印

sizeof:单目操作符,并非函数:计算操作数的类型长度
int a = 0;
printf("%d\n",sizeof(a));//计算变量a的、长度
//输出结果为   4(单位是字节)
printf("%d\n",sizeof(int));//计算int类型的长度
//输出结果为   4
int arr[10] = {0};
printf("%d\n",sizeof(arr));//计算整个数组的大小
//输出结果是   40
printf("%d\n",sizeof(arr[0]));//计算整个数组第一个元素的大小
//输出结果是   4
printf("%d\n",sizeof(arr)/sizeof(arr[0]));//计算数组元素个数
//输出结果为  10
++ / - -

后置++的计算规则:先使用,后++
先把a值赋给b,之后a再进行+1

int a = 10;
int b = a++;//+加号在后面,即为后置++
printf("%d\n",a);//a = 11
printf("%d\n",b);//b = 10

前置++的计算规则:先++,后使用
先把a进行+1,再将a值赋给b

int a = 10;
int b = ++a;//+加号在前面,即为前置++
printf("%d\n",a);//a = 11
printf("%d\n",b);//b = 11

(类型)强制类型转换

int a = 3.14;
//3.14为浮点数,编译器默认这种字面浮点数为double类型
要想式子成立,将进行强制类型转换
int a =int3.14;
//强制类型转换需要把括号括在类型上
printf("%d\n",a);

6.关系操作符

在这里插入图片描述
!= 操作符:测试是否不相等 == 操作符:测试是否相等

7.逻辑操作符

在这里插入图片描述

8.条件操作符(三目操作符)- 有三个操作数

在这里插入图片描述

(a>b ? a : b)
//如果a>b表达式为真, 则式子结果为a
//如果a>b表达式结果为假, 则式子结果为b

int a = 10;
int b = 20;
int c = (a>b ? a : b);//a>b为假 c被赋予b的值
printf("%d\n",c);
//输出结果为 20

9.逗号表达式

逗号表达式:用逗号隔开的一串表达式
逗号表达式的特点是:从左向右 依次计算,整个表达式的结果为最后一个表达式的结果

int a = 10;
int b = 20;
int c = 0;
int d = (c = a-2 , a = b+c , c-3);
//c=10-2=8,a=20+8=28,c-3=8-3=5;
printf("%d\n",d);//d为最后一个表达式的值

输出结果为 5

10.下标引用,函数调用和结构成员

在这里插入图片描述

  1. int arr[3] = 10;
    [ ] :下标引用操作符 arr 和3 就是[ ] 的操作数

  2. ( )
    函数调用操作符

int Add(int x,int y)
{
	return (x+y);
}
int main()
{
	int sum = Add (2,3);//此处的括号就是函数调用操作符,Add ,2, 3都是(的操作数)
	return 0}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值