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

devtools/2025/2/4 6:32:06/

一、课程导入

同学们,上节课我们学习了变量和数据类型,这些是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.ppmy.cn/devtools/155929.html

相关文章

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操 Janus-Pro-7B介绍 Janus-Pro-7B 是由 DeepSeek 开发的多模态 AI 模型&#xff0c;它在理解和生成方面取得了显著的进步。这意味着它不仅可以处理文本&#xff0c;还可以处理图像等其他模态的信息。 模型主要特点:Permalink…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.6 广播机制核心算法:维度扩展的数学建模

2.6 广播机制核心算法&#xff1a;维度扩展的数学建模 目录/提纲 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…

基于微信小程序的电子竞技信息交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

Flutter Scaffold 页面结构

Material是一套设计风格&#xff0c;提供了大量的小部件&#xff0c;这里用Material风格搭建一个常见的应用页面结构。 创建Material应用 import package:flutter/material.dart;class App extends StatelessWidget {overrideWidget build(BuildContext context) {return Mat…

PyCharm中使用Ollama安装和应用Deepseek R1模型:完整指南

引言 人工智能和大型语言模型正在改变我们与技术交互的方式。Deepseek R1是一个强大的AI模型,而Ollama则是一个让我们能够轻松在本地运行这些模型的工具。本文将指导您如何使用Ollama安装Deepseek R1模型,并在PyCharm中创建一个简单的聊天应用。 © ivwdcwso (ID: u0121…

爱普生L3153打印机无线连接配置流程

家里使用的是移动宽带中兴路由器&#xff0c;有WPS功能&#xff0c;进入192.168.1.1管理员页面&#xff0c;用户名user&#xff0c;密码在路由器背面&#xff08;可以登录后修改密码&#xff09;。在网络-WLAN网络配置-WPS中&#xff0c;点击push button&#xff0c;激活路由器…

Redis 数据备份与恢复

Redis 数据备份与恢复 引言 Redis 是一款高性能的键值对存储系统,广泛应用于缓存、消息队列、分布式锁等领域。为了保证数据的安全性和可靠性,定期对 Redis 数据进行备份与恢复是至关重要的。本文将详细介绍 Redis 数据备份与恢复的方法,帮助您更好地管理和维护 Redis 数据…

低代码系统-产品架构案例介绍、炎黄盈动-易鲸云(十二)

易鲸云作为炎黄盈动新推出的产品&#xff0c;在定位上为低零代码产品。 开发层 表单引擎 表单设计器&#xff0c;包括设计和渲染 流程引擎 流程设计&#xff0c;包括设计和渲染&#xff0c;需要说明的是&#xff1a;采用国际标准BPMN2.0&#xff0c;可以全球通用 视图引擎 视图…