当前位置: 首页 > news >正文

C语言入门教程100讲(8)算术运算符

文章目录

      • 1. 什么是算术运算符?
      • 2. 算术运算符的使用
        • 2.1 加法(`+`)
        • 2.2 减法(`-`)
        • 2.3 乘法(`*`)
        • 2.4 除法(`/`)
        • 2.5 取模(`%`)
      • 3. 示例代码
        • 代码解析:
        • 输出结果:
      • 4. 常见问题
        • 问题 1:整数除法和浮点数除法有什么区别?
        • 问题 2:取模运算符可以用于浮点数吗?
        • 问题 3:如何避免整数溢出?
      • 5. 扩展练习

1. 什么是算术运算符?

算术运算符是用于执行基本数学运算的符号。C 语言中常用的算术运算符包括:

  • 加法(+
  • 减法(-
  • 乘法(*
  • 除法(/
  • 取模(%

2. 算术运算符的使用

2.1 加法(+

用于计算两个数的和。例如:

int a = 10;
int b = 20;
int sum = a + b;  // sum 的值为 30
2.2 减法(-

用于计算两个数的差。例如:

int a = 20;
int b = 10;
int difference = a - b;  // difference 的值为 10
2.3 乘法(*

用于计算两个数的积。例如:

int a = 5;
int b = 4;
int product = a * b;  // product 的值为 20
2.4 除法(/

用于计算两个数的商。例如:

int a = 20;
int b = 4;
int quotient = a / b;  // quotient 的值为 5
  • 注意:如果两个整数相除,结果会截断小数部分。
2.5 取模(%

用于计算两个数相除的余数。例如:

int a = 20;
int b = 3;
int remainder = a % b;  // remainder 的值为 2
  • 注意:取模运算符只能用于整数。

3. 示例代码

以下是一个使用算术运算符的示例程序:

#include <stdio.h>

int main() {
    int a = 20;
    int b = 3;

    // 算术运算
    int sum = a + b;
    int difference = a - b;
    int product = a * b;
    int quotient = a / b;
    int remainder = a % b;

    // 输出结果
    printf("和: %d\n", sum);
    printf("差: %d\n", difference);
    printf("积: %d\n", product);
    printf("商: %d\n", quotient);
    printf("余数: %d\n", remainder);

    return 0;
}
代码解析:
  1. 算术运算

    • 分别计算两个数的和、差、积、商和余数。
  2. 输出结果

    • 使用 printf 输出运算结果。
输出结果:
和: 23
差: 17
积: 60
商: 6
余数: 2

4. 常见问题

问题 1:整数除法和浮点数除法有什么区别?
  • 整数除法会截断小数部分,而浮点数除法会保留小数部分。例如:
    int a = 5;
    int b = 2;
    float result = (float)a / b;  // result 的值为 2.5
    
问题 2:取模运算符可以用于浮点数吗?
  • 不可以。取模运算符只能用于整数。
问题 3:如何避免整数溢出?
  • 使用更大的数据类型(如 longlong long)存储结果,或检查运算结果是否超出范围。

5. 扩展练习

  1. 修改程序,计算两个浮点数的和、差、积、商,并输出结果。
  2. 编写一个程序,计算一个数的平方和立方。
  3. 尝试使用取模运算符判断一个数是否为偶数。

相关文章:

  • Redis缓存与数据库 数据一致性保障
  • 2:认识数据库
  • 在 .NET 9.0 Web API 中实现 Scalar 接口文档及JWT集成
  • CIFAR10 数据集自定义处理方法
  • Spring Boot 整合 OpenFeign 教程
  • VitePress由 Vite 和 Vue 驱动的静态站点生成器
  • 自然语言处理(5)—— 中文分词
  • 高等数学-第七版-上册 选做记录 习题5-2
  • Linux——线程
  • 构音障碍(Dysarthria)研究全景总结(1996–2024)
  • 在Mac M1/M2芯片上完美安装DeepCTR库:避坑指南与实战验证
  • systemd-networkd 的 /etc/systemd/network/*.network 能不能一个文件配置多块网卡?不能
  • [01-04-02].第20节:PyQt5库初识及实现简易计算器
  • 网络安全基础
  • 文字变央视级语音转换工具
  • OpenRAND可重复的随机数生成库
  • 元宇宙时代下的 Facebook:机遇与挑战
  • IDEA修改默认作者名称
  • Android Compose 约束布局(ConstraintLayout、Modifier.constrainAs)源码深度剖析(十二)
  • #include <hello.h> 与 #include “hello.h“的区别
  • 昆明警方重拳打击经济领域违法犯罪:去年抓获905名嫌犯
  • 中国至越南河内国际道路运输线路正式开通
  • 受美关税影响,本田预计新财年净利下降七成,并推迟加拿大建厂计划
  • “远践”项目启动公益生态圈,上海青少年公益力量蓬勃生长
  • 从这些电影与影像,看到包容开放的上海
  • 哈马斯表示已释放一名美以双重国籍被扣押人员