当前课程知识点:C Programming > Chapter 3 Programming in C > 3.3 Arithmetic, assignment, increment and decrement operators > 3.3 Arithmetic, assignment, increment and decrement operators.mp4
大家好
我是云南大学信息学院的丁海燕老师
欢迎走进C语言程序设计课堂
今天我们讲解C语言算术
赋值
自增自减运算符
运算符的作用是
对运算对象完成规定的操作运算
用运算符和括号将运算对象
也称操作数
连接起来的
符合C语法规则的式子
称为表达式
运算对象包括常量
变量函数等
C语言的运算符非常丰富
能够构成不同类型的表达式
运算符的作用
对运算对象完成规定的操作运算
运算符按照操作对象的个数
可以分为单目运算符
双目运算符和三目运算符
运算符按照功能又可分为算术运算符
逻辑运算符等等
常用运算符如表格所示
例如算术运算符
逻辑运算符
关系运算符
赋值运算符
条件运算符
逗号运算符
位运算符
其他运算符等
运算符的优先级是各种运算符号的运算优先顺序
例如
算术运算优先于关系运算
算术运算中先乘除后加减
运算符的结合性
指运算符号和运算对象的结合方向
分为从左向右(左结合)
和从右向左(右结合)
例如
算术运算符为左结合
a-b+4
从左向右运算
赋值运算符为右结合
A赋为b赋值5
C语言中有44个运算符
共分为15个优先级别
其中1号优先级最高
15号优先级最低
例如
圆括号
数组元素下标
指向结构体成员
结构体成员运算符为1号最高优先级
逗号运算符为15号最低优先级
C语言的运算符的优先级和结合性
请参看附录C
表达式是由运算符将常量
变量
函数组合起来的式子
在C语言中任何一个表达式
都有一个运算结果
即表达式的值
注意
在同一个表达式中
必须按照运算符的优先级进行计算
先做优先级高的运算
再做优先级低的运算
优先级相同时则按照结合方向进行运算
所有的单目运算符
赋值运算符及条件运算符的结合方向都是自右向左
其他运算符的结合方向均为自左向右
例如
2.5+1/2
先进行1/2的计算
结果为2.5
-i++先进行i++的计算
等价于-(i++)
下面介绍算术运算符
算术运算符有
+(加)
-(减)
*(乘)
/(除)
%(取余)
注意
加减乘除的运算规则
和运算优先级等同于数学中的加减乘除运算
在C语言中没有乘方运算
要计算a的3次方
可以写作a*a*a的连乘形式
或使用库函数pow(a,3)
两个整型数据做除法运算“/”时
运算结果也是整型数据
即只取商的部分
而操作数中有一个为实型数据时
则结果为双精度实型数据
即double型
例如
1/2结果为0
1/2.0的结果为0.5
取余运算符要求运算对象必须是整型数据
它的功能是求两个操作数相除的余数
余数的符号与被除数的符号相同
例如
11%3的余数的值为2
-11%3的余数的值为-2
2%-4的余数的值为2
基本算术运算符的优先级从高到低为
括号最高
正、负号次之
乘号、除号、取余再次之
加、减号最低
并且
正、负号同级
乘号、除号、取余同级
加、减号同级
优先级如图所示
算术表达式
用基本算术运算符
自增自减运算符和圆括号
将运算对象连接起来的式子
称为算术表达式
算术表达式的值的数据类型
取决于参加运算的操作对象
注意
1. 将一个数学式写为C 语言表达式时
乘号“*”不能省略
2. 数学中有些常用的计算
可以用C系统提供的标准数学库函数
例如
求x的平方根写为sqrt(x)
求xy写作pow(x,y)
求弧度为x的sin 值写作sin(x)等
但要包含 math.h文件
3.必要的时候
根据需要添加圆括号改变运算顺序
有多层括号时一律使用圆括号
同学们可以思考一下
如何将下列数学表达式用C语言表示
下面介绍赋值运算符
1. 简单赋值运算符
简单赋值运算符“=”的功能是
将赋值运算符右边表达式的值
赋给赋值运算符左边的变量
格式为变量名赋值表达式
注意
赋值运算符左边只能是一个变量
不能是常量也不能是表达式
因为只有变量的值才能被改变
赋值运算符右边可以是C语言中
任何合法的表达式包括赋值表达式
赋值表达式的值就是赋值运算符左边变量所得到的值
将实型数据赋给整型变量
实型数据的小数部分被舍去后赋给变量
将整型数据赋给实型变量时
系统自动将整型数据转成实型数据赋给变量
例如
int a=5.6
变量a的值为整数5
float b=4
变量b的值为4. 0
2.复合赋值运算符
复合赋值运算符有以下10种
复合表达式具有复合计算并赋值功能
系统将复合赋值运算符
左边变量的值与右边表达式的值
按运算符左侧符号进行计算后再赋给变量
例如
a+=5
等价于a=a+5
x/=y+4
等价于x=x/(y+4)
若有定义int a=2
则表达式a-=a+=a*a的值
即为a的值为0
下面介绍自增
自减运算符
自增运算符(++)
和自减运算符(-)是单目运算符
自增自减表达式格式有4种
①变量名++
②++变量名
③变量名- -
④- -变量名
对于变量来说
①②表达式的功能相同
都是让变量的值增加1
③④表达式的功能相同
都是让变量的值减少1
即a++
a=a+1
a+=1
++a功能相同
a—
a=a-1
a-=1
--a功能相同
注意
++、--运算符只能用于变量
不能用于常量或表达式
++、--运算符比算术运算符的优先级高
当自增自减运算符位于变量名前时
表达式的值为变量值加1或减1的值
当位于变量名后时
表达式的值为变量原来的值
无论是位于变量名前还是变量名后
进行自加自减表达式的运算后
变量的值都是在原来值的基础上加1或减1
自增自减表达式对于变量本身来说
都相当于一个赋值表达式
例如
a++和++a
对于变量a来说都相当于a=a+1
例如
若在执行表达式计算之前变量a的值为5
则
a++表达式的值为5
a的值为6
++a表达式的值为6
a的值为6
a--表达式的值为5
a的值为4
--a表达式的值为4
a的值为4
好了
同学们
C语言算术
赋值
自增自减运算符我们就学到这儿
下节课再见
-1.1 The development and characteristics of C language
--1.The development and characteristics of C language .mp4
--1.1 Self test questions
-1.2 A simple C Language program
--1.2 A simple C Language program.mp4
--【Source program】 Example 1.1 output a line of text Hello, world! "
--【Source program】 Example 1.2 program composed of multiple functions, find the larger of two integers
--1.2 Self test questions
-1.3 Program, Programming Language and C Program Running Steps
--1.3 Program, Programming Language and C Program Running Steps.mp4
--Running steps of C source program in CodeBlocks
--1.3 Self test questions
-chapter 1 Self-Test
-2.1 The Concept and Description of Algorithms
--2.1 The Concept and Description of Algorithms.mp4
--2.1 Self test questions
-2.2 Examples of Simple Algorithms, Computational Thinking and Structured Programming
--2.2 Examples of Simple Algorithms, Computational Thinking and Structured Programming.mp4
--2.2 Self test questions
-Chapter 2 Self test questions
-3.1 Simple Structure and Identifier of C Language Program
--3.1 Simple Structure and Identifier of C Language Program.mp4
--【Source program】 Example 3.1 input two integers and output the sum of two numbers.
--【Source program】 Example 3.2 input two integers and output the average value.
--【Source program】 Example 3.3 output the value of the character variable.
--3.1 Self test questions
-3.2 Constants, Variables and Assignments
--3.2 Constants, Variables and Assignments.mp4
--3.2 Self test questions
-3.3 Arithmetic, assignment, increment and decrement operators
--3.3 Arithmetic, assignment, increment and decrement operators.mp4
--3.3 Self test questions
-3.4 Conditions, commas, addresses, byte operators, and mixed operations among various numerical data
--3.4 Conditions, commas, addresses, byte operators, and mixed operations among various numerical data
--【Source program】 example of sizeof
--3.4 Self test questions
-3.5 Input and Output Examples and Character Input and Output
--3.5 Input and Output Examples and Character Input and Output.mp4
--【Source program】 Example. Find the root of quadratic equation of one variable.
--【Source program】 Example 1. Successively output three characters of BOY.
--【Source program】Example 2. Input 3 characters of BOY from the keyboard and output them to the screen
--3.5 Self test questions
-3.6 Formatted output printf function
--3.6 Formatted output printf function.mp4
--【Source program】 Example 3.4 output of integer data.
--【Source program】 Example 3.5 real data output.
--【Source program】 Example 3.6 character data output.
--【Source program】 Example 3.7 uses %s to output a string.
--3.6 Self test questions
-3.7 Formatted input scanf function
--3.7 Formatted input scanf function.mp4
--【Source program】 Example 3.8 Input and output integer data
--【Source program】Example 3.9 Input and output single precision and double precision real data.
--【Source program】Example 3.10 input and output character data.
--【Source program】Example 3.11 input and output string.
--3.7 Self test questions
-3.8 Basic Data Types of C Language
--3.8 Basic Data Types of C Language.mp4
--3.8 Self test questions
-Chapter 3 Self test questions
-Operator and expression self test questions
-4.1 Relational operators, logical operators, and if statements
--4.1 Relational operators, logical operators, and if statements.mp4
--【source example】Example 4.1 Find the root of the quadratic equation of one variable.
--【Source program】Example 4.2 Input two real numbers and output them from small to large.
--4.1 Self test questions
-4.2 Switch Statement
--【Source program】Example 4.3 uses switch statement to implement simple menu program
--【Source program】Example 4.4 converts centesimal score into the corresponding grade system score.
--4.2 Self test questions
-4.3 Examples of Selection Structural Programs
--4.3 Examples of Selection Structural Programs.mp4
--【Source program】 Example 4.5 determines whether a year is a leap year.
--【Source program】 Example 4.6 find the solution of quadratic equation of one variable.
--【Source program】Example 4.7 calculate the transportation cost for the user.
--4.3 Self test questions
-Chapter 4 Self test questions
-5.1 While and Do-While Statement
--5.1 While and Do…while statement.mp4
--【Source program】example 5.1 Use while statement to find 1 + 2 + 3 + +100
--【Source program】example 5.2 using do while statement to find 1 + 2 + 3 + +100
--5.1 Self test questions
-5.2 For Statement
--【Source program】example 5.3 Use for loop to find 1 + 2 + 3 +100
--5.2 Self test questions
-5.3 Change the State of Loop Execution and Nested Loop
--5.3 Change the state of loop execution and nested loop .mp4
--【Source program】example 5.4 collecting charity donations
--【Source program】example 5.5 output a number between 100 and 200 that cannot be divided by 3.
--【Source program】multiplication table
--【Source program】example 5.6 Output the following 4*5 matrix.
--5.3 Self test questions
-5.4 Loop Structure Program example 1
--5.4 Loop structure program example 1.mp4
--5.4 Self test questions
-5.5 Loop Structure Program example 2
--5.5 Loop structure program example 2.mp4
--【Source program】example 5. Output the following figure.
--【Source program】example6. The problem of 100 chickens and 100 coins
--【Source program】example 7. Find the approximate value of PI
--5.5 Self test questions
-Chapter 5 Self test questions
-6.1 Definition, Reference and Initialization of One-Dimensional Arrays
--6.1 Definition, Reference of One-Dimensional Arrays.mp4
--6.1 Self test questions
-6.2 One-Dimensional Array Programming
--6.2 One-Dimensional Array Programming.mp4
--【Source program】example 1. Fibonacci sequence
--【Source program】example 2. Find the maximum value and the minimum value.
--【Source program】example 3 exchanging array elements in reverse order.
--【Source program】example 4. Bubble sorting.
--6.2 Self test questions
-6.3 Definition, Reference and Initialization of Two-Dimensional Arrays
--6.3 Definition, Reference of Two-Dimensional Arrays.mp4
--6.3 Self test questions
-6.4 Two-Dimensional Array Programming
--6.4 Two-Dimensional Array Programming.mp4
--【Source program】example 1. Get the average score of each subject.
--【Source program】Example 2. The elements of row and column of a 2D array are interchanged
--6.4 Self test questions
-6.5 Definition, initialization and input and output of character arrays
--6.5 Definition, initialization and input and output of character arrays .mp4
--【Source program】Example 6.6 Output a known string.
--【Source program】Example 6.7 Output a diamond.
--【Source program】Example 6.10 Sorting of strings.
--6.5 Self test questions
-6.6 String Processing Function
--6.6 String Processing Function.mp4
--6.6 Self test questions
-6.7 Character Array Programming
--6.7 Character Array Programming.mp4
--6.7 Self test questions
-Chapter 6 Self test questions
-7.1 Function Concept and How to Define and Call Functions
--7.1 Function Concept and How to Define and Call Functions.mp4
--7.1 Self test questions
-7.2 Data Transfer in Function Call, Call Procedure and Function Return Value
--7.2 Data Transfer in Function Call, Call Procedure and Function Return Value.mp4
--7.2 Self test questions
-7.3 Declarations of called functions and nested calls to functions
--7.3 Declarations of called functions and nested calls to functions .mp4
--【Source program】Example 7.4 use a function to find the sum of t
--7.3 Self test questions
-7.4 Recursive call to function
--7.4 Recursive call to function.mp4
--【Source program】Example 7.6. How old is the fifth student?
--【Source program】Example 7.7 Use recursion method to find n!
--7.4 Self test questions
-7.5 Array as function parameter (1)
--7.5 Array as function parameter (1).mp4
--【Source program】Example 7.10
--7.5 Self test questions
-7.6 Array as function parameter (2)
--7.6 Array as function parameter (2).mp4
--【Source program】Selection sorting.
--【Source program】Example 7.13 find the maximum of a 3×4 matrix.
--7.6 Self test questions
-7.7 Local and global variables, internal and external functions
--7.7 Local and global variables, internal and external functions.mp4
--【Source program】Example 7.14
--7.7 Self test questions
-7.8 The Survival Period of Variables and the Storage Mode of Local Variables
--7.8 The Survival Period of Variables and the Storage Mode of Local Variables.mp4
--【Source program】Example 7.17
--7.8 Self test questions
-7.9 Storage Categories of Global Variables
--7.9 Storage Categories of Global Variables.mp4
--7.9 Self test questions
-Chapter 7 Self test questions
-8.1 Pointer Concept, Definition and Reference of Pointer Variables
--8.1 Pointer Concept, Definition and Reference of Pointer Variables.mp4
--8.1 Self test questions
-8.2 Pointer variables as function parameters
--8.2 Pointer variables as function parameters.mp4
--【Source program】Example 8.3. Exchange two data with function call.
--8.2 Self test questions
-8.3 Pointer of array element, operation of pointer and reference of array element by pointer
--8.3 Pointer of array element, operation of pointer and reference of array element by pointer.mp4
--【Source program】Point to array elements with pointer variables.
--8.3 Self test questions
-8.4 Using Array Name as Function Parameter
--8.4 Using Array Name as Function Parameter.mp4
--【Source program】Store array elements in reverse order.
--8.4 Self test questions
-8.5 Reference to multidimensional arrays by pointers
--8.5 Reference to multidimensional arrays by pointers.mp4
--【Source program】Pointer variable pointing to one-dimensional array.
--8.5 Self test questions
-8.6 Referencing strings through pointers
--8.6 Referencing strings through pointers.mp4
--【Source program】Reference string by pointer.
--8.6 Self test questions
-8.7 Character pointer as function parameter
--8.7 Character pointer as function parameter.mp4
--【Source program】Character pointer as function parameter.
--8.7 Self test questions
-8.8 Pointer pointing to function
--8.8 Pointer pointing to function.mp4
--【Source program】Pointer variable pointing to the function.
--8.8 Self test questions
-8.9 Functions that return pointer values
--8.9 Functions that return pointer values.mp4
--【Source program】Intercept substring.
--8.9 Self test questions
-8.10 Pointer arrays and multiple pointers
--8.10 Pointer arrays and multiple pointers.mp4
--【Source program】Sorting of strings.
--8.10 Self test questions
-8.11 Dynamic memory allocation and pointer variables pointing to it
--8.11 Dynamic memory allocation and pointer variables pointing to it.mp4
--【Source program】Dynamic memory allocation.
--8.11 Self test questions
-Chapter 8 Self test questions
-9.1 Define and use structural variables
--9.1 Define and use structural variables.mp4
--【Source program】Structure variable
--9.1 Self test questions
-9.2 Using structure arrays
--9.2 Using structure arrays.mp4
--【Source program】Structure array
--9.2 Self test questions
-9.3 Structure pointer
--【Source program】Structure pointer
--9.3 Self test questions
-Chapter 9 Self test questions
-CodeBlocks Baidu online disk download address
-Final Exam
--final exam