四、三种基本程序结构

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循环解析:

  1. int i = 0;。 会首先被执行,且只会执行一次。这一步声明并初始化循环控制变量;也可以不在这写出任何语句,只要留出一个分号即可。
  2. 执行判断语句 i < 100;。 如果为真,则执行循环体;如果为假,则不执行循环体且循环结束。
  3. 执行完for循环体后,执行 i++ 。这里可以更改循环控制变量。该语句可以留空,只要在条件语句后出现一个分号即可。
  4. 再次执行条件语句 i < 100;。依次循环......

3.2、while循环

(1)示例伪代码

while(bool)
{
    循环体
}

(2)while循环解析

  1. 判断bool条件。
  2. 如果为真,则执行循环体,然后跳转到第1步;如果为假,循环结束。

3.3、do while循环

(1)示例伪代码

do
{
    循环体
}while(bool)

(2)do...while解析

  1. 执行循环体。
  2. 判断bool条件。如果为真,跳转到第1步;如果为假,循环结束。

3.3、对比

(1)for 循环能实现的 while 循环也一定能实现。

(2)while循环的初始化循环控制变量在while循环前编写,更改循环控制变量在循环体中编写。因此代码的整体可读性、整齐性没有for循环好。除了死循环不建议用while循环。

(3)while循环和do while循环的不同:while循环是先判断后执行,do while循环是先执行后判断。do while循环的循环体至少会执行一次,等循环开始转了之后,其实都一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 逻辑结构的基本关系包括:顺序结构、选择结构、循环结构和子程序结构。 1. 顺序结构:程序按照顺序执行,每个语句都按照先后顺序执行,没有跳过或重复执行的情况。 2. 选择结构:程序根据条件的不同选择执行不同的语句,包括单向选择和双向选择两种形式。 3. 循环结构:程序根据条件的不同重复执行某个语句或语句块,包括while循环、do-while循环和for循环三种形式。 4. 子程序结构:程序中包含一个或多个子程序,每个子程序可以独立执行,也可以被其他程序调用执行。 关系图如下: ![逻辑结构关系图](https://i.imgur.com/3LzJj8L.png) ### 回答2: 逻辑结构的基本关系包括:线性结构、树形结构、图形结构和集合结构。 线性结构指的是数据元素之间呈线性关系,每个元素只有一个直接前驱和一个直接后继。例如,串、队列、栈等数据结构均属于线性结构。 树形结构指的是数据元素之间存在一种层次关系,每个元素都有唯一的一个前驱,但可以有多个后继。例如,二叉树、赫夫曼树等数据结构均属于树形结构。 图形结构指的是数据元素之间存在多种关系,图形结构中的数据元素称为结点,每个结点可以与零个或多个其他结点相连。例如,图、网等数据结构均属于图形结构。 集合结构指的是数据元素之间没有任何特殊关系,各元素地位均等,但它们同属于一个集合中。例如,哈希表等数据结构均属于集合结构。 以下是逻辑结构的基本关系的关系图: ![逻辑结构的基本关系](https://ai.bdstatic.com/file/91B3B5CA1F6C48EAA9A5CA5C396E2099) ### 回答3: 逻辑结构是指数据元素之间的相互关系,它反映了数据元素之间的逻辑联系。常见的逻辑结构有基本关系:集合、线性、树形和图形。 1. 集合关系:集合是由若干个元素组成的无序组合。在集合关系中,各个数据元素之间没有任何特别的关系,它们是平等的存在,没有任何约束和联系。例如,一个歌唱比赛的参赛选手,他们之间没有任何特定的比较或排名,只是一个固定的人数的集合。集合关系的关系图如下所示: { A, B, C, D, E } 2. 线性关系:线性是指数据元素之间存在一对一的线性关系。在线性关系中,数据元素之间存在特定的逻辑次序,即第一个数据元素只有唯一的后继,最后一个数据元素只有唯一的前驱。例如,在一个有序列表中,每个数据元素只有唯一的前驱和后继。线性关系的关系图如下所示: A → B → C → D → E 3. 树形关系:树形是指数据元素之间存在一对多的层次关系。在树形关系中,一个数据元素可以有多个子元素,但只能有一个父元素。数据元素按照层次结构组织,每个元素对应于树形中的一个节点。例如,家谱中的关系就是树形关系,每个人的父亲和母亲唯一,但是每个人可以有多个子女。树形关系的关系图如下所示: A ├─ B │ ├─ D │ └─ E └─ C ├─ F └─ G 4. 图形关系:图形是指数据元素之间的任意关系。在图形关系中,数据元素之间没有特定的次序和层次,它们之间可以存在多对多的关系。例如,在一个城市的地图中,不同地点之间可以有很多条不同的路径,每个路径连接两个地点,可以由多条路径到达同一地点。图形关系的关系图如下所示: A──┬─ B ├─ C ├─ D── E └─ F── G

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码织梦师小猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值