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语言中,算法的空间复杂度和时间复杂度指的是一个算法储存所需要的体积以及这个算法运行所需要的时间。这也是衡量一个算法是否优秀的唯一指标。而到现在,计算机硬件已经高度发达,算法的空间复杂度已经不那么重要了。而如何开发出一个功能复杂却又运行快速的算法成为了现在的目标。
    

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

图片图片图片

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

    评论

    相关推荐

    【安全算法之SHA1】SHA1摘要运算的C语言源码实现

    【安全算法之SHA1】SHA1摘要运算的C语言源码实现
    的头像 发表于 10-31 10:42 3823次阅读
    【安全<b class='flag-5'>算法</b>之SHA<b class='flag-5'>1</b>】SHA<b class='flag-5'>1</b>摘要运算的<b class='flag-5'>C</b><b class='flag-5'>语言</b>源码实现

    【安全算法之DES】DES算法C语言源码实现

    【安全算法之DES】DES算法(支持ECB/CBC模式)的C语言源码实现
    的头像 发表于 09-20 08:58 4706次阅读
    【安全<b class='flag-5'>算法</b>之DES】DES<b class='flag-5'>算法</b>的<b class='flag-5'>C</b><b class='flag-5'>语言</b>源码实现

    关于10大C语言基础算法

    这10大C语言基础算法,在面试中会经常遇到! 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在
    发表于 04-29 14:30

    C语言经典算法大全

    C语言经典算法,详细解析算法过程及算法思想,给读者具有启发意义,教程包含C
    发表于 10-07 08:16

    DSP算法大全C语言版本

    DSP算法大全C语言版本
    发表于 11-01 16:57 0次下载

    C语言经典算法

    C语言经典算法--助你解决算法问题C语言经典算法
    发表于 03-23 14:30 27次下载

    经典的C语言算法

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

    100个经典的C语言算法

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

    PID算法温控C语言

    基于PID算法的温度控制系统,PID算法温控C语言程序
    发表于 07-12 16:05 51次下载

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

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

    算法精解-c语言描述

    算法精解-c语言描述
    发表于 10-27 15:28 46次下载
    <b class='flag-5'>算法</b>精解-<b class='flag-5'>c</b><b class='flag-5'>语言</b>描述

    c语言算法大全

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

    关于c语言编写的算法程序

    关于c语言编写的算法程序
    发表于 04-09 17:47 12次下载

    C语言教程:STL-for-each算法

    C语言教程:STL-for-each算法(电源技术版面费5400)-文档为C语言教程:STL-for-each
    发表于 09-17 12:42 3次下载
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>教程:STL-for-each<b class='flag-5'>算法</b>

    DSP算法大全C语言版本

    DSP算法大全C语言版本
    发表于 09-13 16:43 17次下载