0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言的算法-1

汽车电子技术 来源:我不是C神 作者:我不是C神 2023-02-21 14:35 次阅读

图片

今天为大家带来算法的详细教程

算法的特点

算法,顾名思义是为了解决一类问题而制定的一个方法。这与程序设计和数据结构密切相关。算法的描述形式也多种多样,像传统流程图、结构化程序图以及计算机程序语言等等。下面就为大家讲解算法的相关内容。
  • **确定性**
    
      在C程序中,每一个执行语句的步骤都应当是被确切定义的。同理,算法的每一个步骤也都应当是被确切定义的。任何一个过程不能有二义性,在编辑算法的过程中,必须对每个执行语句做出严格而又清楚的定义。
    
  • **有穷性**C语言中,每一个算法所执行的语句步数一定是有穷的。并且每一步都可以在有穷的时间内完成,不能无限制的执行下去。如果程序或者程序的某一部分不能在有穷的时间内完成,那么程序就会永无止境的运行下去,进入一个死循环。
    
  • **可行性**
    
      在C程序中,每一句执行语句必须可以有效的运行出结果。否则就会出现逻辑性的错误。比如:
    
int num1,num2,num3;          //声明三个整型变量
scanf("%d,%d,%d",&num1,&num2,&num3);    //输入这三个数,为其赋值
if(num2!=0)        //如果num2的值不为0
num3=num1/num2;    //num3的值等于num1的值除num2的值
else 
printf("error");      //输出 error
很显然,当 num2 的值为0时,上述代码中的第4行代码就是一个无效的执行语句。因为0不可以做分母。
  • **输入及输出**
    
      在C语言中,一个完整的算法应该存在一个或者多个输入/输出的值。输入的值作为执行算法的一些初始量,输出的值则为算法执行后的结果。比如:
    
int a,b,c;        //声明三个变量 a b c
scanf("%d,%d,%d",&a,&b,&c);        //输入a b c 的值,为其赋值
上述示例的代码就需要输入多个值,为变量赋值。

    又如:
main()
{
printf("hello word");         //输出hello Word
}
上述示例的代码就不需要输入值。

算法的优缺点

算法,既然有其优点,自然也会有缺点。
  • **正确性**
    
      在C语言中,算法的正确性指的是只要输入的数据是合法数据,该算法都可以得到一个确切又准确的值。
    
  • **可读性**
    
      在C语言中,算法的可读性指的是一个算法被理解的难易程度。一个算法的可读性越高,那么这个算法后期就越容易被理解。相反,若是一个算法的可读性很低,那么这个算法在后期将很难被修复和完善。
    
  • **健壮性**
    
      在C语言中,算法的健壮性指的是一个算法对于非法输入的包容性。因为每一个用户对同一程序的理解不同,因此在程序使用的过程中会出现输入数据非法的情况。而程序的健壮性使得算法不会因为用户的非法输入而瘫痪。
    
  • **空间****复杂度和时间复杂度**
    
      在C语言中,算法的空间复杂度和时间复杂度指的是一个算法储存所需要的体积以及这个算法运行所需要的时间。这也是衡量一个算法是否优秀的唯一指标。而到现在,计算机硬件已经高度发达,算法的空间复杂度已经不那么重要了。而如何开发出一个功能复杂却又运行快速的算法成为了现在的目标。
    

今天的内容就到这里,下期小编将带大家继续学习,各位看官老爷记得查阅哦~

图片图片图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    C语言算法速查手册

    本书用C语言编写了科研和工程中最常用的166个算法,这些算法包括复数运算、多项式的计算、矩阵运算、线性代数方程组的求解、非线性方程与方程组的求解、代数
    发表于 11-24 16:07 0次下载

    C语言基本算法程序百例

    C语言基本算法程序百例,希望对广大发烧友们有所帮助!
    发表于 09-27 17:15 0次下载

    B样条曲线曲面和NURBS曲线曲面_C语言算法源程序

    B样条曲线面和nurbs曲线曲面C语言算法源程序,可以独立运行,转载
    发表于 02-29 14:35 63次下载

    经典的C语言算法

    一些经典的C语言算法,该算法详细介绍了使用C语言如何编程解决一些比较难而且比较抽象的程序。
    发表于 04-06 14:52 4次下载

    100个经典的C语言算法

    C语言经典算法 .doc 这是我收集的部分c语言算法
    发表于 04-06 15:13 0次下载

    PID原理与C语言算法小合集

    PID原理与C语言算法小合集,包含PID原理讲解与不同形式PID的C语言程序源码
    发表于 07-12 16:05 33次下载

    c语言算法大全

    c语言算法大全
    发表于 10-27 15:47 116次下载
    c<b class='flag-5'>语言</b><b class='flag-5'>算法</b>大全

    10个经典的C语言基础算法及代码

    算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。
    的头像 发表于 05-13 14:40 3w次阅读
    10个经典的C<b class='flag-5'>语言</b>基础<b class='flag-5'>算法</b>及代码

    MCU常用的C语言算法

    算法(Algorithm):计算机解题的基本思想方法和步骤。
    的头像 发表于 08-12 15:00 4535次阅读

    C语言算法和注释大全PDF电子书免费下载

    本文档的主要内容详细介绍的是C语言算法和注释大全PDF电子书免费下载包括了:1.10进制转2进制,二,标题:啤酒和饮料,三,圆的面积,四,标题:切面条,五,01 字符串,六,字母图形,七,求n 个数的最大值,最小值,和,八,杨辉三角形等91个
    发表于 09-12 17:17 26次下载

    单片机常用的C语言算法有哪些?

    是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法
    的头像 发表于 09-13 09:49 2190次阅读
    单片机常用的C<b class='flag-5'>语言</b><b class='flag-5'>算法</b>有哪些?

    【干货】单片机常用的14个C语言算法

    算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法
    发表于 02-09 09:46 3次下载
    【干货】单片机常用的14个C<b class='flag-5'>语言</b><b class='flag-5'>算法</b>

    C语言算法之比赛求平均分

    学技术,重在日拱一卒、一点一滴的积累。 今天一起分析C语言算法之15:裁判求平均分。
    发表于 04-24 09:26 1741次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>算法</b>之比赛求平均分

    请问如何将C语言算法移植到FPGA上?

    确定算法:首先,你需要确保要移植的C语言算法是合适的。FPGA适合并行计算和高度可定制的应用。因此,你需要选择一个适合FPGA实现的算法
    发表于 09-12 17:20 1040次阅读

    178个C语言算法源码下载

    电子发烧友网站提供《178个C语言算法源码下载.zip》资料免费下载
    发表于 11-21 09:35 3次下载
    178个C<b class='flag-5'>语言</b><b class='flag-5'>算法</b>源码下载