一篇文章带你初步了解c语言操作符基础知识

操作符

算术操作符

+    -    *    /    %

+:做加法使用

-:做减法使用,

*:做乘法使用

/:做除法使用,除号的两端都是整数的时候,执行的是整数除法,如果两端只要有一个浮点数就执行浮点数的除法

%:求余数使用,注意:%俩边必须都为整形,如4%2,不能出现其它形式字符如:4.0%2.0或4.0%2这样是错的

/和%举例

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5Yia5p2o,size_20,color_FFFFFF,t_70,g_se,x_16

当%俩边出现浮点数时,此时会报错

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5Yia5p2o,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5Yia5p2o,size_19,color_FFFFFF,t_70,g_se,x_16

位移操作符

>>  <<

箭头朝左,表示左移,箭头朝右,表示右移

移位操作符可以在二进制的基础上对数字进行平移

位操作符

& :按位与操作(二进制下)

^ :按位异或操作(二进制下)

|  :按位或操作(二进制下)

赋值操作符

=: a=5;b=a;此时a等于5,b也等于5,时等号左边的字符等于等号右边的字符

+=:加赋值,列:a=5;a=a+5;将a=a+5可简化位a+=5

-=:减赋值,列:a=5;a=a-5;将a=a+5可简化位a-=5

*=:乘赋值,列:a=5;a=a*5;将a=a*5可简化位a*=5

/=:除赋值,列:a=5;a=a/5;将a=a*5可简化位a/=5

&=:按位与赋值

^=:按位异或赋值

 |=:按位或赋值

>>=:左移后赋值

 <<=:右移后赋值

单目操作符

单目操作符 含义
逻辑反操作
+ 正值
- 负值
& 取地址操作
sizeof 计算操作数的类型长度,单位为字节
~ 按位取反
-- 分为前置--和后置--
++ 分位前置++和后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5Yia5p2o,size_20,color_FFFFFF,t_70,g_se,x_16

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 2;
	int* c = &a;
	printf("%d\n", !a);//逻辑反操作
	printf("%d\n", a+b);//正值
	printf("%d\n", a-b);//负值
	printf("%d\n", sizeof(int)); //计算int型所占字节大小
	printf("%d\n", --a); //先--,再使用a=10;--a,a为9,打印9
	printf("%d\n", a--); //先使用,再--,a=9,先打印9,再--,加完后a=8
	printf("%d\n", ++a);//先++,再使用a=9;++a,a为9,打印9
	printf("%d\n", a++);//先使用,再++,a=9,先打印9,再++,加完后a=10
	printf("%d\n", *c);//对c进行解引用
	printf("%f\n", (float)a); //将a强制转化为float型
	return 0;
}

关系操作符

关系操作符 含义
== 判断是否相等
!= 判断是否不等
>= 判断是否大于等于
<= 判断是否小于等于
> 判断是否大于
< 判断是否小于

逻辑操作符

逻辑操作符 含义
&& 逻辑与
|| 逻辑或

条件操作符

exp1 ? exp2 : exp3,如果exp1为真则执行exp2,否则执行exp3

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5Yia5p2o,size_20,color_FFFFFF,t_70,g_se,x_16

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 2;
	a == b ? printf("YES") : printf("NO");
	return 0;
}

 逗号表达式

exp1, exp2, exp3, …expN 逗号表达式以期最后一个逗号后的语句作为输出语句

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5Yia5p2o,size_16,color_FFFFFF,t_70,g_se,x_16

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 2;
	printf("%d", (a, b));
	return 0;
}

 下标引用、函数调用和结构成员

[]  () . ->     (这里后期会更新)

常见关键字

auto  break   case  char  const   continue  default  do   double else  enum   extern float  for   goto  if   int   long  register    return   short  signed sizeof   static struct  switch  typedef union  unsigned   void  volatile  while

define不是关键字

变量的命名:

                      1.必须要有意义

                      2.必须是由数字,字母和下划线_组成的

                      3.开头必须是字母或下划线

                       4.关键字不能做变量名

                   

猜你喜欢

转载自blog.csdn.net/weixin_49449676/article/details/124057865