C语言教学第三课:运算符与表达式
一、课程导入
同学们,上节课我们学习了变量和数据类型,这些是C语言的基础。今天,我们将继续深入学习C语言中的运算符与表达式。运算符是C语言中用于执行各种操作的符号,而表达式则是由变量、常量和运算符组成的有意义的组合。通过运算符和表达式,我们可以实现复杂的计算和逻辑操作。
二、运算符分类
(一)算术运算符
-
基本算术运算符
-
加(
+
)、减(-
)、乘(*
)、除(/
)、取模(%
)。 -
示例:
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
-
-
自增与自减运算符
-
自增(
++
)和自减(--
)运算符用于将变量的值增加或减少1。 -
示例:
int x = 5; x++; // x = 6 x--; // x = 5
-
(二)关系运算符
-
概念
-
用于比较两个值之间的关系,返回布尔值(
0
表示假,1
表示真)。
-
-
常见的关系运算符
-
大于(
>
)、小于(<
)、等于(==
)、不等于(!=
)、大于等于(>=
)、小于等于(<=
)。 -
示例:
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
-
(三)逻辑运算符
-
概念
-
用于组合多个逻辑表达式,返回布尔值。
-
-
常见的逻辑运算符
-
逻辑与(
&&
)、逻辑或(||
)、逻辑非(!
)。 -
示例:
int a = 10, b = 20; int result1 = (a > 0 && b > 0); // 1 int result2 = (a > 0 || b < 0); // 1 int result3 = !(a == b); // 1
-
(四)赋值运算符
-
基本赋值运算符
-
=
:将右边的值赋给左边的变量。 -
示例:
int a = 10;
-
-
复合赋值运算符
-
+=
、-=
、*=
、/=
、%=
等。 -
示例:
int a = 10; a += 5; // 等价于 a = a + 5,结果为15 a -= 3; // 等价于 a = a - 3,结果为12
-
(五)位运算符
-
概念
-
用于对变量的二进制位进行操作。
-
-
常见的位运算符
-
按位与(
&
)、按位或(|
)、按位异或(^
)、按位取反(~
)、左移(<<
)、右移(>>
)。 -
示例:
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
-
三、表达式
(一)概念
-
表达式
-
由变量、常量和运算符组成的有意义的组合,最终会产生一个值。
-
示例:
int result = 10 + 20 * 2; // 表达式计算结果为50
-
(二)运算符优先级
-
优先级规则
-
不同的运算符有不同的优先级,优先级高的运算符先计算。
-
示例:
int result = 10 + 20 * 2; // 先计算乘法,再计算加法,结果为50
-
-
括号的使用
-
使用括号可以改变运算顺序。
-
示例:
int result = (10 + 20) * 2; // 先计算括号内的加法,再计算乘法,结果为60
-
四、练习
-
练习题
-
定义两个整型变量
a
和b
,分别赋值为15和5。 -
计算并打印以下表达式的值:
-
a + b
-
a - b
-
a * b
-
a / b
-
a % b
-
-
使用逻辑运算符判断
a
是否大于b
,并打印结果。 -
使用位运算符计算
a & b
和a | b
,并打印结果。
-
-
参考答案
#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语言中用于执行各种操作的符号,包括算术运算符、关系运算符、逻辑运算符、赋值运算符和位运算符。表达式则是由变量、常量和运算符组成的有意义的组合。