1、程序结构
(1)在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构。
- 顺序结构:按照事务本身特性,必须一个接着一个来完成。
- 选择结构:到某个节点后,会根据一次判断结果来决定之后走哪一个分支。
- 循环结构:循环结构有一个循环体,循环体是一段代码。循环结构根据判断的结果,来决定循环体是否执行。
(2)对于顺序结构来说,不需判断,因为下一句指令就是你要执行的。对于循环与选择结构来说,都需要进行判断,然后根据判断结果来做出决定。
(3)逻辑上有一种类型,叫bool类型(又写作boolean类型,中文叫布尔类型)。布尔类型只有两个值,真和假。
2、选择结构
2.1、 if...else 语句
(1)if...else 可以多级嵌套。
(2)示例伪代码:
if(bool)
{/* 如果布尔值真将执行的语句 */
}
else
{/* 如果布尔值为假将执行的语句 */
}
2.2、switch 语句
(1) switch 语句中可以嵌套 if...else 语句。
(2)示例伪代码:
switch (变量)
{ case 常数1: /* 变量等于常数1*/ break;case 常数2: /* 变量等于常数2*/ break;..... default:/* 变量不等于任何以上常数 */break;
}
(3)说明
- case中必须是常数,而且必须是整形。
- 一般来说,每个case中代码段后都必须有一个break;用于终止switch语句。
- case之后一般都会有default(默认)。语法上允许没有default,但是建议写代码时一定要写。
2.3、对比
(1)if...else 适合判断条件比较复杂,但是分支比较少的情况;switch适合适合判断条件不复杂,但是分支比较多的情况。
(2)所有的选择结构,其实都可以用 if...else 来实现,但只有部分才能用 switch来实现。一般的做法是:在适合使用switch的情况下优先使用switch,如果不合适再用if...else。
3、循环结构
C语言中常用的循环结构有3个:for循环、while循环、do while循环。
3.1、for循环
(1)示例代码:
for ( int i = 0; i < 100; i++)
{//循环体代码
}
(2)for循环解析:
- int i = 0;。 会首先被执行,且只会执行一次。这一步声明并初始化循环控制变量;也可以不在这写出任何语句,只要留出一个分号即可。
- 执行判断语句 i < 100;。 如果为真,则执行循环体;如果为假,则不执行循环体且循环结束。
- 执行完for循环体后,执行 i++ 。这里可以更改循环控制变量。该语句可以留空,只要在条件语句后出现一个分号即可。
- 再次执行条件语句 i < 100;。依次循环......
3.2、while循环
(1)示例伪代码
while(bool)
{循环体
}
(2)while循环解析
- 判断bool条件。
- 如果为真,则执行循环体,然后跳转到第1步;如果为假,循环结束。
3.3、do while循环
(1)示例伪代码
do
{循环体
}while(bool)
(2)do...while解析
- 执行循环体。
- 判断bool条件。如果为真,跳转到第1步;如果为假,循环结束。
3.3、对比
(1)for 循环能实现的 while 循环也一定能实现。
(2)while循环的初始化循环控制变量在while循环前编写,更改循环控制变量在循环体中编写。因此代码的整体可读性、整齐性没有for循环好。除了死循环不建议用while循环。
(3)while循环和do while循环的不同:while循环是先判断后执行,do while循环是先执行后判断。do while循环的循环体至少会执行一次,等循环开始转了之后,其实都一样。