編程注意事項(重要)
- 注意中英文符號
- 注意符號是否遺漏
- 變量命名應體現其含義
1.變量類型(熟記)
- int:整數型,代表所有整數,例如:1,2,10,20,-20,-10;
- char:字符型,代表一系列符號,字母,數字等,例如:'a','b','c','d'等;
- float:單精度小數型,代表小數(小數點后面位數比double少),例如:1.2300,2.3300;
- double:雙精度小數型,代表小數(小數點后面位數比float多),例如:1.230000,2.330000;
- bool:布爾型,代表真或假,只有true和false兩個值;
- string (前面暫時用不到):字符串,代表一串字符,例如:"Hello world";
2.庫函數
庫函數具有明確的功能 、入口調用函數和返回值。
包含庫函數文件用#include <庫名.h>來實現,例如:要求數學中的絕對值,需要用到abs(x)來實現,那么就需要導入math庫,#include <math.h>
格式化輸入輸出函數(熟記,需要熟練掌握):
需要#include <stdio.h>
- printf("格式控制字符串",輸出列表)
%d:代表int型數據
%f:代表float型數據
%lf:代表double型數據
%c:代表char型數據
%s:代表字符串型數據
設置輸出數據的寬度與精度,格式:%[輸出最小的寬度][.精度] 類型 ,例如:%6.2f,%2.1f
- scanf("格式控制字符串",輸出列表)
后面的變量需要加入&符號,例如:
int i; scanf("%d",&i);
%d:代表int型數據
%f:代表float型數據
%lf:代表double型數據
%c:代表char型數據
%s:代表字符串型數據
scanf可以設置輸入數據的寬度但無法設置精度,格式:%[輸出最小的寬度] 類型 ,例如:%6f,%2f
常用的數學函數(了解):
需要#include <math.h>
- 三角函數:sin、cos、tan
double sin(doubue x);
double cos(double x);
double tan(double x);
- 絕對值函數:abs、fabs、labs
int abs(int x); 求整數的絕對值
double fabs(double x); 求小數的絕對值
long labs(long x); 求長整數的絕對值
- 冪函數exp、pow
double exp(double x); 求以e為底,參數x為冪的指數值
double pow(double x,double y); 求x的y次冪
- 對數函數log、log10
double log(double x); 求以e為底,參數為x的自然對數值lnx
double log10(double x); 求以10為底,參數為x的自然對數lgx
- 平方根函數sqrt
double sqrt(double x); 求參數x的平方根
- 隨機函數rand、srand
int rand(void); 求一個隨機整數
void srand(unsigned int seed); 以一個seed為參數,求一個隨機數
3.運算符
(1)算數運算符(熟記)
運算符 | 描述 | 實例 |
---|---|---|
+ | 把兩個操作數相加 | A + B 將得到 30 |
- | 從第一個操作數中減去第二個操作數 | A - B 將得到 -10 |
* | 把兩個操作數相乘 | A * B 將得到 200 |
/ | 分子除以分母 | B / A 將得到 2 |
% | 取模運算符,整除后的余數 | B % A 將得到 0 |
++ | 自增運算符,整數值增加 1 | A++ 將得到 11 |
-- | 自減運算符,整數值減少 1 | A-- 將得到 9 |
(2)關系運算符(熟記)
運算符 | 描述 | 實例 |
---|---|---|
== | 檢查兩個操作數的值是否相等,如果相等則條件為真。 | (A == B) 不為真。 |
!= | 檢查兩個操作數的值是否相等,如果不相等則條件為真。 | (A != B) 為真。 |
> | 檢查左操作數的值是否大於右操作數的值,如果是則條件為真。 | (A > B) 不為真。 |
< | 檢查左操作數的值是否小於右操作數的值,如果是則條件為真。 | (A < B) 為真。 |
>= | 檢查左操作數的值是否大於或等於右操作數的值,如果是則條件為真。 | (A >= B) 不為真。 |
<= | 檢查左操作數的值是否小於或等於右操作數的值,如果是則條件為真。 | (A <= B) 為真。 |
(3)邏輯運算符(熟記)
運算符 | 描述 | 實例 |
---|---|---|
&& | 稱為邏輯與運算符。如果兩個操作數都 true,則條件為 true。 | (A && B) 為 false。 |
|| | 稱為邏輯或運算符。如果兩個操作數中有任意一個 true,則條件為 true。 | (A || B) 為 true。 |
! | 稱為邏輯非運算符。用來逆轉操作數的邏輯狀態,如果條件為 true 則邏輯非運算符將使其為 false。 | !(A && B) 為 true。 |
(4)賦值運算符(盡量熟記)
運算符 | 描述 | 實例 |
---|---|---|
= | 簡單的賦值運算符,把右邊操作數的值賦給左邊操作數 | C = A + B 將把 A + B 的值賦給 C |
+= | 加且賦值運算符,把右邊操作數加上左邊操作數的結果賦值給左邊操作數 | C += A 相當於 C = C + A |
-= | 減且賦值運算符,把左邊操作數減去右邊操作數的結果賦值給左邊操作數 | C -= A 相當於 C = C - A |
*= | 乘且賦值運算符,把右邊操作數乘以左邊操作數的結果賦值給左邊操作數 | C *= A 相當於 C = C * A |
/= | 除且賦值運算符,把左邊操作數除以右邊操作數的結果賦值給左邊操作數 | C /= A 相當於 C = C / A |
%= | 求模且賦值運算符,求兩個操作數的模賦值給左邊操作數 | C %= A 相當於 C = C % A |
<<= | 左移且賦值運算符 | C <<= 2 等同於 C = C << 2 |
>>= | 右移且賦值運算符 | C >>= 2 等同於 C = C >> 2 |
&= | 按位與且賦值運算符 | C &= 2 等同於 C = C & 2 |
^= | 按位異或且賦值運算符 | C ^= 2 等同於 C = C ^ 2 |
|= | 按位或且賦值運算符 | C |= 2 等同於 C = C | 2 |
(5)位運算符(了解)
運算符 | 描述 | 實例 |
---|---|---|
& | 按位與操作,按二進制位進行"與"運算。運算規則: 0&0=0; 0&1=0; 1&0=0; 1&1=1; |
(A & B) 將得到 12,即為 0000 1100 |
| | 按位或運算符,按二進制位進行"或"運算。運算規則: 0|0=0; 0|1=1; 1|0=1; 1|1=1; |
(A | B) 將得到 61,即為 0011 1101 |
^ | 異或運算符,按二進制位進行"異或"運算。運算規則: 0^0=0; 0^1=1; 1^0=1; 1^1=0; |
(A ^ B) 將得到 49,即為 0011 0001 |
~ | 取反運算符,按二進制位進行"取反"運算。運算規則: ~1=-2; ~0=-1; |
(~A ) 將得到 -61,即為 1100 0011,一個有符號二進制數的補碼形式。 |
<< | 二進制左移運算符。將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。 | A << 2 將得到 240,即為 1111 0000 |
>> | 二進制右移運算符。將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。 | A >> 2 將得到 15,即為 0000 1111 |
4.循環語句(熟記)
(1) for語句
格式:
for(第一次循環執行的語句;條件判斷;循環執行一次后執行的語句){ 循環內部代碼 }
(2) while語句
格式:
while(條件判斷){ 循環內部代碼 }
當條件判斷為假時,循環停止
(3) do……while語句
格式:
do{ 循環內部代碼 }while(條件判斷);
該語句會先執行一次循環內部代碼,再進行條件判斷;循環內部代碼至少會執行一次