c 入門 學習筆記

2021-09-25 14:06:28 字數 4575 閱讀 6936

hello world

//列印語句

console.writeline("hello world");

//暫停

console.readkey();

資料型別

1.值型別 byte,char,short,int,long,bool,decimal,float,double,sbyte,uint,ulong,ushort

2.引用型別: 儲存的不是值實際資料而是乙個記憶體位址 object、dynamic 和 string。

3.物件型別:object 型別檢查是在編譯時發生的

4.動態型別: 可以儲存任何型別的值在動態資料型別變數中,型別檢查在執行時

5.字串(string)型別

6.指標型別(pointer types)

型別轉換

隱式轉換

顯式轉換

to***方法 變數

常量整數常量

浮點常量(小數必須包含整數)

字元常量

字串常量

定義常量

運算子算數運算子

關係運算子

邏輯運算子

位運算子賦值運算子

其他運算子

sizeof():資料型別的大小

typeof():返回 class的型別。

&: 返回變數的位址

*:變數的指標

?: :三元表示式

is:判斷物件是否為某一型別

as: 強制轉換,即使失敗也不會丟擲異常

判斷:if

switch

迴圈:while迴圈

for/foreach

do…while

封裝:public:允許乙個類將其成員變數和成員函式暴露給其他的函式和物件。任何公有成員可以被外部的類訪問

private:允許乙個類將其成員變數和成員函式對其他的函式和物件進行隱藏。只有同乙個類中的函式可以訪問它的私有成員。即使是類的例項也不能訪問它的私有成員。

protected:該類內部和繼承類中可以訪問。

internal:同乙個程式集的物件可以訪問。

protected internal:3 和 4 的並集,符合任意一條都可以訪問。

可空型別

//預設值為0

int a;

//預設值為null

int? b=123;

//如果b為null就賦值2否則c=b

int c= b?? 2;

console.writeline(「c的值為」, c);

console.readline();

陣列

//初始化陣列逐個賦值

int arr = new int[10];

arr[0] = 12312;

//初始化陣列並賦值

int arr1 = ;

//使用for迴圈賦值

for (int i = 0; i < 10; i++)

//使用foreach取值

foreach (int i in arr)

", i);

}

結構體

struct books

static void main()

,書名,書**",book1.id,book1.name,book1.price);

console.readline();

}

列舉

//列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值,可自定義每個符號

enum days ;

static void enum()

析構函式

class test

~test()

static void main()

;console.writeline("id為", test.id);

console.readline();

}}

多型性通過在類定義前面放置關鍵字 sealed,可以將類宣告為密封類。當乙個類被宣告為 sealed 時,它不能被繼承。抽象類不能被宣告為 sealed。

當有乙個定義在類中的函式需要在繼承類中實現時,可以使用虛方法。虛方法是使用關鍵字 virtual 宣告的。虛方法可以在不同的繼承類中有不同的實現。

運算子的過載

class test2

;return test;

}static void main(string args)

;test2 test1 = new test2 ;

test2 t = test + test1;

console.writeline("t的值", t.length);

console.readline();

}}

預處理器指令

#define 預處理器

條件指令

異常處理

try catch finally

常見異常:

io異常

空物件型別轉換

除以0

檔案的輸入與輸出

//位元組流讀取檔案

static void main(string args)

console.readline();

}

windows檔案系統操作

static void main(string args) 

//獲得某資料夾下的檔名與大小

static void getfile(string path) }}

if(files!=null) ,檔案大小",file.name,file.length);}}

}

特性預定義特性

1.attributeusage

2.conditional

3.obsolete:[obsolete("過時了")]編譯器會給出警告資訊[obsolete("過時了",true)]編譯器會給出錯誤資訊

自定義特性

委託

delegate void consolewrite1();

class program

static void consolewrite()

指標變數

static unsafe void test12() ,記憶體位址為",i,(int)p);

console.writeline();

}

傳遞指標作為方法的引數

static unsafe void main() ,var2:",var1,var2);

int* a = &var1;

int* b = &var2;

swap(a,b);

console.writeline("var1:,var2:",var1,var2);

console.readline();

}static unsafe void swap(int* a,int* b)

使用指標訪問陣列元素

static unsafe void array() ;

fixed (int* ptr = list)

/* 顯示指標中陣列位址 */

for(int i = 0;i<3;i++) ]=",i,(int)(ptr+i));

console.writeline("value of list=",i,*(ptr+i));

}console.readkey();

out引數:乙個方法返回多個不同型別的引數

static void main() 

public static int test7(out string a)

params引數

static void main() 

static void params(params int array)

}console.writeline("最大值為",max);

console.readline();

}

ref引數

static void main() 

static void ref(ref int a)

連線資料庫

static void mysqlconnection() ;name:;pid:",mysqldatareader.getstring(0),mysqldatareader.getstring(1),mysqldatareader.getstring(2));}}

mysqlconnection.close();

}

C 學習筆記(c 入門)

經常忙碌的我,今天也有時間學習自己感興趣的c 程式語言了,首先我要記錄這個有意義的時間 2016年6 月6日星期一。那麼學習c 之前,我們先要了解什麼是 c 語言,簡單地說,c 語言是一種在 c語言基礎上被提出來的計算機程式語言,與 c語言一樣,c 語言在計算機的語言中分類屬於 高階語言 也就是一種...

c 入門學習筆記繼承

繼承,物件導向程式設計的上方寶劍,有了它上下通吃 skyala 人 類 父母 物件 子女 繼承 多重繼承 子孫 多型性 哇,my god 多麼完美的曲線!宣告 1.繼承的概念及重要性 2.基類 3.派生類 4.基類 vs 派生類 5.多重繼承 6.應用舉例 a.構造 析構的呼叫順序 重定義函式 tp...

C 語言入門學習筆記

c 語言入門學習筆記 一 c 是什麼 c 讀作 c sharp 是一種程式語言,它是為生成在 net framework 上執行的各種應用程式而設計的。c 簡單 功能強大 型別安全,而且是物件導向的。c 憑藉在許多方面的創新,在保持 c 語言風格的表現力和雅緻特徵的同時,實現了應用程式的快速開發。v...