程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言學習筆記(二)

C語言學習筆記(二)

編輯:關於C語言

C語言類型轉換:

1. example:     

    int a;

    a = 3.2 + 3 / 4.0;     //先轉換成double,得0.75

                //3.2 + 0.75 = 3.95

                //因為a是整數,最後的結果決定於a的類型(即等號左邊的類型),結果為3。

2.隱式轉換:

  a.運算轉換——不同類型數據混合運算時;

  b.賦值轉換——把一個值賦予類型不同的變量時;

  c.輸出轉換——輸出時轉換成指定的輸出格式;

  d.函數調用——實參與形參類型不一致時轉換。

  

    運算轉換:

    (a)char, short   自動轉換>int,

    (b)float            自動轉換>double

  在參與數學運算時只有int和double兩種類型。所有的數學函數名的返回值都是double類型。

3.

  example:

    double x = 3.4;

    (int)x;

  首先在內存棧中分配八個字節作為x的空間;在常量區中也有八個字節存儲3.4;再在臨時空間中分配四個字節,將"3"存入這四個字節中。強制類型轉換得到所需類型的中間變量,原變量值不變。

4.       ++,--(後置):先使用後執行

  int a[10];

  int *p = a;

  m = *p++;   //==>m = *(p++);

 相當於m = *p;   p++;

   ++(後置)和*都處於同一個優先級,結合順序是自右向左。

5.在C語言中"="賦值是一個運算符,也是有運算結果的,其運算結果與其左值是一樣的。

  example:

    b = a = 2; 先計算a = 2,再將a = 2的運算符結果賦給b。

  example:

    int a;

    a = 10;

       這裡存在運算轉換,因為10是一個short類型的常量,而賦給a後轉換成int類型。

6.",": 逗號運算符,它的值是最後一個表達式的值。

7. int main(): 正常返回是"0",出錯返回非零值

8. I/O緩沖

  a.緩沖被寫滿

  b.文件被關閉時,緩沖——>磁盤

  c.flush()強制刷緩沖

  d.程序崩潰的時候,不會寫到磁盤中去。

9.用最少的空間交換兩個數據

  int a,b;          int a,b,temp;

  a = a + b;         temp = a;  

  b = a - b;     <==  a = b;

  a = a - b;          b = temp;

 用最少的空間,最快的方式交換兩個數

  int a,b;

  a = a ^ b;

  b = a ^ b;

  a = a ^ b;

 因為兩個相同的數'^'為零,如 a^a^b = b;  ==> 0^b = b;

10.

  int main()

  {

    int *p;                //這是不對的,p此時是一個空指針

    scanf("%d", p);      

  }

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved