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

C语言教学第三课:运算符与表达式

一、课程导入

同学们,上节课我们学习了变量和数据类型,这些是C语言的基础。今天,我们将继续深入学习C语言中的运算符与表达式。运算符是C语言中用于执行各种操作的符号,而表达式则是由变量、常量和运算符组成的有意义的组合。通过运算符和表达式,我们可以实现复杂的计算和逻辑操作。

二、运算符分类

(一)算术运算符

  1. 基本算术运算符

    • 加(+)、减(-)、乘(*)、除(/)、取模(%)。

    • 示例:

      int a = 10, b = 3;
      int sum = a + b; // 加法
      int diff = a - b; // 减法
      int product = a * b; // 乘法
      int quotient = a / b; // 除法
      int remainder = a % b; // 取模
    • 注意:取模运算符%只能用于整数运算。

    • 输出结果:

      sum = 13
      diff = 7
      product = 30
      quotient = 3
      remainder = 1
  2. 自增与自减运算符

    • 自增(++)和自减(--)运算符用于将变量的值增加或减少1。

    • 示例:

      int x = 5;
      x++; // x = 6
      x--; // x = 5

(二)关系运算符

  1. 概念

    • 用于比较两个值之间的关系,返回布尔值(0表示假,1表示真)。

  2. 常见的关系运算符

    • 大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=)。

    • 示例:

      int a = 10, b = 20;
      int result1 = (a > b); // 0
      int result2 = (a < b); // 1
      int result3 = (a == b); // 0
      int result4 = (a != b); // 1

(三)逻辑运算符

  1. 概念

    • 用于组合多个逻辑表达式,返回布尔值。

  2. 常见的逻辑运算符

    • 逻辑与(&&)、逻辑或(||)、逻辑非(!)。

    • 示例:

      int a = 10, b = 20;
      int result1 = (a > 0 && b > 0); // 1
      int result2 = (a > 0 || b < 0); // 1
      int result3 = !(a == b); // 1

(四)赋值运算符

  1. 基本赋值运算符

    • =:将右边的值赋给左边的变量。

    • 示例:

      int a = 10;
  2. 复合赋值运算符

    • +=-=*=/=%=等。

    • 示例:

      int a = 10;
      a += 5; // 等价于 a = a + 5,结果为15
      a -= 3; // 等价于 a = a - 3,结果为12

(五)位运算符

  1. 概念

    • 用于对变量的二进制位进行操作。

  2. 常见的位运算符

    • 按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)。

    • 示例:

      int a = 5; // 二进制:0101
      int b = 3; // 二进制:0011
      int result1 = a & b; // 0001,结果为1
      int result2 = a | b; // 0111,结果为7
      int result3 = a ^ b; // 0110,结果为6

三、表达式

(一)概念

  1. 表达式

    • 由变量、常量和运算符组成的有意义的组合,最终会产生一个值。

    • 示例:

      int result = 10 + 20 * 2; // 表达式计算结果为50

(二)运算符优先级

  1. 优先级规则

    • 不同的运算符有不同的优先级,优先级高的运算符先计算。

    • 示例:

      int result = 10 + 20 * 2; // 先计算乘法,再计算加法,结果为50
  2. 括号的使用

    • 使用括号可以改变运算顺序。

    • 示例:

      int result = (10 + 20) * 2; // 先计算括号内的加法,再计算乘法,结果为60

四、练习

  1. 练习题

    • 定义两个整型变量ab,分别赋值为15和5。

    • 计算并打印以下表达式的值:

      • a + b

      • a - b

      • a * b

      • a / b

      • a % b

    • 使用逻辑运算符判断a是否大于b,并打印结果。

    • 使用位运算符计算a & ba | b,并打印结果。

  2. 参考答案

    #include <stdio.h>
    
    int main() {
        int a = 15, b = 5;
    
        printf("a + b = %d\n", a + b);
        printf("a - b = %d\n", a - b);
        printf("a * b = %d\n", a * b);
        printf("a / b = %d\n", a / b);
        printf("a %% b = %d\n", a % b);
    
        if (a > b) {
            printf("a > b\n");
        } else {
            printf("a <= b\n");
        }
    
        printf("a & b = %d\n", a & b);
        printf("a | b = %d\n", a | b);
    
        return 0;
    }

五、课堂总结

学习了C语言中的运算符和表达式。运算符是C语言中用于执行各种操作的符号,包括算术运算符、关系运算符、逻辑运算符、赋值运算符和位运算符。表达式则是由变量、常量和运算符组成的有意义的组合。


http://www.kler.cn/a/531712.html

相关文章:

  • 深入解析 clone():高效的进程与线程创建方法(中英双语)
  • 我的AI工具箱Tauri版-ZoomImageSDXL全图超清放大TILE+SDXL
  • OPENGLPG第九版学习 - 着色器基础
  • Debezium Oracle Connector SCN处理优化指南
  • 20250202在Ubuntu22.04下使用Guvcview录像的时候降噪
  • C++——模版
  • 【25考研】南开大学计算机复试攻略及注意事项
  • 五子棋对弈
  • DeepSeek文生图模型Janus-Pro论文解读 —— 多模态AI的革命?
  • 如何解决云台重力补偿?
  • 传输层协议 UDP 与 TCP
  • 无公网IP 外网访问 Jupyter Notebook
  • 框架与代码的形状
  • C语言基础系列【2】开发环境搭建
  • 【Java基础-42.3】Java 基本数据类型与字符串之间的转换:深入理解数据类型的转换方法
  • 测试相关基础
  • 除了成本核算,还有哪些财务分析工具可以提高工作效率?
  • 信息学奥赛一本通 2113:【24CSPJ普及组】小木棍(sticks) | 洛谷 P11229 [CSP-J 2024] 小木棍
  • 【Leetcode刷题记录】680. 验证回文串 II
  • 解决对axios请求返回对象进行json化时报“TypeError Converting circular structure to JSON“错误的问题
  • 直方图:摄影中的视觉数据指南
  • ANSYS Mechanical APDL打开cdb文件
  • AUTOSAR从入门到精通-【新能源汽车】高压配电管理(PDU/BDU)(二)
  • 使用scikit-learn中的K均值包进行聚类分析
  • 【最长上升子序列Ⅱ——树状数组,二分+DP,纯DP】
  • [论文学习]Adaptively Perturbed Mirror Descent for Learning in Games