(1.)算数操作符
我们在写一段段程序或是一条条代码时都会用到一个叫做操作符的东西,而且在写代码的时候。一定会涉及到计算,那么c语言为了方便计算,提供了一系列操作符,其中有一组操作符叫做算数操作符。分别为+、-、*、/、%,这些操作符都是双目操作符。
- 操作符:+、-
+与-操作符都是用来完成加法与减法操作的,它们都是有两个操作数符,位于操作符两端的就是它们的操作数,这种操作符也叫做双目操作符,就像数学算式一样,在c语言中,+与-的操作与数学中的操作无异,都是用来处理加法与减法的,就像下面一样:
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
printf("%d", a + b);
return 0;
}
这段代码就使用了操作符+,首先输入两个数值a与b,然后通过操作符+来将它们相加然后输出打印。
- 操作符*
同上,操作符*是用来处理乘法操作的
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
printf("%d", a%b);
return 0;
}
- 操作符/
操作符/是用来完成除法操作的,值得一说的是c语言中有整形数据与浮点型数据的区分,那么除法也同样有区分,除号的两端如果是整数,执行的是整数除法,得到的结果也是整数,否则当除号某一端为浮点数(小数)时得到的结果也会是浮点数。
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
printf("%d", a/b);
return 0;
}
- 操作符%
操作符%表示求模运算,即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点数。
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
printf("%d", a % b);
return 0;
}
求模的规则是结果的正负号是由第一个运算数的正负号决定。
如果我第一个数字的符号为-时那么得到1得到的结果也为负值。
同样若第一个数的值为正值时,得到的结果也为正值。
(2.)赋值操作符
- 操作符=
在变量创建的时候给一个初始值叫初始化,在变量创建好后,再给一个值,这样就叫做赋值。
赋值操作符=是一个随时可以给变量赋值的操作符。
- 连续赋值
赋值操作符也可以连续赋值,就像
int a = 50;
int b = 200;
int c = 100;
c = a = b + 100;
最后打印c或a的值便会出现300.
- 复合赋值符
c语言中提供了复合赋值符,方便我们编写代码,这些赋值符有:
+=、-=、*=、/=、%=等赋值操作符
复合赋值符+=表示的意思是先将运算符左边的数值与右边的数值先相加然后将结果赋值给结果就像这样:
int a = 50;
int b = 200;
int c = 100;
printf("%d", a+=200);
最后的结果就会输出250.
剩下的赋值操作符也是同样的运算规则。
(3.)单目操作符
讲完了双目操作符接下来我们介绍一下单目操作符++、--、+、-
- 单目操作符++与--
++是一种自增的操作符又分为前置++和后置++,--是一种自减的操作符,也分为前置--和后置--。
前置++:
如图所示,在变量a的前面加上++便是前置++的格式,它是先加加后使用,也就是说在打印出++a的值前其实a已经加了一个1的值所以才会打印出51.接下来看下面的这张图,
看完不免会发现为什么这里打印的又是50了呢?它明明不是++吗,这就是后置++,先使用后加1,也就是说在打印的时候a的值是不变的,只有打印完了之后才会进行加1操作,--也是一样也分为前置--与后置--。
(4.)占位符
在写程序中我们是否经常看见一个%d这样的符号,这就是占位符,所谓的占位符就是这个位置可以用其他值来代入,当然占位符不止%d这一个,也有%s这样表示代入字符串的占位符。
常用占位符有:
%a:十六进制浮点数,字母输出为小写。
%A:十六进制浮点数,字母输出为大写。
%c:字符。
%d:十进制整数。
%e:使用科学计数法的浮点数,指数部分的e为小写。
%E:使用科学计数法的浮点数,指数部分的E为大写。
%i:整数,基本等同于%d。
%f:小数(包括float类型与double类型)。
%g:6个有效数字的浮点数。整数部分一旦超出6位,就会自动转为科学计数法,指数部分的e为小写。
%G:等同于%g,唯一区别是指数部分E为大写。
%hd:十进制short int类型。
%ho:八进制short int类型。
%hx:十六进制short int类型。
%hu:unsigned short int类型。
%ld:十进制long int类型。
%lo:八进制long int类型。
%lx:十六进制long int 类型。
%lu:unsigned long int 类型。
%lld:十进制long long int类型。
%llo:八进制long long int 类型。
%llx:十六进制long long int 类型。
%le:科学计数法表示的long double 类型浮点数。
%n:已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中。
%o:八进制整数。