C零基础课程-10-算数运算符
Posted shellmad
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C零基础课程-10-算数运算符相关的知识,希望对你有一定的参考价值。
什么是运算符
运算符就是运算符号。C语言中的符号分为十大类:
- 赋值运算符
- 算术运算符
- 关系运算符
- 求字节数运算符
- 逻辑运算符
- 位操作运算符
- 条件运算符
- 逗号运算符
- 指针运算符
- 特殊运算符
赋值运算符在之前的课程中已经见过,比如:
int nValue = 0;
nValue = 100;
今天将重点学习算数运算符。
算数运算符
算术运算符包括加、减、乘、除、取余、自增、自减7种。
加、减、乘、除
基本使用
在C语言中,分别使用+,-,*,/来表示加、减、乘、除运算。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue1 = 100;
int nValue2 = 50;
printf("%d
", nValue1 + nValue2);
printf("%d
", nValue1 - nValue2);
printf("%d
", nValue1 * nValue2);
printf("%d
", nValue1 / nValue2);
return 0;
}
#include <stdio.h>
int main(int argc, char* argv[])
{
double dbValue1 = 100.5;
double dbValue2 = 7.5;
printf("%f
", dbValue1 + dbValue2);
printf("%f
", dbValue1 - dbValue2);
printf("%f
", dbValue1 * dbValue2);
printf("%f
", dbValue1 / dbValue2);
return 0;
}
运算的优先级
同我们数学课程中学过的优先级类似,乘法、除法的优先级是大于加法、减法的。
int main(int argc, char* argv[])
{
printf("%f", 3.0 + 4.0 * 5.0);
return 0;
}
取余运算符
在C语言中,%是取余运算符:
int main(int argc, char* argv[])
{
printf("%d
", 10 % 2);
printf("%d
", 7 % 2);
printf("%d
", 30 % 7);
printf("%d
", 29 % 7);
return 0;
}
对于a % b而言,其表达式的值是:a除以b所剩下的商。
取余运算符的常见作用之一:可以用来判断奇偶性(n % 2),用来限制数字的范围,比如n % b的话,结果是不会超过b数字范围。
关于优先级:取余的运算符的优先级和*, /是同级别的。
自增、自减
如果我们想将nValue的值增加1,并且将增加后的结果更新到nValue中,则可以:
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 5;
nValue = nValue + 1;
printf("%d
", nValue);
return 0;
}
对于减少1,并更新变量值,有类似代码:
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 5;
nValue = nValue - 1;
printf("%d
", nValue);
return 0;
}
为了简化这个过程,C语言中发明了自增、自减运算符(++、--)。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 5;
nValue++;
printf("%d
", nValue);
return 0;
}
自增(减)运算符的前置、后置问题。
对于前置自增运算符,它的步骤为:
- 先自增数值
- 然后表达式求值
举例:
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 5;
printf("%d
", ++nValue);
printf("%d
", nValue);
return 0;
}
其结果为:
6
6
而后置自增运算符,它的步骤为:
- 先表达式求值
- 再自增数值
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 5;
printf("%d
", nValue++);
printf("%d
", nValue);
return 0;
}
5
6
两者的区别总结如下:
前缀情况:
nResult = ++nValue;
相当于
nValue = nValue + 1;
nResult = nValue;
而后缀情况:
nResult = nValue++;
相当于:
nResult = nValue;
nValue = nValue + 1;
以上是关于C零基础课程-10-算数运算符的主要内容,如果未能解决你的问题,请参考以下文章