2016 12 13重學C語言記錄篇 1

2021-07-25 08:56:39 字數 3497 閱讀 1374

變數和常量的定義:

變數:可以被改變的量

常量:不能被改變的量

定義變數:在記憶體中開闢4個位元組的連續記憶體,並將記憶體空間命名為(int a)a,

定義了乙個整數型別的變數a 變數名字為a

寫法 int a;

a = 1;

a = 1 + 10;

a = 5 * 2;

a = 10 / 2;

a = 10 % 5;

賦值運算子 = 將等號右邊的值賦值給等號左邊的變數

warning:警告

error:錯誤

the variable 'a' is being used without being defined.

變數a在使用的時候沒有初始的值

整數在不同進製中的寫法:

int a = 10;

將a初始化為10

a = 50; 

將a賦值為50

a = 0x10

在整數前面加上0x則這個整數是8進製的整數

a = 0x10

在整數前面加上0x則這個整數是10進製的整數

整數的輸入與輸出:

std::cout<<" " 

將" "中的東西原封不動的列印到控制台上

std::cout《表示式 將表示式的結果原封不動的列印到控制台

std::cout《變數 將變數的值列印到控制台上

std::cin>>變數 等待使用者輸入 當使用者輸入乙個數 按下回車鍵後 

將這個值賦給變數

例子:int a;

a = 1;

std::cout<<"你好";

std::cout<<123>a;

std::cout<

流程:**是從入口點函式從上往下執行**;

表示式:

由變數 常量 函式 運算子等組成的**文字沒有變數的表示式叫做常量表示式

凡事表示式都有乙個結果 這個結果不是真就是假

非0即為真

常量表示式:1+2 結果為3 真

int a = 1;

a + 5; 結果6 真

a;  6 為真

0; 常量表示式 為真

a - 8; -2 為真

a + 2; 為0 假

0;常量表示式 假

a = a + 10 - 4;結果為6 真

識別符號:我們為變數 常量 函式等取得名字

1.只能有 下劃線 字母 數字組成

2.只能字母 下劃線開頭

3.不能是關鍵字

4.大小寫區分

int a;

int a1;

int _a;

int _1;

int a1;

int a_1;

const 符號常量 用識別符號所帶的常量叫符號常量

constant是永恆不變的意思

必須初始化常量物件

const int a = 1;

a = 3;error 不能給常量賦值

const int pi = 3.1415926;

基本資料型別:

13種基本資料型別

bool a;布林型 c語言是沒有的 false true 在記憶體中佔乙個位元組

char b;字元型 'a' 在記憶體中佔乙個位元組 取值範圍 - 127 - 128

unsigned char c;無符號整數型 佔乙個位元組 0 - 255

wchar_t 雙位元組字元型 在記憶體中佔兩個位元組 取值範圍 0-65535

short 短整數型 佔兩個位元組

unsigned short 無符號短整數型 站兩個位元組

int 整數型 在記憶體佔四個位元組

unsigned int 無符號整數型 佔四個位元組

long  長整數型別 佔四個位元組 

unsigned long 無符號 長整數型 佔四個位元組

float  單精度浮點型 佔四個位元組

double 雙精度浮點型

long double 長雙精度浮點型 佔八個位元組

資料型別轉換:

注意:不管資料型別如何進行轉換,被轉換的資料型別本身是不會發生變換

隱式轉換:1 將等號右邊的表示式結果的資料型別和等號左邊的變數型別不一樣的時候

將等號右邊的資料型別轉換為等號左邊的資料型別 然後進行賦值給等號左邊的變數

2 不管有沒有int型別的資料參與運算 只要位元組低於int 就都會轉換為int 在參與運算

3 位元組數小的轉換為位元組數多的

4 精度低的轉換為精度高的

int a = 3.5; 結果為3 將double型別的3.5轉換為int的3賦值給a

' a ' + ture;  char + bool - > int + int 

a + ' b ' int + char -> int + int 

強制轉換:1(想要轉換的型別)原始型別的識別符號

double b = 3.14159;

int a = (int)b;

2 + (int)3.14;

取位元組運算子(sizeof)

int a;

double b;

std::cout字面常量

true; bool型別字面常量

' a ' 用' '括起來的乙個文字叫char字面常量

l' 0 ' 在char型別前面加l 則為wchar_t字面常量

123; int 型別字面常量

123l; long 字面常量

123456ul; unsigned long字面常量

3.14 float字面常量

運算子 :

賦值運算子 = 本日前面有寫

sizeof() 本日前面有寫

算數運算子:+ - * / %(去模  取餘數)

自增自減 運算子 前置++ -- 後置++ --

前置++ 寫法 ++變數 先讓自己加1 然後在參與其他運算

後置++ 寫法 變數++ 先及自己減1 然後在參與其他運算

--運算子同上

字元值運算子: += -= *= /=

a += 1 相當於 a = a + 1

a -= 1 相當於 a = a -1

邏輯運算子 &&邏輯與 || 邏輯或  !邏輯非

關係運算子 > 大於 >= 大於等於 < <= 小於 小於等於 ==相等 !=不相等

條件運算子(三目運算子)  ? :

&&邏輯與 

1 && 1 為真

int a = 1,b = 1; 

a && b 為真

a-- && b 先執行a && b 再自減

--a && b 先執行a -= 1 在判斷 a = -1 為真 

||邏輯或

a || b 同時為假則為假 其他都為真

!邏輯非

!a = 1;

? :三目運算子 a ? b : c 如果a為真執行b 如果為假執行c

(a == b) ? a = 4 : a = -4; 先看a是否等於b 為真 a = 4

困了 今天先睡覺了,明天繼續複習!

11 2 8重學C 之 靜態成員

include include includeusing namespace std 4.2 物件的初始化和清理 4.2.8 靜態成員 靜態成員變數 所有物件共享同乙份資料 在編譯階段分配記憶體 類內宣告,類外初始化 靜態成員函式 所有物件共享同一函式 靜態成員函式只能訪問靜態成員變數 class ...

10 3重學C 之 函式過載

includeusing namespace std 三 函式提高 3.3 函式過載 函式名可以相同以提高復用性 函式過載需滿足的條件 同意作用域下 函式名相同 函式引數型別不同 個數不同 順序不同 void func void func int a void func double a void ...

2 2重學C 之 while迴圈 案例

include include include 隨機數用到 include 時間用到 using namespace std int main cout n endl while案例 猜數遊戲 0 新增隨機數種子,作用是利用當前系統時間生成隨機數,防止偽隨機數每次生成都一樣 srand unsign...