目录
一、操作符
简单介绍为主
1.1算术操作符
计算机中键盘是无法打出÷的(除非你说输入法),除法用 / 代替
%取模又称取余
除号的两端都是整数的时候,执行的是整数除法,如果两端只要有一个浮点数就执行浮点数的除法
#include <stdio.h>
int main()
{
float a = 7.0 / 2.0;
int b = 7 % 2;//取模
/* 取模操作符的两个操作符只能是整数*/
printf("%.2f\n", a); //.2f是说明小数保留几位
printf("%d\n", b);
return 0;
}
1.2移位操作符
1.3位操作符
1.4赋值操作符
C+=A 相当于 C = C +A
C -= A 相当于 C = C - A
C *= A 相当于 C = C * A
C /= A 相当于 C = C / A
C &= 2 等同于 C = C &2
C ^= 2 等同于 C = C ^ 2
C |= 2 等同于 C = C | 2
C >>= 2 等同于 C = C >> 2
C <<= 2 等同于 C = C << 2
1.5单目操作符
C语言中0表示假非0表示真
(1) + -
( 2 ) sizeof
#include <stdio.h>
int main()
{
//sizeof是操作符,是单目操作符
int a = 10;
printf("%d\n", sizeof(a)); //4
printf("%d\n", sizeof(int)); //4
printf("%d\n", sizeof a); //4
int arr[10] = { 0 };
printf("%d\n", sizeof(arr));//40 计算的是整个数组的大小,单位是字节
printf("%d\n", sizeof(arr[0]));//单个元素的字节
printf("%d\n", sizeof(arr) / sizeof(arr[0]));//10 - 数组的元素个数
return 0;
}
(3) -- ++
int a = 10;
int b = a++;//后置++,先使用,后++
int b = a; a=a+1;
int b = ++a;//前置++,前++,后使用
a=a+1;b=a;
(4)强制类型转换
字面浮点数,编译器默认理解为double类型
int a = (int)3.14;
int a = int(3.14);//error
printf("%d\n", a);//3
1.6关系操作符
1.7逻辑操作符
1.8条件操作符
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int r = (a > b ? a : b);
return 0;
}
1.9逗号表达式
#include <stdio.h>
//逗号表达式就是逗号隔开的一串表达式
//逗号表达式的特点是:从左向右依次计算,整个表达式的结果是最后一个表达式的结果
int main()
{
int a = 10;
int b = 20;
int c = 0;
// c=8 a=28 5
int d = (c=a-2, a=b+c, c-3);
printf("%d\n", d);
return 0;
}
1.10下标引用、函数调用和结构成员
[ ]下标引用符
#include <stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int n = 3;
arr[n] = 20;//[]就是下标引用操作符 arr和3就是[]的操作数
//a+b
return 0;
}
函数调用符 ( )
//函数调用操作符()
int Add(int x, int y)
{
return x+y;
}
int main()
{
int sum = Add(2, 3);//()就是函数调用操作符,Add,2,3都是()的操作数
return 0;
}