文章目录
操作符
因为是初始c语言所以们只进行简单的介绍,之后会和大家一起进行深入学习。
算数操作符
+ - * / %
分别是 加、减、乘、除、取余的操作符
注意/
两端的操作数如果都是整数,执行的为整数除法,如果至少有一个操作数是浮点数执行的才是浮点数的除法。下面代码的结果为result = 1.0;result2 = 1.5;
。
#include<stido.h>
int main()
{
float result = 0;
float result2 = 0;
result = 6 / 4;
result2 = 6 / 4.0;
printf("%.1f\n%.1f\n", result, result2);
return 0;
return 0;
}
移位操作符
>> <<
将二进制的位整体向右或者向左移动一位。
赋值操作符= += -= *= /= &= ^= != >>= <<=
赋值操作符的作用就是给某个变量赋值,是算术运算符和赋值的一种简便写法,具体的用法和利弊咱们以后再说,现在大概了解这是什么东西就可以了。
单目操作符
!
逻辑反操作
-
负值
+
正值·
&
取地址
~
对一个数的二进制按位取反
--
前置、后置--
++
前置、后置++
*
间接访问操作符(解引用操作符)
(类型)
强制类型转换
这里我们简单介绍一下-- ++
的作用,我们直接上代码。如下图我们输出的a的值为4,b的值为5。
#include<stdio.h>
int main ()
{
int b = 5;
int a = 5;
b = a--;
printf("%d%d", a, b);
}
如果我们把代码改成下面这样,那么输出的就是a = 4,b = 4,造成这样的原因是什么呢?是因为--
前置,需要先进行减法操作在调用a,而后置--
是先调用a之后在进行自减操作。++
的使用方法与--
相同。
#include<stdio.h>
int main ()
{
int b = 5;
int a = 5;
b = --a;
printf("%d%d", a, b);
}
关于其他的单目操作符等后期再给大家一一详解。
关系操作符
>
>=
<
<=
!=
用于测试“不相等”
==
用于测试“相等”
关系操作符的作用,都是对两个操作数进行判断。值得关注的一点是,在字符串的比较上==
是不能判断两个字符串相等的,应该使用strcmp
判断。因为使用==
对两个字符串判断,比较的并不是字符串中的内容,而是储存该字符串内存的地址。
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "abcdef";
char arr2[] = "abcdef";
if (strcmp(arr1, arr2) == 0)
{
printf("==\n");
}
else
{
printf("!=\n");
}
return 0;
}
其他关系操作符的用法我们也在后续的学习使用时在进行介绍。
逻辑操作符
&&
- 逻辑与 - 并且
||
- 逻辑与 - 或者
逻辑操作符关注的是真假,具体的使用方法如下
#include<stdio.h>
int mian()
{
int a = 0;
int b = 1;
int c = a && b;
int c2 = a || b;
printf("%d%d", c, c2);
return 0;
}
输出c的值为0因为&&
是并且的意思,需要两边的操作数都为1输出的值才为1,||
表示或者,只要有1存在最后输出的就是1,大家可以自己练习一下,感受一下逻辑操作符的用法与作用。
条件操作符(三元操作符)
exp1 ?exp2 : exp3
三元操作符的含义跟if
选择语句差不多,对exp1进行判断,如果成立则输出exp2,不成立就输出exp3。如下图,代码的含义就是a是否大于4,如果是b = 3,如果不是 b = 10。
#include<stdio.h>
int main()
{
int a = 5;
int b = 0;
(a > 4) ? (b = 3) : (b = 10);
b = (a > 5 ? 3 : 10);//这样写符合语法,而且更加美观
printf("%d", b);
return 0;
}
逗号表达式
exp1,exp2,exp3,...expn
下标引用、函数的调用和结构成员
[] () . ->
逗号表达式的特点:从左向右依次计算,整个表达式的结果为最后一个表达式的结果。
int a = 3;
int b = 5;
int c = 0;
int d = (a += 2, b=b-c+a, c=a+b);
//a=5 b=10 c=5+10
printf("%d\n", d);
printf("%d %d %d\n", a, b, c);
return 0;
所以最后的结果为d = 15
,因为逗号表达式的结果为最后一个表达式结果。
简单介绍一下[] ()
#include<stdio.h>
int main ()
{
int arr[10] = {0};//0~9
arr[4] = 5;
printf("%d\n",arr[4]);
// arr 4 是[]的两个操作数
printf("%d\n"4[arr]);//验证arr 4 是[]的两个操作数
return 0;
}
函数调用操作符()
,在下面的代码中()
的操作时是Add,2,3。.
#include<stdio.h>
int main ()
{
int c = Add(2,3);
printf("%d",c);
return 0 ;
}
int Add(int x , int y)
{
return x+y;
}
以上简单介绍了一下c语言中操作符的基本用法,没有介绍到的,在之后的学习中也会跟大家分享,感谢的大家的阅读。