本文转载
1. 什么是表达式?
C语言中的表达式一种有值的语法结构,它由运算符将变量、常量、函数调用返回值结合而成。
1.1 变量
变量名本身是一个表达式,表达式的值是变量当前的值。复杂的表达式由[], ->
, .
, 和单目运算符*构成。
1.2 常量
常量名本身是一个表达式,字面常量也是表达式。对于这两者,表达式的值是常量当前的值。
1.3 函数调用
对于返回值不为void的函数,对它的正确调用也是表达式。表达式的值为函数的返回值。
1.4 操作符
运算符用于连接表达式中的值。以下是C语言中的运算符,运算符的优先级,及运算符的结合顺序
Order | Category | Operator | Operation | Associativity |
1 | Highest precedence | ( ) [ ]→: : . | Function call | L → R Left to Right |
2 | Unary | ! ~ + - ++ - - & * Size of | Logical negation (NOT) Bitwise 1’s complement Unary plus Unary minus Pre or post increment Pre or post decrement Address Indirection Size of operant in bytes | R → L Right -> Left |
3 | Member Access | .* →* | Dereference Dereference | L → R |
4 | Multiplication | * / % | Multiply Divide Modulus | L → R |
5 | Additive | + - | Binary Plus Binary Minus | L → R |
6 | Shift | << >> | Shift Left Shift Right | L → R |
7 | Relational | < <= > >= | Less than Less than or equal to Greater than Greater than or equal to | L → R |
8 | Equality | == != | Equal to Not Equal to | L → R |
9 | Bitwise AAND | & | Bitwise AND | L → R |
10 | Bitwise XOR | ^ | Bitwise XOR | L → R |
11 | Bitwise OR | | | Bitwise OR | L → R |
12 | Logical AND | && | Logical AND | L → R |
14 | Conditional | ? : | Ternary Operator | R → L |
15 | Assignment | = *= %= /= += -= &= ^= |= <<= >>= | Assignment Assign product Assign reminder Assign quotient Assign sum Assign difference Assign bitwise AND Assign bitwise XOR Assign bitwise OR Assign left shift Assign right shift | R → L |
16 | Comma | , | Evaluate | L → R |
1.5 实例
2. 语句
语句指的是当程序运行时执行某个动作的语法结构。它改变变量的值,产生输出,或处理输入。C语言包括4类语句:
2.1 表达式语句
表达式语句是最简单的一种语句,在表达式的末尾加分号就形成了一个表达式语句。表达式语句有以下形式:
expression;
最常用的表达式语句是函数调用语句和赋值语句。函数调用语句也属于表达式语句,因为函数调用(如sin(x) )也属于表达式的一种。赋值语句的作用是将等号左边变量的值改成等号右边表达式的值。赋值语句最常用的形式为:
variable = expression;
实例:
2.2 语句块
可以用{ }将一系列语句括起来使其大功能上相当于一条语句,这就是语句块。语句块中可以有变量声明,声明必须位于块的开始。
实例:
2.3 空语句
即只有一个分号的语句,它什么也不做。当用在循环体中时,表示循环体什么也不做。
实例:
2.4 控制语句
控制语句分类3类:循环语句,选择/条件语句,特殊语句
- Repetition
-
While Loops - pretest loops For Loops - pretest loops Do-While Loops - posttest loops
Conditional Execution And Selection
-
If Statements - conditional execution of a single statement If-Else Statements - conditional selection among two statements Switch Statements - conditional selection among several statements Extended If Statements - conditional selection among several statements
Special Control Statements
-
Return Statements - return values from and terminate functions Continue Statements - skip the remaining statements in an iteration of a loop Break Statements - exit a loop or switch statement
实例略