广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中有哪些程序结构
  • 549
分享到

C语言中有哪些程序结构

2023-06-17 12:06:36 549人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关C语言中有哪些程序结构,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。(1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执

这篇文章将为大家详细讲解有关C语言中有哪些程序结构,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

(1)顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:

c = a;   a = b;   b = c;

执行结果是a = 5,b = c = 3如果改变其顺序,写成:

a = b;   c = a;   b =c;

则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。

不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。

(2) 分支结构

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。

分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。

学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。下面我介绍几种基本的分支结构。

①if(条件){分支体}

这种分支结构中的分支体可以是一条语句,此时“{}”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。如:要计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0)x=-x;

if(条件)   {分支1}   else   {分支2}

这是典型的分支结构,如果条件成立,执行分支1,否则执行分支2,分支1和分支2都可以是1条或若干条语句构成。

如:求ax^2+bx+c=0的根

分析:因为当b^2-4ac>=0时,方程有两个实根,否则(b^2-4ac<0)有两个共轭复根。其程序段如下:

main()  {  int a,b,c,d,x,y;  printf("Please put the number of a,b&c from the quadratic equation of one variable one by one\n");  scanf("%d%d%d",&a,&b,&c);  d=b*b-4*a*c;  if(d<0)  {  printf("NO Root!Wrong!\n");  }  else {  y=-b-sqrt(d)/2*a;  x=-b+sqrt(d)/2*a;  printf("The 1st equation root=%d\nThe 2nd equation root=%d",y,x);  }  }

③IF嵌套分支语句:

其语句格式为:

if(条件1) {分支1}  else if(条件2) {分支2}   else if(条件3) {分支3}   &hellip;&hellip;   else if(条件n) {分支n}   else {分支n+1}   FOR嵌套,其语句格式为:  for(初值A;范围A;步长A)  {  for(初值B;范围B;步长B)  {  循环体  }  }

FOR嵌套例子:九九乘法表

main()  {  int a,b,c;  for(a=1;a<=9;a++)  {  for(b=1;b<=a;b++)  {  c=b*a;  printf("%dx%d=%d ",b,a,c);  }  printf("\n");  }  }

嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句。

④switch开关语句

该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if&hellip;else语句,它的所有分支都是并列的,程序执行时,由***分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支&hellip;&hellip;的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。

(3)循环结构:

循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即Goto循环、while循环、do?Cwhile循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、do&hellip;while、for三种循环。

常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。

在学完这三个循环后,应明确它们的异同点:用while和do&hellip;while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式,后执行循环体,而do&hellip;while循环是先执行循环体后判断表达式,也就是说do&hellip;while的循环体最少被执行一次,而while循环和for就可能一次都不执行。

另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和 continue语句进行控制的。

顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。

(4)模块化程序结构

C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。 因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

关于C语言中有哪些程序结构就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: C语言中有哪些程序结构

本文链接: https://www.lsjlt.com/news/289036.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中有哪些程序结构
    这篇文章将为大家详细讲解有关C语言中有哪些程序结构,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。(1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执...
    99+
    2023-06-17
  • c语言数据结构有哪些
    c语言数据结构有数组、结构体、链表、栈、队列、树、图、哈希表、堆和链表。数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结...
    99+
    2023-08-09
  • C语言中的程序结构是什么
    这篇文章主要介绍“C语言中的程序结构是什么”,在日常操作中,相信很多人在C语言中的程序结构是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中的程序结构是什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-08
  • C语言数据结构与算法排序的方法有哪些
    这篇文章主要介绍“C语言数据结构与算法排序的方法有哪些”,在日常操作中,相信很多人在C语言数据结构与算法排序的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言数据结构与算法排序的方法有哪些”的疑...
    99+
    2023-06-22
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、C语言必背18个经典程序第一个------乘法表。用...
    99+
    2023-07-02
  • javascript中程序结构有哪些
    javascript中的程序结构有:1.顺序结构,程序默认的结构;2.分支结构,用于判断给定条件的结构;3.循环结构,在程序中反复执行某个操作的结构;javascript中的程序结构有以下三种顺序结构javascript中顺序结构是程序默认...
    99+
    2022-10-06
  • go语言数据结构有哪些
    go语言有数组、切片、映射、链表、栈、队列、树、堆和图这些数据结构。1、数组,可以存储相同类型的元素;2、切片,可以根据需要自动扩展或缩小;3、映射,可以使用映射来实现字典、哈希表等数据结构;4、链表,每个节点包含数据和指向下一个节点的指针...
    99+
    2023-07-31
  • julia语言的结构特征有哪些
    Julia语言的结构特征有以下几个方面:1. 动态类型系统:Julia是一种动态类型的语言,变量的类型可以在运行时进行改变。2. J...
    99+
    2023-09-21
    julia
  • MySQL结构化查询语言有哪些
    这篇文章主要介绍“MySQL结构化查询语言有哪些”,在日常操作中,相信很多人在MySQL结构化查询语言有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL结构化查询语言有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-02
  • go语言的数据结构有哪些
    go语言数据结构有数组、切片、映射、结构体、通道、接口、函数等等。详细介绍:1、数组(Array):一组固定长度的相同类型元素的集合;2、切片(Slice):基于数组的动态长度序列,可以根据需要动态增长或缩减;3、映射(Map):一种键值对...
    99+
    2023-12-14
    go语言 数据结构
  • c语言程序执行的方法有哪些
    C语言程序的执行方法有以下几种:1. 编译执行:将C语言程序通过编译器编译成机器码,生成可执行文件,然后直接运行可执行文件。2. 解...
    99+
    2023-08-08
    c语言
  • C语言程序中结构体的内存对齐详解
    目录一、为什么存在内存对齐二、结构体的内存对齐四规则三、举例一、为什么存在内存对齐 1.平台原因(移植原因): 不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某...
    99+
    2022-11-13
    C语言结构体内存对齐 C语言 内存对齐 C语言 结构体
  • c语言中有哪些排序的方法
    这期内容当中小编将会给大家带来有关c语言中有哪些排序的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、选择排序-简单选择排序选择排序是最简单的一种基于O(n2)时间复杂度的排序算法,基本思想是从i=...
    99+
    2023-06-20
  • julia语言支持的流程控制结构有哪些
    Julia语言支持的流程控制结构包括:1. 条件语句:- `if-else`语句:根据条件执行不同的代码块。- `switch`语句...
    99+
    2023-09-21
    julia
  • php中语言结构和函数有哪些区别
    这篇文章将为大家详细讲解有关php中语言结构和函数有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。区别:1、语言结构比对应功能的函数快;2、语言结构不能在配置文件“php.ini”中禁用,而函数可...
    99+
    2023-06-29
  • C语言数据结构中堆排序的分析总结
    目录一、本章重点 二、堆2.1堆的介绍(三点)2.2向上调整2.3向下调整2.4建堆(两种方式)三、堆排序一、本章重点  堆向上调整向下调整堆排序 二、堆 2.1...
    99+
    2022-11-13
  • c语言子程序有哪几种
    在C语言中,子程序有以下几种:1. 函数:函数是一种可重用的子程序,用于执行特定的任务。函数可以接受参数,执行一系列的操作,并返回一...
    99+
    2023-09-22
    c语言
  • C语言数据结构顺序表怎么构造
    本篇内容介绍了“C语言数据结构顺序表怎么构造”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言在学习链表之前先掌握顺序表什么是顺序表?顺序表...
    99+
    2023-06-30
  • c#语言程序构建基块
    目录1、成员2、辅助功能3、字段4、方法4.1参数4.2方法主体和局部变量4.3静态和实例方法4.4虚方法、重写方法和抽象方法4.5方法重载5、其他函数成员5.1构造函数5.2“属性...
    99+
    2022-11-12
  • 深入了解C语言结构化的程序设计
    目录C语言是结构化的程序设计语言!if语句1:单分支结构2:多分支结构悬空elsewhile循环总结C语言是结构化的程序设计语言! 结构有三大类:顺序结构,选择结构,循环结构! 顺序...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作