C_Learning (1)

/數據類型及佔用字節
 char 
  1個字節{-128~127}
 int  
  二、4個字節,取決於平臺是16位仍是32位機子{-65536~65535}
 short int
  2個字節{-32768~32767}
 long int
  4個字節{-2147483648~21474833647}
 float 
  4個字節{-3.4*10^-38~3.4*10^38}
 double 
  8個字節{-1.7*10-308~1.7*10^308}
 long double 
  8個字節{1.7*10^-308~1.7*10^308}
  
/數據類型強制轉換時,由高階向低階轉換可能致使數據丟失;git

/前綴自增與後綴自增的區別在於:前綴先自增再賦值,後綴先賦值再自增;數組

/運算優先級口訣:
 括號成員第一;        //括號運算符[]() 成員運算符.  -> 
 全體單目第二;        //全部的單目運算符好比!、~、++、 --、 +(正)、 -(負) 、指針運算*、&
 乘除餘三,加減四;     //這個"餘"是指取餘運算即%
 移位五,關係六;      //移位運算符:<< >> ,關係:> < >= <= 等
 等於(與)不等排第七;  //即== 和!=
 位與異或和位或;      //這幾個都是位運算: 位與(&)異或(^)位或(|)   
 "三分天下"八九十; 
 邏輯或跟與;             //邏輯運算符:|| 和 &&
 十二和十一;             //注意順序:優先級(||)  底於 優先級(&&)
 條件高於賦值,         //三目運算符優先級排到13 位只比賦值運算符和","高
 逗號運算級最低!      //逗號運算符優先級最低
  
/字符(串)的輸出和輸入
   /putchar和getchar一次只能輸出和接收一個字符;
   /puts和gets用來輸出和接收字符串;
 
/printf附加符號
   /+、- 向右、向左對齊
   /m.n m=數據最小寬度,n=取n個字符或小數
 
/for語句中,表達式2爲空 || 表達式3爲空 || 表達式全爲空,則說明是無限循環函數

/字符串操做
   /字符串複製
   /strcpy(目的字符數組,源字符數組)
   /目的字符數組的長度必須足夠長,且不寫成數組名形式
   /不能用賦值語句將一個字符串常量或字符數組賦值給一個字符數組
   /strncpy(str2,s,i);將數組s的前i個字符複製到數組str2中
  
 /字符串鏈接
  /strcat(目的字符數組,源字符數組)
    /目的字符數組的長度必須足夠長
 
 /字符串比較
    /strcmp(目的字符數組,源字符數組)
    /返回值:
     0  —— 字符串1 = 字符串2
     正數 —— 字符串1 > 字符串2
     負數 —— 字符串1 < 字符串2
 
 /字符串大小寫轉換
    /小寫轉大寫:strupr(數組)
    /大寫轉小寫:strlwr(數組)指針

 /字符串長度
    /strlen(數組) [不含字符串結束標誌'\0s']
  
/函數
   /內部函數(靜態函數):static
      \使函數只侷限在函數所在的源文件中,若是在不一樣的源文\
      \件中有相同的內部函數,則這些同名的函數是互不干擾的
   /外部函數:extern
       \能夠被其餘源文件調用的函數,即外部函數是共享的內存

/絕對值
   /abs();  求整數的絕對值
   /labs(); 求長整數的絕對值
   /fabs(); 求浮點數的絕對值字符串

/檢測參數是否字母:isalpha()
   /是,返回非零值
   /否,返回零get

/檢測參數是否數字:isdigit()
   /是,返回非零值
   /否,返回零
 
/檢測數字或字母:isalnum()
   /是,返回非零值
   /否,返回零
 
/變量存儲類型
   /存儲空間:程序區、靜態存儲區、動態存儲區
    /程序區:  放置用戶要執行的程序段
    /靜態存儲區:放置靜態存儲的變量,全局變量都保存在靜態存儲區,所以,全局變量從程序執行時開始分配存儲單元,直到程序終止時,才釋放所佔的存儲單元
    /動態存儲區:放置動態存儲的變量,如與堆棧操做相關的數據以及局部變量,所以,若是一個函數被調用了兩次,其中的變量存儲空間可能爲不一樣的地址 it

   /自動變量:auto,動態分配存儲單元,用完就釋放,再次調用時從新計算
   /靜態變量:static,靜態分配存儲單元,用完不釋放,再次調用時在上一次的基礎上繼續計算基礎

   /寄存器變量register(屬於動態存儲方式)
      /CPU訪問寄存器的速度要快於內存,所以register用於須要頻繁使用的變量
      /但因爲寄存器數量有限,當計算機的寄存器不夠用時,變量是做爲自動變量處理的變量

/外部變量:extern(屬於靜態存儲方式)    /就是全局變量    /可是能夠被其餘源文件調用/靜態外部變量:static    /也是全局變量    /可是隻能被當前源文件使用

相關文章
相關標籤/搜索