常量與變數:1.常量:
整數常量:包括正整數、負整數和0的整數。又分為符號整數常量(如int型,預設為有符號);無符號整形常量(後跟u,u);
長整數常量(後跟l,l);無符號長整數常量(跟lu;lu);
實型常量:為實數,一般是十進位制形式,小數要帶小數點,又分雙精度,單精度,長雙精度,(含有小數和指數形式)
字元型常量:用一對單引號引起來的乙個任意字元。可在輸出時用於輸出乙個固定字元,不加單引號為乙個變數;例如
cout<<『a』;與cout《字串常量:用一對雙引號引起來的0個或多個字元;同上,可用於輸出固定的字串;可輸出空格,也要加雙引號;若不加則也是變數;
2.各進製:二進位制:0010001=2º*1+2¹*0+...+2的六次方*0
八進位制相同:021=8º*1+8¹*2+8²*0
十六進製制前加ox,因為0~9為十位,則10~15為a~f;
3.變數:為可在程式中更改數值的變數。
關鍵字:是c語言預先設定的,有特殊意義的單詞;就像分成一座座倉庫,不同的資料型別可以抽調出不同型別。
4.位元組:int(四位元組);long(四位元組);short(2位元組);float(四位元組);double(八字節);一位元組為1b,1kb=1024b;1mb=1024kb;1gb=1024mb;1tb=1024gb;
ps:說明的變數若不賦值那麼會隨機取一值;要先宣告型別,即關鍵字;在程式中=為賦值號,==為等於號;在用if迴圈語句中不可以混淆,否則會導致輸出結果為if中的結果;
5+-*/運算:/若為整數,則其商的小數會被捨棄,只有宣告為浮點數,則不會捨棄。優先順序也為/*優先,+-要低一級。
++n幾n++運算:++n為先在n的基礎上+1然後運算,以新值運算;,n++是先算完再加一,以舊值運算;
--n與n--運算:與++n,n++大致相同,不過為-1。
6.在程式中難免用固定數值,例如π,那麼可以用const double const為固定的整數不會改變。也可以用巨集常量:#define p。
7.在程式中難免有所轉換,可以加入(1.0)則可將整數轉換為小數。ps:在程式運算中乘法用*,且沒有平方,要乙個個乘。
8. %d 十進位制整數
%e 浮點數,指數e的形式 %s 字串
%e 浮點數,指數e的形式 %u 無符號十進位制整數
%f 浮點數,小數點形式 %g 輸出%f與%e較短者
%o 無符號八進位制整數 %g 輸出%f與%e較短者
%x 無符號十六進製制整數,以0~f表示 %x 無符號十六進製制整數,以0~f表示
%l 長整型,加在d,o,u,x,x之前,如%ld
printf的修飾符:
(1)%ld,%lu,%lo,%lx,帶l修飾的格式碼要求long型整數作為其對應引數
(2)%2d則是寬度修飾符,作用是制定它所修飾的格式項所對應列印的字元數,如果帶列印的數值不能填滿位置,則左側會被補上空格字元以使這個字元數值的寬度滿足要求,如果太大則輸入寬度會適當調整以滿足需要
(3).%2d是寬度修飾符
轉義字元
意義ascii碼值(十進位制)
\a響鈴(bel)
007\b
退格(bs) ,將當前位置移到前一列
008\f
換頁(ff),將當前位置移到下頁開頭
012\n
換行(lf) ,將當前位置移到下一行開頭
010\r
回車(cr) ,將當前位置移到本行開頭
013\t
水平製表(ht)
009\v
垂直製表(vt)
011\'
單引號039
\"雙引號
034\\
反斜槓*9.輸入與輸出:輸入有cin,scanf,cin輸入寫法簡單但是運算速度較慢,而scanf寫法比較麻煩但是算的很快,可以節約大量時間。cin格式:cin>>a;scanf格式:scanf("%d",a);輸出有cout,printf,cout特點與cin相同寫法簡單但輸出速度很慢,而printf為格式化輸出,故速度很快。若有時間控制,最好用scanf與printf,這樣可以節省輸入輸出的時間『要根據實際問題規劃~
選擇控制結構
1.解決一些簡單問題的程式,控制結構有很多,要細化步驟來,將問題化為乙個更簡單的問題,選擇控制結構又稱為分支控制結構。
2關係運算子:< > <= >=;要分寫,不能用數學中的表示方法,否則為錯。==為等於,!=為不等於,一定要加嘆號。
3.if語句 if語句使用:if(條件)執行語句 else 執行語句 else不能加條件 ,但可以用else if(條件),括號後不加分號,這樣可以解決許多多情況條件下的問題,如果成立則進行第一條執行語句,否則執行else的執行語句。例如 if(a>b)cout=a則輸出b的值。if語句可以簡寫,格式為:表示式1?表示式2:表示式3
這是唯一三位運算子
4.switch語句:
可用於解決多種情況的問題,相比於if語句要更簡潔。應用方法為
switch(表示式)
case a:執行語句;
case b:執行語句;
例如int a,b,d;
char c;
cin>>a>>b>>c;
switch(c)
case 『+』:d=a+b;
case......
這樣解決多分支問題會比if更簡單。
擴充:位運算子:
& 按位與 如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0
| 按位或 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1
^ 按位異或 若參加運算的兩個二進位制位值相同則為0,否則為1
~ 取反 ~是一元運算子,用來對乙個二進位制數按位取反,即將0變1,將1變0
<< 左移 用來將乙個數的各二進位制位全部左移n位,右補0
>> 右移 將乙個數的各二進位制位右移n位,移到右端的低位被捨棄,對於無符號數,高位補0
break為結束語句,多用於迴圈。
在switch中可以用break。
C語言學習總結
1 c語言中有乙個賦值表示式,是其他多數高階語言中沒有的。2 c 語言的輸入與輸出操作是由函式來完成的,它不提供輸入輸出語句。3 c語言中有乙個共用體,其變數所點記憶體長度是其最長 成員變數的長度。4 static char a language char p a 8 5 void main int...
C語言學習總結
看了李明杰老師的c 語言課程,感覺老師講得很細 很透。收穫了很多新的知識,對cc 語言課程的學習總結。1.執行c 語言程式的步驟 1 編寫 c原始檔 2 編譯 c原始檔為 o目標檔案 3 鏈結 o目標檔案為可執行檔案 4 執行可執行檔案 2.常用格式符 1 d i 整數 int 2 f 小數 flo...
C語言學習總結
無參巨集定義 即巨集名後不帶引數。其定義的一般形式為 define 識別符號 字串其中各個名稱的含義如下 1 其中的 表示這是一條預處理命令。凡是以 開頭的均為預處理命令。2 define 為巨集定義命令。3 識別符號 為所定義的巨集名。4 字串 可以是常數 表示式 格式串等。例如 define m...