Linux_C筆記day04

##遞歸##
遞歸函數必須滿足的兩個條件:a.結束條件,b.遞歸表達式(容易發生死循環)
遞歸函數實際上就是自己調用自己的函數
遞歸下可以與迭代進行互相轉換,遞歸不可遞歸深度太深(棧會溢出)。

階段測試考點總結
填空題
1.邏輯與和邏輯或的短路運算
2.遞歸的結束條件
3.字符串空間長度與字符指針的空間長度
4.const關鍵字的含意:
    const int a == int const a 整型靜態變量a
    const int *a == int const *a是指指針所值靜態整形地址的指針
    int * const a是靜態指針a
5.不同類型sizeof的輸出的空間大小
簡答題
1.strlen與strcpy函數
2.char int float 指針變量的零值
    char \0
    int 0
    float -0.001~0.001之間
    指針 NULL
3.數組指針,一維數組可以看成特殊的二維i數組
4.字符串的存儲地址,逆序輸出
5.<>在編譯器指定的目錄下查找頭文件;“”在當前路徑下查找該頭文件,若沒有,則返回編譯器指定目錄下查找,若還是找不到則返回錯誤。
6.頭文件中的#ifndef/#define/#endif的作用主要防止頭文件的重複包含。
7.檢測本機的大小端類型
9.#define的應用,數據較大時在數字後面加UL
10.宏定義與應用  inline內斂函數 直接加在函數名前,適用於簡單函數的替換。
    #define MIN(a,b) ({if(a<b) return a;\
    else return b;})
回車要用轉譯符\代替
11.指針、數組、函數的重合定義
文章推薦:程序員的十層樓
12.優先級運算
編程題
1.實現整數傳任意進制
2.設計一種排序方法,安裝元素的頻率對數組進行排序,頻率高的在前,頻率相同的元素按照原來的順序排列。比如:
數組 int a[19] = {1,2,2,3,3,3,4,4,5,5,5,5,6,6,6,7,8,9,10},輸出:{5,5,5,5,3,3,3,6,6,6,2,2,4,4,1,7,8,9,10};
邏輯推理
922

發佈了68 篇原創文章 · 獲贊 25 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章