【C 语言极简自学笔记】C 语言操作符全面解析:从基础到进阶

操作符是一种告诉编译器执行特定的数学或逻辑操作的符号,C 语言操作符是编程的基石,熟练掌握运算符的用法,是编写高效 C 程序的基础。本文将系统梳理 C 语言操作符的分类、优先级及常见误区,并通过示例代码助你快速掌握。

一.算术操作符

a与b是两个操作数

算术操作符描述
+把两个操作数相加
-从第一个操作数中减去第二个操作数
*把两个操作数相乘
/分子除以分母
%取模运算符,整除后的余数

注意:1.除号的两端都是整数的时候执行的是整数的除法,两端只要有一个浮点数,就执行浮点数  的除法;
           2.%取模两端必须为整数 。

int a = 8 / 3;
int b = 8 % 3;
printf("%d\n",a);//2
printf("%d\n",b);//2
float a = 8 / 3.0;
int b = 8 % 3;
printf("%.2f\n", a);
printf("%d\n", b);

 

 二.赋值操作符

运算符描述
=简单的赋值运算符,把右边操作数的值赋给左边操作数
+=加且赋值运算符,把左边操作数加上右边操作数的结果赋值给左边操作数
-=减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
*=乘且赋值运算符,把左边操作数乘以右边操作数的结果赋值给左边操作数
/=除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
%=求模且赋值运算符,求两个操作数的模赋值给左边操作数
int a = 1;
a += 3;
printf("%d\n",a);//4

 三.单目操作符

序号运算符描述
1
!          
逻辑反操作
2-          负值
3+          正值
4&          取地址
5
sizeof      
操作数的类型长度(以字节为单位)
7--          前置、后置--
8++          前置、后置++
9
*          
间接访问操作符(解引用操作符)
10(类型)      强制类型转换

1.!

!称为逻辑非运算符,用来逆转操作数的逻辑状态,如果条件为真则逻辑非运算符将使其为假。 

2.-、+

int a = -1;
int b = -a;
printf("%d\n",b);//1

3.&(此处定义为取址符号)

int a = 0;
printf("输入数a:");
scanf("%d",&a);

4.sizeof

返回变量的大小,即返回操作数的类型长度(以字节为单位)

printf("%d\n",sizeof(char));//1
printf("%d\n", sizeof(short));//2
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof(long));//4
printf("%d\n", sizeof(long long));//8
printf("%d\n", sizeof(float));//4
printf("%d\n", sizeof(double));//8
int a = 5;
printf("%d\n",sizeof(a));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof a);
printf("%d\n", sizeof int);//错误写法


int arr[10] = { 0 };
printf("%d\n",sizeof(arr));//40
printf("%d\n",sizeof(arr[0]));//4    0是指数组中的元素
printf("%d\n",sizeof(arr)/sizeof(arr[0]));//10 -- 数组的元素的个数

5.--、++

++为自增运算符,整数值增加 1,--为自减运算符,整数值减少1,当为后置++或--时,先使用后运算;当为前置时,先运算后使用。

int a = 1;
int b = a++;//后置++
printf("%d\n",b);//1
printf("%d\n",a);//2
int a = 5;
int b = --a;//前置--
printf("%d\n",b);//4
printf("%d\n",a);//4

6.(类型)

可以通过该运算符将浮点数强制转换为整型

int a = 1.1//错误
int a = (int) 1.1;
printf("%d\n", a);//输出1

四.逻辑操作符

1.&&——逻辑与

&&称为逻辑与操作符,如果两个操作数都非零,则条件为真。

int a = 1;
int b = 2;
if(a && b)
printf("Yes\n");

若两个操作数中至少有一个为0,或者两个都为0,则为假。 

2.||——逻辑或

||称为逻辑或操作符,如果两个操作数中有任意一个非零,则条件为真。

若两个操作数均为0,则条件为假

五.条件操作符

exp1 ? exp2 : exp3 :又称为三目操作符,当条件1为真时,整个表达式的结果为表达式2的结果;当条件1为假时,整个表达式的结果为表达式3的结果。

int a = 10;
int b = 20;
int r = a > b ? a:b;
printf("%d\n",r);//20

六.逗号表达式

exp1,exp2,exp3,......,expN :逗号表达式就是用用逗号隔开的一串表达式,逗号表达式的特点是从左向右依次计算,整个表达式的结果是最后一个表达式的计算结果。


	int a = 10;
	int b = 20;
	int c = 0;
	int d = (c = a - 2, a = b + c, c - 3);
	printf("%d\n",d);//5

以上内容为初学阶段所涉及到的,涉及其他的将在后续内容更新!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值