C零基础课程-10-算数运算符

这篇博客介绍了C语言中的算数运算符,包括加、减、乘、除、取余以及自增和自减。内容涵盖运算符的使用、优先级,特别是自增和自减运算符的前置和后置问题,帮助初学者理解这些运算符的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


视频地址: https://www.bilibili.com/video/av73897508

什么是运算符

运算符就是运算符号。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\r\n", nValue1 + nValue2);
    printf("%d\r\n", nValue1 - nValue2);
    printf("%d\r\n", nValue1 * nValue2);
    printf("%d\r\n", nValue1 / nValue2);
    return 0;
}
#include <stdio.h>

int main(int argc, char* argv[])
{
    double dbValue1 = 100.5;
    double dbValue2 = 7.5;
    printf("%f\r\n", dbValue1 + dbValue2);
    printf("%f\r\n", dbValue1 - dbValue2);
    printf("%f\r\n", dbValue1 * dbValue2);
    printf("%f\r\n", 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\r\n", 10 % 2);
    printf("%d\r\n", 7 % 2);
    printf("%d\r\n", 30 % 7);
    printf("%d\r\n", 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\r\n", nValue);
    return 0;
}

对于减少1,并更新变量值,有类似代码:

#include <stdio.h>

int main(int argc, char* argv[])
{
    int nValue = 5;
    nValue = nValue - 1;
    printf("%d\r\n", nValue);
    return 0;
}

为了简化这个过程,C语言中发明了自增、自减运算符(++、–)。

#include <stdio.h>

int main(int argc, char* argv[])
{
    int nValue = 5;
    nValue++;
    printf("%d\r\n", nValue);
    return 0;
}

自增(减)运算符的前置、后置问题。

对于前置自增运算符,它的步骤为:

  • 先自增数值
  • 然后表达式求值
    举例:
#include <stdio.h>

int main(int argc, char* argv[])
{
    int nValue = 5;
    printf("%d\r\n", ++nValue);
    printf("%d\r\n", nValue);
    return 0;
}

其结果为:

6
6

而后置自增运算符,它的步骤为:

  • 先表达式求值
  • 再自增数值
#include <stdio.h>

int main(int argc, char* argv[])
{
    int nValue = 5;
    printf("%d\r\n", nValue++);
    printf("%d\r\n", nValue);
    return 0;
}
5
6

两者的区别总结如下:
前缀情况:

nResult = ++nValue;

相当于

nValue = nValue + 1;
nResult = nValue;

而后缀情况:

nResult = nValue++;

相当于:

nResult = nValue;
nValue = nValue + 1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值