C语言随记(二)—结构化程序设计

C语言随记(二)

结构化程序设计

分支结构

if语句

if (条件A) {

   语句A

}

如果表达式A的值为真,则执行语句A,如果为假,则不执行。

if-else语句

if (条件A) {

  语句A

}else {       

  语句B

}

如果条件A的值为真,则执行语句A,如果为假,则执行语句B。

if-else-if语句

if (条件A) {

  语句A

}else if (条件B){       

  语句B

}else {

  语句C

}

如果条件A的值为真,则执行语句A,如果为假且条件B为真,则执行语句B,否则执行语句C。

Tip:

  1. 在三种if语句中,在if关键字之后均为表达式。该表达式一般是逻辑表达式或关系表达式。但也可以是其他表达式,如赋值表达式,甚至是一个变量。
  2. 在if语句中,条件判断表达式必须用括号括起来,且在语句之后必须加分号。
  3. 在if语句的三种语句中,所有语句应为单个语句,如果想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。注意:在}后不能再加分号。
  4. 在实际开发中,在使用if语句的时候,即使是只执行一条语句,最好也使用{}括起来。

switch语句

switch (表达式) {
    case 常量表达式1: 语句1
    case 常量表达式2: 语句2
    ...
    case 常量表达式n: 语句n
    default       :  语句n+1 
 }

计算表达式的值,并逐个与其后的常量表达式的值相比较。当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如果表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

Tip:

  1. 在case后的各常量表达式的值不能相同,否则会出现错误。
  2. 在case后,允许有多个语句,可以不用{}括起来。
  3. 各case和default子语句的向后顺序可以变动,而不会影响程序执行结果。
  4. default子语句可以省略不写。
  5. 如果在执行完语句n后想要跳出switch语句,需要在语句n后添加break语句跳出。

循环结构

while语句

while(表达式) {
  循环体
}

计算表达式的值,当值为真(非0)时,执行循环体语句。

Tip:

  1. 在C语言中,非0为真,即大于0或小于0都为真,0为假。

do-while语句

do 
  循环体
 while(表达式);

先执行一次循环体,然后再判断表达式是否为真,如果为真则继续循环,,如果为假,则终止循环。

Tip:

  1. 在使用do-while循环时,不要忘记while(表达式)后的分号(;)。
  2. 当循环体有多条语句时,需要使用{}括起来。

for语句

for (表达式1; 表达式2; 表达式3) {
   循环体
}

其执行过程为:

  1. 先求解表达式1。
  2. 求解表达式2,如果为真,则执行for语句中的循环体,然后再执行下面的第3步;如果不为真,则结束循环,跳转到第5步。
  3. 求解表达式3.
  4. 转回第2步继续执行。
  5. 循环结束,执行for语句后面的语句。

了解for语句的执行过程之后,我们可以把for语句写成如下形式,便于理解

for (循环变量初始化; 循环条件; 循环变量增量) {
  循环体
}

循环变量初始化总是一个赋值语句,它用来给循环控制变量赋初值。循环条件是一个关系表达式,它决定什么时候退出循环。循环变量增量,定义循环控制变量每循环一次后按什么方式变化。

Tip:

  1. for循环中的“表达式1(循环变量初始化)”、“表达式2(循环条件)”、“表达式3(循环变量增量)”均可以缺省,但“;”不能缺省。
  2. 省略了“表达式1(循环变量初始化)”,表示不对循环控制变量赋初值。
  3. 省略了“表达式2(循环条件)”则不做其他处理时,变成为死循环。
  4. 省略了“表达式3(循环变量增量)”,则不对循环控制变量进行操作,这时可以在循环体中加入修改循环控制变量的语句。
  5. 在for循环的3个表达式中,不仅可以是一个简单表达式,也可以是逗号表达式。

特殊循环语句:goto

goto语句是一种无条件跳转语句。使用格式是:

goto 语句标号;

其中语句标号是一个有效的标识符,这个标识符加上“:”一起出现在函数的某处,执行goto语句后,程序将跳转到该语句标号处并执行其后的语句。

Tip:

  1. 语句标号必须和goto语句处于同一个函数中,但可以不在一个循环层次中。
  2. 通常goto语句和if条件语句连用,当满足某一条件时,程序跳转到语句标号处执行。
  3. 但是,在实际开发中,一般不使用goto语句,因为它将使程序层次不清,且不易读。但在多层嵌套退出时,用goto语句比较合理。

几种循环的比较

  1. 四种循环方式都可以用来处理同一个问题,一般可以互相代替。但一般不建议使用goto。
  2. while和do—while循环,循环体中应该包括使循环趋于结束的语句,for语句的功能最强。
  3. 用while和do-while时,循环变量初始化的操作应该在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值