第四天學習C語言複習
第四天學習
C語言(浙江大學翁愷)
1.3.2 詳解第一個程式
-
\n 換行符
-
; 注意每句後邊有英文分號
1.3.3做點計算
C符號 | 意義 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
% | 取餘(取兩個數相除後的餘數) |
() | 括號 |
2.1.2變數定義
變數定義的一般形式
- <型別名稱><變數名稱>
- int price;
- int amount,price;
變數的名字
- 變數需要一個名字,變數的名字是一種“識別符號”,意思是用它來識別這個和那個的不同的名字
- 識別符號構造規則:只能由字母、數字、下劃線組成,數字不可以出現在第一個位置上,C語言的關鍵字不可以用做識別符號
2.1.3變數賦值與初始化
int price = 0;
- 右邊的0值賦值給price,=代表一個動作賦值,與數學中不同,price是int型變數;
- 變數的初始化:當賦值發生在定義變數的時候就是變數的初始化,所有變數在第一次被使用前都應初始化。
變數初始化
- <型別名稱><變數名稱>=<初始值>
- int price=0,amount = 100;
表示式
“=”是賦值運算子,有運算子的式子叫做表示式。
變數型別
int price=0;
price就是int型
2.1.4 變數輸入
scanf("%d",&price);
- 最後的f是formative,格式化輸入
- 注意&符號
2.1.5常量vs變數
固定不變的數是常數,直接寫在程式裡我們稱之為直接量(literal)
const
const是一個修飾符,例如放在int前邊用來給這個變數加上一個const(不變的)屬性,這個const的屬性表示這個變數的值一旦初始化就不能再修改了。
一般const修飾的名字是大寫的
2.1.6浮點數
計算機中兩個整數相除只能是整數
例如:10/3*3=9
- 10.0是浮點數,10和10.0完全不同
浮點數
帶小數點的數值。浮點這個詞的本意就是指小數點是浮動的,是計算機內部表達非整數(包含分數和無理數)的一種方式,另一種方式叫做定點數。
當浮點數和整數放到一起運算時,C會將整數轉換成浮點數然後進行浮點數的運算。
double
雙精度浮點數的第一個單詞,人們用來表示浮點數型別,float(意思就是浮點)表示單精度浮點數。
資料型別
- 整數
- int
- printf("%d",...)
- scanf("%d",...)
- 帶小數點的數字
- double
- printf("%f",...);
- scanf("%lf",...);
2.2.1表示式
一個表示式是一系列運算子和運算元的組合,用來計算一個值
運算子
運算子(operator)是指進行運算的動作,比如加法運算子“+”
運算元(operand)是指參與運算的值,這個只可能是常數,也可能是變數,還可能是一個方法的返回值
2.2.2運算子優先順序
優先順序 | 運算子 | 運算 | 結合關係 | 舉例 |
---|---|---|---|---|
1 | + | 單目不變 | 自右向左 | a*+b |
1 | - | 單目取負 | 自右向左 | a*-b |
2 | * | 乘 | 自左向右 | a*b |
2 | / | 除 | 自左向右 | a/b |
2 | % | 取餘 | 自左向右 | a%b |
3 | + | 加 | 自左向右 | a+b |
3 | - | 減 | 自左向右 | a-b |
4 | = | 賦值 | 自右向左 | a=b |
賦值運算子
賦值也是運算,也有結果
a=b=6-->a=(b=6)
結合關係
一般自左向右
單目+-和賦值**= **自右向左
交換變數
交換兩個變數
已知a,b
-
用t作為中間量t=a,a=b,b=t
-
a=a+b,b=a-b,a=a-b
-
a=ab,b=ab,a=a^b
複合賦值和遞增遞減
複合賦值
五個算術運算子+-*/%,可以和賦值運算子=結合起來形成複合賦值運算子,例如total += 5;
注意兩個運算子中間不要有空格s
先算右邊再算左邊
total* = sum+12; 即total = total * (sum+12)s
遞增遞減運算子
++和--是兩個單目運算子,這個運算元必須是變數,這兩個運算子分別叫做遞增和遞減運算子,它們的作用就是給這個變數+1或者-1
字首 ++a
字尾 a++
這兩個運算子有其歷史來源,可以單獨使用,但是不要組合進表示式