一、判断
语句 | 描述 |
---|---|
if 语句 | 一个 if 语句由一个布尔表达式后跟一个或多个语句组成。 |
if...else 语句 | 一个 if 语句后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
嵌套 if 语句 | 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
switch 语句 | 一个 switch 语句允许测试一个变量等于多个值时的情况。 |
嵌套 switch 语句 | 您可以在一个 switch 语句内使用另一个 switch 语句。 |
switch
语句注意事项:
-
表达式类型:
switch
表达式必须是整数类型(如char
、short
、int
或枚举),或可以隐式转换为整数类型。 -
case 标签:
case
标签必须是唯一的常量值。可以是常量表达式,如1+2
、10>1
等,但不可使用变量(如a>b
、a>10
、!a
、a==1
)。
case
标签的顺序不重要。 -
default 标签:
default
标签是可选的,用于处理没有匹配的case
标签时的情况。 -
break 语句:每个
case
标签的代码块通常需要break
语句来终止switch
语句的执行,否则会继续执行下一个case
。 -
嵌套 switch 语句:
switch
语句可以嵌套,但应注意代码的可读性和复杂性。 -
case 标签和表达式范围:
case
标签必须是整数常量表达式,不能是浮点数或字符串。
二、循环
1.循环类型
C语言中常用的三种循环如下:
循环类型 | 描述 |
---|---|
while 循环 | 当给定条件为真时,重复执行语句或语句组。在执行循环主体之前测试条件。 |
for 循环 | 多次执行一个语句序列,简化管理循环变量的代码。 |
do...while 循环 | 类似于 while 语句,但在循环主体结尾测试条件,保证循环主体至少执行一次。 |
2.循环控制语句
控制语句 | 描述 |
---|---|
break 语句 | 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。 |
continue 语句 | 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 |
goto 语句 | 将控制转移到被标记的语句。通常不建议使用 goto 语句,因为它可能导致代码混乱。 |
三种语句执行示意图
三、函数
1.函数调用
函数调用主要有两种方式:传值调用
和引用调用
。
- 传值调用: 把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。
- 引用调用: 通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。
2.带参main函数
main 函数接受两个参数:argc
和 argv
。其中argc(>=1)
表示命令行参数的数量,char *argv[]
是一个字符串数组,每个元素是一个指向命令行参数的指针。argv[0]
是程序的名称,argv[1]
到 argv[argc-1]
是命令行中提供的其他参数。
int main(int argc, char *argv[]) {
// 程序代码
return 0;
}
C++中引用和指针的区别
- 引用: 引用是对象的别名,与对象共享同一内存空间。它在定义时必须初始化,并且一旦绑定到某个对象,就不能再改变引用的对象。
int a = 10;
int& ref = a; // 引用必须初始化
- 指针: 指针是一个变量,它存储另一个变量的地址,是一个实体,定义时可以不初始化。指针可以在程序运行时修改,指向不同的对象。
int a = 10;
int* ptr = &a; // 指针初始化为 a 的地址