1.強制型別轉換:
強制型別轉換是把變數從一種型別轉換為另一種資料型別,例如,如果您想存盤一個 long 型別的值到一個簡單的整型中,您需要把 long 型別強制轉換為 int 型別,
您可以使用強制型別轉換運算子來把值顯式地從一種型別轉換為另一種型別:
(type_name) expression;
大體上沒啥特別的,總體來說幾個點:
1.強制型別轉換運算子的優先級大于除法
2.型別轉換可以是隱式的,由編譯器自動執行,也可以是顯式的,通過使用強制型別轉換運算子來指定,
3.在編程時,有需要型別轉換的時候都用上強制型別轉換運算子,是一種良好的編程習慣,
4.整數提升是指把小于 int 或 unsigned int 的整數型別轉換為 int 或 unsigned int 的程序,
5.如果一個運算子兩邊的運算元型別不同,先要將其轉換為相同的型別,即較低型別轉換為較高型別,然后再參加運算. (char to int,int to unsigned,long to double)
2.錯誤處理:
C 語言不提供對錯誤處理的直接支持,但是作為一種系統編程語言,它以回傳值的形式允許您訪問底層資料,
在發生錯誤時,大多數的 C 或 UNIX 函式呼叫回傳 1 或 NULL,同時會設定一個錯誤代碼 errno,該錯誤代碼是全域變數,表示在函式呼叫期間發生了錯誤,您可以在 errno.h 頭檔案中找到各種各樣的錯誤代碼,
所以,C 程式員可以通過檢查回傳值,然后根據回傳值決定采取哪種適當的動作,開發人員應該在程式初始化時,把 errno 設定為 0,這是一種良好的編程習慣,0 值表示程式中沒有錯誤,
C 語言提供了以下函式來顯示與 errno 相關的文本訊息:
perror() (函式顯示您傳給它的字串,后跟一個冒號、一個空格和當前 errno 值的文本表示形式,)
strerror() (函式,回傳一個指標,指標指向當前 errno 值的文本表示形式,)
exit狀態是一種宏,可以用于控制程式的結束:
exit(EXIT_FAILURE);
exit(EXIT_SUCCESS);
顧名思義,成功就是無錯誤,反之, EXIT_SUCCESS一般被定義為0,而EXIT_FAILURE一般是-1.
3.遞回(recursion):
遞回指的是在函式的定義中使用函式自身的方法,
遞回的邏輯就是以同樣的方法,處理同樣的問題,但是每次處理的物件也都逐漸變小,
舉個生活的例子,就好像你扔出了一卷卷紙,你想要恢復原樣只能一圈圈的把卷紙轉回去,
以下幾點需要注意:
a.遞回非常重要,使用遞回時,程式員需要注意定義一個從函式退出的條件,否則會進入死回圈,
b.遞回函式在解決許多數學問題上起了至關重要的作用,比如計算一個數的階乘、生成斐波那契數列,等等,
c.使用遞回是要付出代價的,與直接的陳述句(如while回圈)相比,遞回函式會耗費更多的運行時間,并且要占用大量的堆疊空間,遞回函式每次呼叫自身時,都需要把它的狀態存到堆疊中,以便在它呼叫完自身后,程式可以回傳到它原來的狀態,未經精心設計的遞回函式總是會帶來麻煩,
參考和例子:
https://www.runoob.com/cprogramming/c-type-casting.html
https://www.runoob.com/cprogramming/c-error-handling.html
https://www.runoob.com/cprogramming/c-recursion.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61761.html
標籤:C
上一篇:SCAU1143 多少個Fibonacci數--大菲波數【杭電-HDOJ-1715】--高精度加法--Fibonacci數---大數比較
