5、程序结构

5、程序结构
在C语言程序里,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构

顺序结构:按照实物本身特性,必须一个接着一个来完成。
选择结构:到某个节点后,会根据一次判断结果来决定之后走哪一个分支。
循环结构:循环结构有一个循环体,循环体是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次。


5.1、选择结构详解:
C语言中选择结构一共有两种:
第一种:if else


第二种:switch case
涉及到的C语言关键字:switch case break default

switch (变量)                // 执行到这一句时,变量的值已经知道了
{                            // switch case语句执行时,会用该变量的值一次与各个
    case 常数1:                // case后的常数去对比,试图找到第一个匹配项。
        代码段1;            // 找到匹配的项目后,就去执行该case对应的代码段
        break;                // 如果没找到则继续下一个case,直到default。
    case 常数2:                // 如果前面的case都未匹配,则default匹配。
        代码段2;
        break;
        
    .....
    
    default:
        代码段n;
        break;
}

注意:
1、case中必须是常数,而且必须是整形(不能是float double,可以是int char)
2、一般来说,每个case中代码段后都必须有一个break;如果没有,结果可能会让你大吃一惊
3、case之后一般都会有default。语法上允许没有default,但是建议写代码时一定要写。


switch case和if else对比:
1、if else适合对比条件比较复杂,但是分支比较少的情况;switch case适合那种对比条件
不复杂,但是分支数很多的情况。
2、所有的选择结构,其实都可以用if else来实现。但是只有部分才可以用switch case实现。
一般的做法是:在适合使用switch case的情况下会优先使用switch case,如果不适合使用
switch case,则不得不使用if else。


5.2、C语言中的循环结构
C语言中常用的循环结构有三个:for循环、while循环、do while循环。
5.2.1、for循环


5.2.2、while循环

i = 1;
sum = 0;                    // 循环初始化
while (i < 100)                // 终止条件
{
    printf("i = %d.\n", i);
    sum += i;                // 循环体
    i += 2;                    // 循环控制增量,属于循环体的一部分
}

while循环的执行步骤:
0、首先是循环初始化。这一部分其实不属于while循环本身。
1、先判断终止条件是否满足。如果是真,则进入第2步;否则直接退出。
2、执行循环体,然后转入第1步。

5.2.3、do while循环

i = 1;
sum = 0;                    // 初始化条件
do
{
    printf("i = %d.\n", i);
    sum += i;
    i += 2;                    // 增量,循环体的一部分
}while (i < 100);            // 终止条件


do while循环的执行步骤:
0、首先是循环初始化。这一部分其实不属于do while循环本身。
1、执行循环体(循环控制变量的增量是循环体的一部分)
2、判断终止条件。若成立,则转入1;若不成立则退出


总结:不管哪种循环结构,都不能缺少一些要素:
循环控制条件初始化,终止条件,循环控制变量增量,循环体。
不同的循环方式(for和while和do while)都有这些,只是格式不同,表现形式不同,放的地方
不同,可读性不同,看起来和设计起来难度不同。

while循环和do while循环哪里不同?while循环是先判断后执行,do while循环是先执行后判断
等循环开始转了之后,其实是一样的。

基础知识:
当我们定义了一个局部变量,但是没有初始化的时候,这个值是随机的。


理解和记忆是相互促进的。如果看不懂,就去记,记住了自然就明白了。如果记不住,就去理解,理解了自然就记住了。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值