c語言隨筆1

C語言基礎

=====================函數

1. 學習方法

  多看+多敲+多思考總結學習

2. C語言中變量類型及其使用

-1)、變量

  ----用來存放各類類型的數據編碼

  例子:spa

    商品的價格---》小數表示 4.0 3.5指針

    商品的數量---》整數字符串

    商品的名稱---》中文字符串或者英文字符串數學

-2)、變量類型

 int(整型)         long  long  int(長長整型)   

char(字符類型) float(單精度浮點型)  

double(雙精度浮點型)   long(長整型)

short(短整型)   union(聯合體)

bool(類型)  struct(結構體)  

enum(枚舉)  unsigned(無符號數)

-3)、變量的使用

  語法規則: 類型 變量名字;string

如:it

  int ab123;io

  float price; //英文單詞,或者縮寫

  float jiage; //最噁心的--即拒絕用拼音命名!!!

-4)、C語言命名規範

  第一個:變量的名字中只能有字母,數字和下劃線組成,而且首字母不能是數字

    如:ab Ab ab78 a79 _abc 7mn(非法) a#b(非法) h@c(非法)

  第二個:命名的時候儘可能通俗易懂,不要用漢語拼音,用英文單詞縮寫

(1)整型

大小: 4個字節,32位二進制,知道大小是爲了防止使用的時候數據溢出了(超出取值範圍了)

存儲:

  原碼:一個整數本來的二進制編碼

    好比: 8的二進制原碼 1000(短除法求)

  反碼:把原碼依次取反

    原碼:1101 --》反碼0010

    補碼:反碼加1

例子:

  原碼:1101 --》補碼0010+1 --》0011

正數在計算機中採用原碼存放,而且最高位是符號位,0表示正數,1表示負數

三、C語言程序的一些規範

最簡單的C語言程序

        #include   //頭文件

•       int main()  //C語言程序的入口,main函數

•       {

•                printf("hello world!\n");  //幫助咱們在屏幕上打印一句話

•                return 0;  //結束整個main函數

•       }

(1)、C語言的格式控制符號以及輸入和輸出

-1)、格式控制符號

做用:C語言區分不一樣的數據類型,在輸入輸出數據的時候須要使用不一樣的格式控制符號來跟變量類型對應

  經常使用進制數的標準寫法:

        int  a=10;    //二進制10 --》2

•          //八進制10 --》8
​  
•                     //十六進制10 --》16

•        int  a=b10;   //二進制

•        int  a=010;  //八進制10

•        int  a=0x10; //十六進制10

•        int  a=10;   //十進制的

-2)、格式對應關係

          %d     --> int

•         %f      -->float    默認保留6位有效數字

•         %lf     -->double

•         %hu     -->short

•         %ld     -->long

•         %lld    -->long  long int

•         %c      -->char    輸出的是字符自己

•         %d      -->char    輸出是字符的ASCII碼值

•         %x      -->十六進制,字符小寫打印

•         %X      -->十六進制,字符大寫打印

•         %#x     -->標準形式打印十六進制,前面加上0x

•         %o      -->八進制

•         %#o     -->標準形式打印八進制,前面加上0

•         %10.2f    -->前面10表示位寬   後面的2表示保留2個小數位

•         %-10.2f    -->前面10表示位寬   後面的2表示保留2個小數位

•         %.9f     -->指定了保留9個小數位,位寬沒有指定,默認位寬

•         %10d     -->10是位寬,靠右對齊,左邊補空格

•         %-10d    --> 靠左對齊,右邊補空格

•         %s       -->字符串

•         %5s  

•         %p      -->變量地址

(2)、C語言代碼編寫規範

1.注意縮進---用tab鍵縮進對齊;

2.適當的空行;

3.註釋,簡明扼要:

  C語言註釋只有兩種寫法

        --單行註釋 //註釋文字

        --塊註釋 /* 註釋的內容 */,塊註釋不能嵌套

            尤爲是重要的核心代碼必須寫註釋

4.命名。通俗易懂---英文,千萬不要用拼音

四、C語言中的運算符

     算術運算符     +   -   *   /   % (取餘)  

•   關係運算符   >   <   ==   !=   >=   <=

•   邏輯運算符   ||邏輯或     &&邏輯與   !邏輯非

•   指針運算   *   &

•   三目運算符   ?:

•   求數據類型大小,變量大小   sizeof

•   位運算               &   |   ~   ^

•   組合運算     +=   -=   *=   \=     &=   |=  

•   移位運算       >>   <<

•   自增自減     ++   --

(1) 除法

狀況一:

  兩個整數相除,結果取整,並且不會四捨五入

狀況二:

  除法運算中有一個是小數

    1/2 --》結果不是0.5 是0

    16/3 --》5

    2/3 --》

(2)取餘,計算餘數

只能用於整數運算 15%2 餘數1

         15.0%2 不對的,小數不能參與取餘運算

實際做用

  除法和取餘配合實現獲取一個數的各個位

(3)邏輯運算,跟條件判斷配合在一塊兒使用

if(a>b)

數學中: 10<x<100

C語言中: if(x>10 && x<100)

重點---區分==和=

  「==」用來判斷變量是否相同 if(a==b)

  「= 」賦值運算符號 a=233

C語言規定的真和假

   非零就是真  1   18   -9

零就是假

&&、||、~:

 表達式一 || 表達式二 ||  表達式三 

 //從左到右,有一個條件爲真,後面的都不用運算了,整個表達式都爲真

表達式一 && 表達式二 &&  表達式三

//從左到右,有一個條件爲假,後面的都不用運算了,整個表達式都爲假

if(有房&&有車&&帥) ---都成立,你纔是高富帥

邏輯非     --》假

•                        --》真

(4) 三目運算符

	表達式1?表達式2:表達式3

判斷表達式1是否爲真

  爲真 --》執行表達式2

  爲假 --》執行表達式3

(5)位運算(重點)

對整數的二進制進行運算

按位與 &     只要有一個是0結果就是0,所有都是1,結果就是1

好比: 18&16結果是多少? int a=89; int b=96; a&=b; //等價於 a=a&b;

    18 --》二進制 10010

    16 --》二進制 10000

           10000

特色: 任意一個整數要求把它的第三位二進制置0,其它位不容許改變

    125--》二進制1111101 --》最終但願的結果1111001

          1111101 --》125

          1111011 &

          1111001

規律: 任何二進制位跟1進行按位與運算結果保持不變

      任何二進制位跟0進行按位與運算結果必定是0

按位或 |      只要有一個是1,結果就是1,所有都是0,結果就是0

好比: 18|16結果是多少?

      18 --》二進制 10010

      16 --》二進制 10000

             10010

特色: 用位或運算去設置某一位二進制爲1

規律: 任何二進制位跟0進行按位或運算結果保持不變

       任何二進制位跟1進行按位或運算結果必定是1

按位異或 ^   相同爲0,相異爲1

好比: 18^16結果是多少?

    18 --》二進制 10010

    16 --》二進制 10000

           00010

特色: 將一個數的二進制數的某一位取反

  好比: int a=785 第三位二進制取反

        785

        0000........100 異或

  一個數跟本身異或,結果爲0 a^a結果爲0

  異或知足交換律 a^b^a等價於 a^a^b

  一個數跟0異或,結果保持不變 a^0結果爲a

 

     按位取反 ~   0變成1    1變成0

  好比: ~18結果是多少?

        18 --->二進制 10010

        ~18 ---> 01101

(6)組合運算(複合運算)

  "+=" a+=10; //等價於 a=a+10;

其它的類比,如 -=、/=、*= 等

(7)移位

左移 << 把一個整數的二進制總體向左移動若干位,低位補0

  18<<2; //18左移2位

  0000000000.........10010<<2

特色: 一個數左移n位,至關於乘以2的n次方

右移 >> 把一個整數的二進制總體向右移動若干位,高位補什麼??

  算術右移: 高位補符號位

  邏輯右移: 高位補0

特色: 一個數右移n位,至關於除以2的n次方

(8)自增和自減

a++ 後置++ 先使用a本來的值,而後再把a加1賦值給本身

++a 前置++ 先把a加1,而後再使用加一以後的a

a-- 後置-- 先使用a本來的值,而後再把a減1賦值給本身

--a 前置-- 先把a減1,而後再使用減一以後的a

  例如:

    ++i + ++i = ? --->即(++i)+(++i)=3+3=6

筆記連接:https://kejizeichuan.lanzous.com/ifBFhf9dboh(建議用Typora打開)

相關文章
相關標籤/搜索