RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言的算法-1

汽車電子技術(shù) ? 來源:我不是C神 ? 作者:我不是C神 ? 2023-02-21 14:35 ? 次閱讀

圖片

今天為大家?guī)?a href="http://hljzzgx.com/v/tag/2562/" target="_blank">算法的詳細教程

算法的特點

算法,顧名思義是為了解決一類問題而制定的一個方法。這與程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)密切相關(guān)。算法的描述形式也多種多樣,像傳統(tǒng)流程圖、結(jié)構(gòu)化程序圖以及計算機程序語言等等。下面就為大家講解算法的相關(guān)內(nèi)容。
  • **確定性**
    
      在C程序中,每一個執(zhí)行語句的步驟都應(yīng)當(dāng)是被確切定義的。同理,算法的每一個步驟也都應(yīng)當(dāng)是被確切定義的。任何一個過程不能有二義性,在編輯算法的過程中,必須對每個執(zhí)行語句做出嚴格而又清楚的定義。
    
  • **有窮性**C語言中,每一個算法所執(zhí)行的語句步數(shù)一定是有窮的。并且每一步都可以在有窮的時間內(nèi)完成,不能無限制的執(zhí)行下去。如果程序或者程序的某一部分不能在有窮的時間內(nèi)完成,那么程序就會永無止境的運行下去,進入一個死循環(huán)。
    
  • **可行性**
    
      在C程序中,每一句執(zhí)行語句必須可以有效的運行出結(jié)果。否則就會出現(xiàn)邏輯性的錯誤。比如:
    
int num1,num2,num3;          //聲明三個整型變量
scanf("%d,%d,%d",&num1,&num2,&num3);    //輸入這三個數(shù),為其賦值
if(num2!=0)        //如果num2的值不為0
num3=num1/num2;    //num3的值等于num1的值除num2的值
else 
printf("error");      //輸出 error
很顯然,當(dāng) num2 的值為0時,上述代碼中的第4行代碼就是一個無效的執(zhí)行語句。因為0不可以做分母。
  • **輸入及輸出**
    
      在C語言中,一個完整的算法應(yīng)該存在一個或者多個輸入/輸出的值。輸入的值作為執(zhí)行算法的一些初始量,輸出的值則為算法執(zhí)行后的結(jié)果。比如:
    
int a,b,c;        //聲明三個變量 a b c
scanf("%d,%d,%d",&a,&b,&c);        //輸入a b c 的值,為其賦值
上述示例的代碼就需要輸入多個值,為變量賦值。

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

算法的優(yōu)缺點

算法,既然有其優(yōu)點,自然也會有缺點。
  • **正確性**
    
      在C語言中,算法的正確性指的是只要輸入的數(shù)據(jù)是合法數(shù)據(jù),該算法都可以得到一個確切又準(zhǔn)確的值。
    
  • **可讀性**
    
      在C語言中,算法的可讀性指的是一個算法被理解的難易程度。一個算法的可讀性越高,那么這個算法后期就越容易被理解。相反,若是一個算法的可讀性很低,那么這個算法在后期將很難被修復(fù)和完善。
    
  • **健壯性**
    
      在C語言中,算法的健壯性指的是一個算法對于非法輸入的包容性。因為每一個用戶對同一程序的理解不同,因此在程序使用的過程中會出現(xiàn)輸入數(shù)據(jù)非法的情況。而程序的健壯性使得算法不會因為用戶的非法輸入而癱瘓。
    
  • **空間****復(fù)雜度和時間復(fù)雜度**
    
      在C語言中,算法的空間復(fù)雜度和時間復(fù)雜度指的是一個算法儲存所需要的體積以及這個算法運行所需要的時間。這也是衡量一個算法是否優(yōu)秀的唯一指標(biāo)。而到現(xiàn)在,計算機硬件已經(jīng)高度發(fā)達,算法的空間復(fù)雜度已經(jīng)不那么重要了。而如何開發(fā)出一個功能復(fù)雜卻又運行快速的算法成為了現(xiàn)在的目標(biāo)。
    

今天的內(nèi)容就到這里,下期小編將帶大家繼續(xù)學(xué)習(xí),各位看官老爺記得查閱哦~

圖片圖片圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    【安全算法之SHA1】SHA1摘要運算的C語言源碼實現(xiàn)

    【安全算法之SHA1】SHA1摘要運算的C語言源碼實現(xiàn)
    的頭像 發(fā)表于 10-31 10:42 ?3981次閱讀
    【安全<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>源碼實現(xiàn)

    【安全算法之DES】DES算法C語言源碼實現(xiàn)

    【安全算法之DES】DES算法(支持ECB/CBC模式)的C語言源碼實現(xiàn)
    的頭像 發(fā)表于 09-20 08:58 ?4891次閱讀
    【安全<b class='flag-5'>算法</b>之DES】DES<b class='flag-5'>算法</b>的<b class='flag-5'>C</b><b class='flag-5'>語言</b>源碼實現(xiàn)

    關(guān)于10大C語言基礎(chǔ)算法

    這10大C語言基礎(chǔ)算法,在面試中會經(jīng)常遇到! 算法是一個程序和軟件的靈魂,作為一名優(yōu)秀的程序員,只有對一些基礎(chǔ)的算法有著全面的掌握,才會在
    發(fā)表于 04-29 14:30

    C語言經(jīng)典算法大全

    C語言經(jīng)典算法,詳細解析算法過程及算法思想,給讀者具有啟發(fā)意義,教程包含C
    發(fā)表于 10-07 08:16

    DSP算法大全C語言版本

    DSP算法大全C語言版本
    發(fā)表于 11-01 16:57 ?0次下載

    C語言經(jīng)典算法

    C語言經(jīng)典算法--助你解決算法問題C語言經(jīng)典算法
    發(fā)表于 03-23 14:30 ?27次下載

    經(jīng)典的C語言算法

    一些經(jīng)典的C語言算法,該算法詳細介紹了使用C語言如何編程解決一些比較難而且比較抽象的程序。
    發(fā)表于 04-06 14:52 ?4次下載

    100個經(jīng)典的C語言算法

    C語言經(jīng)典算法?.doc 這是我收集的部分c語言算法。
    發(fā)表于 04-06 15:13 ?0次下載

    PID算法溫控C語言

    基于PID算法的溫度控制系統(tǒng),PID算法溫控C語言程序
    發(fā)表于 07-12 16:05 ?51次下載

    PID原理與C語言算法小合集

    PID原理與C語言算法小合集,包含PID原理講解與不同形式PID的C語言程序源碼
    發(fā)表于 07-12 16:05 ?33次下載

    算法精解-c語言描述

    算法精解-c語言描述
    發(fā)表于 10-27 15:28 ?46次下載
    <b class='flag-5'>算法</b>精解-<b class='flag-5'>c</b><b class='flag-5'>語言</b>描述

    c語言算法大全

    c語言算法大全
    發(fā)表于 10-27 15:47 ?116次下載
    <b class='flag-5'>c</b><b class='flag-5'>語言</b><b class='flag-5'>算法</b>大全

    關(guān)于c語言編寫的算法程序

    關(guān)于c語言編寫的算法程序
    發(fā)表于 04-09 17:47 ?12次下載

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

    C語言教程:STL-for-each算法(電源技術(shù)版面費5400)-文檔為C語言教程:STL-for-each
    發(fā)表于 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語言版本
    發(fā)表于 09-13 16:43 ?17次下載
    RM新时代网站-首页