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

基于linux平台的C语言入门教程(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. 尝试使用取模运算符判断一个数是否为偶数。

相关文章:

  • Qt+FFmpeg+SDL2播放进度显示及定位播放
  • Java多线程与高并发专题——Future 是什么?
  • MySQL 事务(Transaction)详解
  • 扣子平台知识库不能上传成功
  • 单表达式倒计时工具:datetime的极度优雅(DeepSeek)
  • python+ffmpeg给音频添加背景音乐
  • SpringBoot项目实战(初级)
  • OpenLayers集成天地图服务开发指南
  • RestTemplate和RPC区别
  • 布谷一对一视频直播平台开发搭建全解析:架构设计与核心技术实现
  • Python Bug修复案例分析:Python 中常见的 IndentationError 错误 bug 的修复
  • 《Gradio Python 客户端入门》
  • 存储过程触发器习题整理1
  • VRRP配置双出口ipsec隧道建立。
  • 【前端】Canvas画布实现在线的唇膏换色功能
  • 7:表数据的增删查改
  • nextjs使用next-intl要注意
  • W25Qxx
  • SpringBoot+VUE(Ant Design Vue)实现图片下载预览功能
  • Java 大视界 -- Java 大数据在智能安防周界防范与入侵预警中的应用(148)
  • 国家卫健委有关负责人就白皮书发布答记者问
  • 欢迎回家!神十九返回舱成功着陆
  • 这就是上海!
  • 向总书记汇报具身智能发展的“稚辉君”:从期待到兴奋再到备受鼓舞
  • 首映|“凤凰传奇”曾毅:拍电影,我是认真的
  • 日本希望再次租借大熊猫,外交部:双方就相关合作保持密切沟通