回覆列表
  • 1 # 使用者1166385600116

    1,此函式非彼函式。 lisp 裡函式是first class,換句話說一個函式是可以當作其他函式的返回值 c 裡邊函式是third class,不能作為其他函式返回值,不能當其他函式的引數。c可以說是algo方言,algo像英語,lisp更像數學。2,函式式語言通有的特性是parameter polymorphic,通俗點說你用c寫了個"int quickSort(int arr[])",那這函式就只能用來比較int,但是函式式語言你就能寫quickSort(aList, aMethod), 其中aList是任意型別用來排序的list, aMethod是用來判斷該型別關係的函式,這樣能對所有型別排序。3,函式式語言不存在變數,只能出於方便起見宣告常數。剛開始你給幾個引數,然後函式之間互相呼叫,然後給你一個結果,這就是lisp. 同時沒變數也就沒有迴圈,想重複就得遞迴。可想而知並不是所有我們想做的東西都可以用遞迴解決的,所以在很多需要特殊資料結構的地方lisp很不好使,比如說symbol table。4,函式式語言裡允許有匿名函式(大函數里套小函式,小函數里套小小函式,大夥都沒有名字),這就需要創造cloures進行deep binding,要不然就不知道匿名函數里的非本地引用在哪了。C裡邊沒有cloures,用全域性變數能達到相同效果,不過全域性變數容易把程式弄亂,少用。5,lisp語義簡單,基於s表示式,可以自己解釋自己。c應該是不行。6, 學點lisp能讓你從新的角度思考程式設計,很有啟發性。伸手可恥,自己學吧。1A: Overview and Introduction to Lisp祝樓主早日成大牛。

  • 2 # 使用者5386745242830

    C語言中計算指數函式使用pow,不是power,兩個引數都是double型別的,第一個是底數,第二個是指數。例如pow(3,0.5)表示3的0.5次方,就是3開平方。

  • 中秋節和大豐收的關聯?
  • 汽車電子控制系統各名稱程式碼(英文縮寫)?