首页 > 编程知识 正文

c语言结构化程序设计的三种基本结构,c语言中选择结构的三种形式

时间:2023-05-06 19:04:56 阅读:131985 作者:2805

1、程序结构:在c语言程序中,共有三种程序结构。 顺序结构、选择结构(分支结构)、环结构;

顺序结构)从头到尾一句一句地执行,执行到底;

选择结构:到达某个节点后,根据判断结果,决定之后向哪个分支方向执行;

循环结构:循环结构有循环体,循环体有编码。 对循环结构来说,重要的是根据判断的结果,决定循环体执行多少次;

注意:逻辑上,有一种bool类型(也称为boolean类型或布尔类型),只具有真和假两个值。 c语言判定式的最终值为bool型,该判定式的bool值决定选择结构如何选择、循环结构如何循环

2、顺序结构:顺序结构简单,一般我们遇到的除选择结构和循环结构外,都是顺序结构;

3、选材结构: c语言中常用的选材结构主要有以下两种:

(1)引入if else )关键字) ifelseelse if

if(bool值(如果bool值为真,则执行代码段1,否则执行代码段2

{

代码段1

}

else

{

代码段2

}

如果if(bool值1 )/bool值1为真,则执行代码段1,否则判断bool值2是否为真

{

代码段1

}

elseif(bool值2 )如果bool值2为真,则执行代码段2,否则直接执行代码段3

//开头的if和结尾的else都只有一个,但是中间的else if可以有多个

代码段2

}

else

{

代码段3

}

#包含

输入主(语音) )。

{

int a、b、max;

a=;

b=;

if(ab )//判断式

{

max=a;

printf (真.n );

}

ELSEif(a==b ) ) )。

{

max=a;

printf(a==b.(n );

}

else

{

max=b;

printf (假.n );

}

printf(max=%d.n )、max );

返回;

}

)2)引入switch case关键字(switchcasebreakdefault )

switch (变量)//执行此语句时,变量的值是已知的

执行{ //switch case语句时,会尝试按该变量值与每个case后面的常量进行顺序比较,以找到第一个匹配项,并在找到匹配项后,

case常量1: //执行与该case对应的代码段,如果找不到,则继续下一个case直到default

代码段1; //如果前面的case不匹配,则默认匹配。

布雷克;

case常数2:

代码段2;

布雷克;

.

默认:

代码段n;

布雷克;

}

注:第一,在case中必须是常数,必须是整形;

第二,一般来说,每个case的代码段之后都需要break;

第三,case之后通常有default。 语法上允许没有default,但建议您在编写代码时一定要写。

//结构化设计-选择结构示例代码switch case演示

#包含

输入主(语音) )。

{

int num;

num=;

是交换机(num )

{

case :

打印机(a (n ) );

布雷克;

case :

打印机(b (n ) );

布雷克;

case :

打印机(c (n ) );

布雷克;

case :

printf(d(n );

布雷克;

默认:

printf(-(n );

布雷克;

}

返回;

}

)3) if else与交换机情况的区别: if else适用于比较条件复杂但分支较少的情况。 交换机cas

e适合那种对比条件简单,但是分支较多的情况;

通常的做法是:在适合使用switch case的情况下会优先使用switch case,如果不适合则使用if else;

4、循环结构:C语言中常用的循环结构主要有以下三种:

(1) for:

for (循环控制变量初始化; 循环终止条件; 循环控制变量增量)

{

循环体

}

循环执行步骤:第一,先进行循环控制变量初始化;

第二,执行循环终止条件,如果判断结果为真,则进入第三步;如果为假则循环终止并退出;

第三,执行循环体;

第四,执行循环控制变量增量,转入第二步;

注:for循环()中的三部分除了循环终止条件外,其他两部分都可以省略,但标准的for循环中,应该把循环控制变量的初始化,增量都放在()当中,并且在循环体中绝对不应该更改循环控制变量;

// 计算1+2+3+····+10

#include

int main(void)

{

int i, sum;

printf("i = %d.n", sum);

for (i=,sum=; i<=; i++)

{

sum += i;

}

printf("sum = %d.n", sum);

return ;

}

(2) while:

循环控制变量初始化

while(循环终止条件)

{

循环体

循环控制变量增量

}

循环执行步骤:第一,先进行循环控制变量初始化(在while之前);

第二,判断循环终止条件,如果判断结果为真,则进入第三步;如果为假则不执行循环体;

第三,执行循环体;

第四,执行循环控制变量增量,转入第二步;

// 计算100以内所有奇数的和

#include

int main(void)

{

int i, sum;

i = ;

sum = ;

while(i < )

{

printf("i = %d.n", i);

sum += i;

i += ;

}

printf("sum = %d.n", sum);

return ;

}

(3) do while:

循环控制变量初始化

do

{

循环体

循环控制变量增量

}while (循环终止条件);

循环执行步骤:第一,先进行循环控制变量初始化(在do while之前);

第二,执行循环体;

第三,执行循环控制变量增量;

第四,判断循环终止条件,如果判断结果为真,则返回第二步;如果为假则直接退出循环;

// 计算100以内所有奇数的和

#include

int main(void)

{

int i, sum;

i = ;

sum = ;

do

{

printf("i = %d.n", i);

sum += i;

i += ;

}while(i < );

printf("sum = %d.n", sum);

return ;

}

(4) 总结:不管哪种循环结构,都不能缺少循环控制条件初始化,终止条件,循环控制变量增量,循环体这四部分;

while循环是先判断后执行,do while循环是先执行后判断,等循环一次之后,其实都是一样的;

(以上所述内容为学习mrdbd的嵌入式课程后复习笔记所得,目的是自己复习巩固知识,同时把自己学到的知识分享出来。能力有限,水平一般,如有错误,欢迎指正,谢谢!)

2017-02-26 17:52:18

执行Go程序的三种方式及Go语言关键字

执行 Go 程序的三种方式及 Go 语言关键字 执行 Go 程序的三种方式 一.使用 go run 命令 二.使用 go build 命令 Step1. 对 go 源码源文件执行 go build 命 ...

【C语言入门教程】3&period;1 程序的 3 种基本结构

程序设计是一个问题求解的过程,解决问题的步骤可看作是程序的控制结构.简单地说,程序的运行过程就是数据输入.数据处理.数据输出 3 个步骤.其中,数据处理过程是否快捷和准确,主要依赖于程序控制结构的设计 ...

python程序的三种控制结构

程序的三种控制结构 什么是控制结构? """ 程序有三种基本结构组成:顺序结构.分支结构.循环结构.任何程序都是由这三种基本结构组成. 顺序结构是程序按照线性顺序依次执行 ...

linux系统编程之信号(八):三种时间结构及定时器setitimer&lpar;&rpar;详解

一,三种时间结构 time_t://seconds   struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microsecond ...

求推荐go语言开发工具及go语言应该以哪种目录结构组织代码?

go语言的开发工具推荐? go语言开发普通程序及开发web程序的时候,应该以哪种目录结构组织代码? 求推荐go语言开发工具及go语言应该以哪种目录结构组织代码? >> golang这个答案 ...

Tomcat部署发布JSP应用程序的三种方法 &lpar;转&rpar;

Tomcat部署发布JSP应用程序的三种方法     1.直接放到Webapps目录下      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...

Spark Scala语言学习系列之完成HelloWorld程序(三种方式)

三种方式完成HelloWorld程序 分别采用在REPL,命令行(scala脚本)和Eclipse下运行hello world. 一.Scala REPL. windows下安装好scala后,直接C ...

Java数据结构——树的三种存储结构

(转自http://blog.csdn.net/x1247600186/article/details/24670775) 说到存储结构,我们就会想到常用的两种存储方式:顺序存储和链式存储两种. 先来 ...

ubuntu下安装程序的三种方法

引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用 ...

随机推荐

SMTP协议--在cmd下利用bat命令行发送邮件

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运 ...

knockout之入门介绍

Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript的前端UI简单化.Knockout是一个以数据模型(data model)为基础的能够帮助你创建丰富文本,响应显示和编 ...

Silverlight OOB 程序自动更新

Silverlight OOB 程序 提供了非常方便的自动更新功能! 要让 Silverlight OOB 安装到客户端电脑后实现自动更新,必须实现以下两个条件: 一.为 程序的 xap  文件进行签 ...

SMART rule之个人理解

SMART原则通常应用于绩效评估中. S是specific的缩写,也就是你所设定的目标必须是一个具体的目标,而不是一个空而大的东西. 比如你的目标定位为今年学习linux,并对进程管理.内存管理等要能 ...

关于云Linux部署tomcat服务器(Maven的多模块war包)

博主的运行环境: 电脑系统: Linux mint 18 JDK版本: java version "1.8.0_171" Maven版本:  Apache Maven 3.5.3 ...

使用XStream是实现XML与Java对象的转换&lpar;6&rpar;--持久化

九.持久化 在第八节的示例中,当我们操作一组对象时,我们可以指定Writer.OutputStream来写出序列化后的XML数据,我们还可以指定Reader.InputStream来读取序列化后的XM ...

SpringCloud-day06-Ribbon负载均衡

6.3.Ribbon负载均衡 为了实现真正的负载均衡,我们需要集群3个服务提供给者,而在这之前我们只有一个服务提供者1001,那么我们新建模块microservice-station-provider ...

洛谷P3248 &lbrack;HNOI2016&rsqb;树&lpar;主席树 倍增 &rpar;

题意 题目链接 Sol 从上午九点淦到现在qwq 思路比较简单,就是把每次加入的一坨点看成一个,然后直接倍增搞.. 然后慢慢调就可以了... 最后数量级会到达(10^{10}),所以应该开long ...

GDAL添加ECW格式支持

目录 GDAL添加ECW格式支持 ECW 下载ECW JPEG SDK 在Unix平台构建支持ECW的GDAL 二进制ECW SDK和GCC >= 5.1 在Linux上构建的教程 在Windo ...

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。