C語言隨記

來源:互聯網
上載者:User
0. 程式是對現實世界的運動狀態的類比。面向過程的程式設計認為,每個程式都要完成一些規定的功能。每個程式的實現是通過對資料進行一系列的加工的過程而實現的。因而程式設計包括組織資料——設計資料結構,以及對資料結構進行加工的過程——設計演算法兩部分。

1. 異或運算子"^"可用於翻轉某位的值,如果想翻轉一個變數中的某一位,就是改變數與該位置1其餘為全置0的數進行異或運算即可。

2. 左移運算子"<<",左移一位相當於乘2。右移運算子對無符號的int型或char型資料來說,右移時左端補0;對帶符號的int和char類型資料,如果符號位為0,則左邊補0,若為1則左邊補入的全是1,此時相當於除2。

3. scanf函數的傳回值是指成功匹配的項數,即對比格式參數輸入正確的資料的個數。

4. 位段是一種特殊形式的結構體結構中的成員,它是以位為單位來定義結構體中的成員的長度。它可以使使用者能方便的訪問一個位元組中的有關位,這在控制中更為重要。一個聲明的例子:
  struct packed_data
 {
     unsigned int a: 3;
     unsigned int  :  4;  //無名位段作用是使下一個位段從另一個位元組開始
     unsigned int c: 5;
     unsigned int d: 4;
  }x;

  引用方法:x.a, x.c, x.d;允許賦值: x.a = 2; 

5. 字元類型的資料(如字元'a','3')在記憶體中以相應的ASCII代碼存放。字元型資料和認證在字元的ASCII碼範圍內是互相通用的。

6. C語言提供了一個測定某一種類型資料所佔儲存空間長度的運算子"sizeof"。

7. C語言規定,程式中凡出現以數字0開頭的數字序列,一律作為八位元處理;凡出現以0x開頭後面跟若干位元字的,一律作為十六進位數處理;其他數字作為十進位數處理。整型數後加l或L為長整數。

8. 實行常量只能用十進位形式表示。

9.逸出字元:\n 換行;\t 橫向跳格;\v 縱向跳格;\b 退格;\r 斷行符號;\f 走紙換頁;\\ 反斜線字元;
                       \' 單引號字元 \ddd 1到3位8進位數代表的字元;\xhh 1到2位16進位數代表的字元。

10. 字串中的字元數成為該字串的長度,字串在儲存時要多佔用一個位元組來儲存"\0"。

11. C語言中的模數運算子:"%"

12. 當一個實數(浮點數)轉換為整數時,實數的小數部分全部捨去,並按整數形式儲存。但應注意示數的整數部分不要超過整型數允許的最大範圍(-32768~32767),否則資料出錯。當有double型轉換為float型時,去掉多餘的有效數字但按四捨五入處理。

13. 當較長的整數轉換為較短的整數時,得到的只是原資料值以32768為模的餘數。

14. 在執行getchar函數時,雖然是讀入一個字元,但並不是從鍵盤按一個字元,該字元就被讀入送給一字元變數,而是等到輸入完一行按斷行符號鍵後,才將該行的字元輸入緩衝區,然後gechar函數從緩衝區中去一個字元給一個字元變數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.