c语言基础6——程序设计基本结构(适合小白入手)

程序设计基本结构

1996年,计算机科学家Bohm和Jacopini证明了这样的事实:“任何简单或复杂的程序都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。”

目录

  • 顺序结构
  • 选择结构
  • 循环结构
  • break和continue语句

1、顺序结构

程序执行的顺序按照语句书写顺序从前向后顺次执行,叫作顺序结构。 特点是算法简单,但只能解决最简单的问题。

2、选择结构

根据某种条件的成立与否而采用不同的程序段进行处理的程序结构叫作选择结构。

(1)if语句

if语句根据分支的多少,可以分为单分支、双分支、多分支if语句。

1)单分支if语句:

if(表达式) 语句1;

解释:通过计算表达式的值,判断表达式为真(1)还是为假(0),为真则执行语句1,反之则跳过语句1,执行下面的程序。

注意:当if语句是多条语句时,需要用{}将语句括起来,一条语句可以括起来,也可以不括。

2)双分支if语句:

if(表达式){
语句1;
}else{
语句2;
}

显而易见,当表达式的值为真时,执行语句1,不执行语句2;为假时,不执行语句1,执行语句2。

3)多分支if语句:

if(){
语句1;
}else if{
语句2;
}else if{
语句3;
}

else if{
语句n;
}else{
语句n+1;
}

(2)switch语句

形式:

switch(表达式){
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;

case 常量表达式n: 语句n;break;
default: 语句n+1;
}

功能:
先计算表达式的值,然后依次和常量表达式比较,如果表达式的值和某个常量表达式的值相等,则从该常量表达式开始执行,直到语句结束。如果常量表达式都不等于表达式的值,则执行default语句。

说明:

1)switch语句中,表达式和常量表达式必须是整型、字符型或者枚举型,不能是实型。 2)常量表达式必须互不相同,避免冲突。
3)case和常量表达式之间要加空格。 4)case后面可以没有语句,也可以有多条语句,此时需要{}括起来。
5)如果执行完某个语句,不想向下执行,那么可以使用break语句(稍后解释),强制退出switch语句。
6)default语句一般出现在所有的case语句后面,只能出现一次,也可以不出现。 7)switch只能进行相等性检查,“case
常量表达式”不能进行条件判断,所以在此不能出现条件逻辑表达式,也不能出现变量。

3、循环结构

见名知义,一遍又一遍执行,就是循环的特点。

(1)while循环语句:

形式:
while(表达式){
循环体语句;
}

执行过程:先计算表达式的值,为真进入循环体,然后执行循环体语句;为假不进去,去执行下面的程序。

说明:
1)表达式是控制循环的条件,它可以是任意合法的表达式。
2)while循环语句的特点是:先判断,后执行。如果表达式一开始为假,则循环体不执行。
3)如果表达式恒为真,则程序会陷入死循环,这样会让程序崩溃,最好不要让其陷入死循环。

(2)for循环语句
形式:
for(表达式1;表达式2;表达式3){
循环体语句;
}
或者:
for(循环变量赋初值;循环条件;循环变量增值){
循环体语句;
}

执行过程:
1)先求出表达式1
2)求表达式2,若值为真,执行循环体语句,再执行第3)步。若为假,结束循环,转到第5)步。
3)求表达式3
4)转回第2)步继续执行。
5)循环结束,执行for下面的程序。

注意:

1)for循环语句中的表达式123可以是任意类型的表达式,但是分号不可以省略。
2)表达式2不可以省略,否则视为恒真,陷入死循环。
3)先判断,后执行。
4)如果没有{},那么和for最近的一条语句视为循环体语句。
5)表达式1、3中若包括多条语句,用逗号隔开。
6)三个表达式位置可以改变,效果相同。

(3)do…while循环语句
形式:
do{
循环体语句;
}while(表达式);

执行过程:先执行一次循环体语句,再判断表达式真假。也就是说该循环语句至少执行一次。

注意: while后面的分号千万不能省略。

4、break和continue语句

两者形式一样:
break;(只能出现在switch语句或循环语句的循环体中)
continue;(只能出现在循环语句的循环体中)

区别:

break用在循环语句中,直接终止该循环的执行。
continue也用在循环语句中,但是只是终止本次循环,因为循环也许有几十次,但是continue只是终止其中的某一次,而不是终止整个大循环。

总结:

1)while多用于循环次数未知,但是循环条件已知。
2)for多用于循环次数已知。
3)很多情况下,三种循环可以互相替换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值