内容正文:
2.C语言的运算(讲义)-《C语言程序设计》专题复习讲练测
[考纲要求]
(1)掌握C运算符的种类、运算优先级和结合性。
(2)掌握C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式和求值规则。
[课时安排]
2课时
[知识梳理]
1.C语言程序由若干条语句组成,每条语句由变量、运算符、表达式、函数调用和控制语等构成。表达式由运算对象(包括常量、函数、变量)和运算符按一定规则连接起来的有意义的式子。表达式中可以包括运算符、常量、变量、函数调用等。
2.运算符:在运算数据时,用来表示各种运算的符号
1) 算术运算符: +- * / % ++ --
2) 关系运算符: > < >= <= == !=
3) 逻辑运算符: ! && ||
4) 条件运算符: ? :
5) 赋值运算符:= += -= *= /= %=
6) 逗号运算符: ,
1)算术运算符和表达式
运算符
含义
举例
结果
说明
+
加法运算符
a+b
a与b的和
无
-
减法运算符
a-b
a与b的差
无
*
乘法运算符
a*b
a与b的乘积
由于键盘无×号,乘法运算以*代替。
/
除法运算符
a/b
a除以b的商
由于键盘无÷号,除法运算以/代替。注意:两个整数相除的结果为整数,如3/2的结果为1,舍去小数部分。
%
求余运算符
a%b
a除以b的余数
求余运算%仅用于整数间的运算,若存在负整数,则余数的正负号与被除数相同,如-3%2的结果为-1。
++
自增1运算符
a++或
++a
使a的值加1
++和--为单目运算,且只能用于单一变量
运算++a和--a,是在使用a之前,先使a的值加1或减1
a++和a--,是在使用a之后,再使a的值加1或减1
--
自减1运算符
a--或
--a
使a的值减1
说明:
1.模除运算是两个整数相除后取余数,要求“%”的两边必须是整型数据。这意味着在执行模除运算时,必须有一个操作数是整数。
2.在算术运算中,如果运算符两边的操作数都是整数,那么运算结果也将是整数。这意味着,例如,7除以3的结果将是整数2,而不是实数2.3333。
3.如果参加运算的两个数中有一个是实数,则结果将是实数类型,即 double。这意味着,例如,如果我们将一个整数和一个实数相加,结果将是 double 类型。
4.每个运算符都有一定的优先级,例如乘法和除法的优先级高于加法和减法。这意味着在执行算术运算时,乘法和除法将先于加法和减法执行。
5.在求值表达式时,计算机会按照运算符的优先级进行计算。乘法和除法的优先级高于加法和减法。使用括号可以改变运算的次序。如果两个运算符具有相同的优先级,那么会按照规定的“结合方向”进行处理。对于算术运算符,结合方向都是从左到右。
6.在算术表达式中,如果参加运算的数是整型数,那么结果也将是整型数。如果参加运算的数是实型数,那么在运算过程中将先把这些数转换成实型,然后进行运算,结果也将是实型。
7.自增和自减运算符的结合方向是从右到左。这意味着,例如,如果我们对变量 k 使用自增运算符,那么会先增加 k 的值,然后再使用新的值。而如果我们对 k 使用赋值运算符,那么会先使用 k 的值,然后再增加 k 的值。这是这两种运算符在使用上的一个重要区别。
2)关系运算符及表达式
关系运算符:用于确定两个数据之间是否存在着某种关系。
关系表达式:用关系运算符将两个表达式(算术、关系、逻辑或赋值表达式)连接起来构成关系表达式 。
区别:关系运算符“==” ,赋值运算符“=”。
3)逻辑运算符及表达式
&&与 ||为双目运算符,使用时左右各有一个操作数,使用时形如: A&&B , A || B
!为单目运算符,使用时形如: !A
A&&B 与运算只有a 、b均为真 ,结果才为真。
A || B 或运算a 、b有一个真 ,结果即为真。
!A 非运算即为取反运算
4)条件运算符及表达式
运算符“?:”是条件运算符,条件表达式的一般格式为:
表达式1?表达式2:表达式3
5)赋值运算符和表达式
简单赋值运算符:=
复合赋值运算符:+= -= *= /= %=
说明:赋值运算符为“=”,优先级为 14。
赋值运算符左侧必须是变量,不能是常量或表达式
赋值运算时,赋值号右边表达式值自动转换成其左边变量的类型
赋值运算表达式的结合方向都是自右至左,如:y=k=9.8+7;先计算 9.8+7 的值,然后赋给 k,再将k的值赋给y.
6)逗号运算符和表达式
逗号运算符用于将两个表达式连接起来。优先级为15,最低。
格式:表达式1