本篇摘要:
表达式(expression)
语句(staement)
---------------------------------------------------------------------------------------------------------------------------------
在C语言中,表达式是由一个或多个操作数(variables, constants, functions, etc.)和操作符(+,-,*,/,&&,||,等)组成的,按照一定的规则计算并返回一个值。C语言中的表达式可以分为几类,每类有其特定的用途和规则。以下是几种主要的表达式类型及示例:
1. 算术表达式 (Arithmetic Expressions)
算术表达式用于进行数值计算。
int a = 5; int b = 10; int sum = a + b; // 15 int difference = a - b; // -5 int product = a * b; // 50 int quotient = a / b; // 0 (整数除法) int remainder = a % b; // 5
2. 关系表达式 (Relational Expressions)
关系表达式用于比较两个值,结果是布尔值(true或false)
int a = 5; int b = 10; int result1 = (a < b); // 1 (true) int result2 = (a > b); // 0 (false) int result3 = (a == b); // 0 (false) int result4 = (a != b); // 1 (true)
3. 逻辑表达式 (Logical Expressions)
逻辑表达式用于进行逻辑运算,结果是布尔值。
int a = 1; // true int b = 0; // false int result1 = (a && b); // 0 (false) int result2 = (a || b); // 1 (true) int result3 = !a; // 0 (false) int result4 = !b; // 1 (true)
4. 位操作表达式 (Bitwise Expressions)
位操作表达式用于位级操作。
int a = 5; // 0101 in binary int b = 3; // 0011 in binary int result1 = a & b; // 1 (0001 in binary) int result2 = a | b; // 7 (0111 in binary) int result3 = a ^ b; // 6 (0110 in binary) int result4 = ~a; // -6 (1111...1010 in binary, two's complement representation) int result5 = a << 1; // 10 (1010 in binary) int result6 = a >> 1; // 2 (0010 in binary)
5. 赋值表达式 (Assignment Expressions)
赋值表达式用于给变量赋值。
int a = 5; int b; b = a; // b = 5 a += 2; // a = 7 (相当于a = a + 2) b *= 3; // b = 15 (相当于b = b * 3)
6. 条件表达式 (Conditional Expressions)
条件表达式也称为三元运算符表达式,它有三个操作数,返回值依赖于条件表达式的结果。
int a = 5; int b = 10; int max = (a > b) ? a : b; // max = 10
----------------------------------
语句:
在C语言中,语句是程序执行的基本单位,每个语句表示一个特定的操作或动作。C语言的语句可以分为以下几种类型:
1. 表达式语句 (Expression Statements)
表达式语句是最常见的语句类型,它执行一个表达式并且以分号结尾。
int a = 5; a = a + 1; // 这是一个表达式语句
2. 复合语句 (Compound Statements)
复合语句由大括号 {}
包围的一组语句组成,称为语句块。
{ int a = 5; int b = 10; int c = a + b; }
3. 条件语句 (Conditional Statements)
条件语句用于根据条件的真假来执行不同的代码块。
if
语句
int a = 5; if (a > 0) { printf("a is positive\n"); }
if-else
语句
int a = -5; if (a > 0) { printf("a is positive\n"); } else { printf("a is not positive\n"); }
else if
语句
int a = 0; if (a > 0) { printf("a is positive\n"); } else if (a < 0) { printf("a is negative\n"); } else { printf("a is zero\n"); }
switch
语句
int a = 2; switch (a) { case 1: printf("a is 1\n"); break; case 2: printf("a is 2\n"); break; default: printf("a is not 1 or 2\n"); }
4. 循环语句 (Loop Statements)
循环语句用于重复执行某段代码。
while
循环
int i = 0; while (i < 5) { printf("i is %d\n", i); i++; }
do-while
循环
int i = 0; do { printf("i is %d\n", i); i++; } while (i < 5);
for
循环
for (int i = 0; i < 5; i++) { printf("i is %d\n", i); }
5. 跳转语句 (Jump Statements)
跳转语句用于改变程序的执行顺序。
break
语句
for (int i = 0; i < 5; i++) { if (i == 3) { break; // 跳出循环 } printf("i is %d\n", i); }
continue
语句
for (int i = 0; i < 5; i++) { if (i == 3) { continue; // 跳过当前循环迭代 } printf("i is %d\n", i); }
return
语句
int add(int a, int b) { return a + b; // 返回结果 }
goto
语句
int i = 0; start: printf("i is %d\n", i); i++; if (i < 5) { goto start; // 跳转到标记位置 }
6. 声明语句 (Declaration Statements)
声明语句用于声明变量。
int a; // 声明一个整型变量a float b; // 声明一个浮点型变量b