C 初學者指南 筆記

2022-05-19 12:54:09 字數 3009 閱讀 8046

5種型別類結構

列舉介面

委託如何選擇資料型別

確定該型別是數字或非數字 如果不是數字,可以選擇bool,char,string,

使用佔空間最小的型別

變數兩種資料型別

引用資料型別:提供了對物件的引用

基本型別:儲存了乙個基本資料

變數也是乙個名稱或乙個識別符號,識別符號在作用域內必須是唯一的

直接量基本型別直接量

整型直接量

浮點型直接量

float 8. 小數後加f/f

double 8. 小數後加d/d,或不加

字元型直接量

單引號括起來

布林型直接量

boolean x = true

字串直接量

null直接量

型別轉換

寬化轉換 :後者一樣大或更大 隱式進行

窄化轉換 :後者更小 必須顯式進行 在圓括號中指定目標型別 ,可能會導致資訊丟失

long a = 10;

int b = (int) a; //窄化轉換

運算子遞增運算子

字首int x = 4;

int y = ++x;

// y = 5, x = 5

字尾int x = 4;

int y = x++;

//y = 4, x = 5

取反 !

按位求補運算子 ~

sizeof 運算子,獲取乙個資料型別的位元組長度,sizeof(int) 返回4

位移運算子 <<,>>,>>>

條件運算子

&&, ||, ?:

邏輯運算子

& | ^

提公升有些一元運算子(如+,-和~)和二元運算子(如+,-,*,/)會導致自動提公升

byte x = 5;

byte y = -x; //錯誤, - 導致-x的結果提公升為int

需要改為

byte x = 5;

byte y = (byte)-x;

注釋 /* 注釋內容 */ , // 注釋內容

標籤:來標記一條語句和乙個語句塊

標記sectiona

sectiona: y+1

標記乙個塊

start:

if (booleanexpression)

if (booleanexpression)

else

記憶體中的物件

程式執行時會給資料分配一些記憶體空間,這些資料空間邏輯上分為兩部分,棧和堆,棧中分配值的型別,堆中儲存物件

命名空間

為了在乙個命名空間中使用型別,要在檔案開始的地方使用using指令。

c# 通過訪問控制來實現封裝,訪問控制通過修飾符來管理。四種修飾符:public,protected,internal,private

預設情況下類是internal的,除非宣告為public。其它任何命名空間中的型別都可以訪問public類,internal類只允許同乙個命名空間

內的其它型別訪問。

預設命名空間的類可以被任意其它命名空間中的任何型別訪問,即使這個類不是public的

public 訪問不受限制

protected 訪問僅限於包含類或從包含類派生的型別

internal 訪問僅限於當前程式集

protected internal 訪問僅限於當前程式集或從包含類派生的型別

private 訪問僅限於包含類

using 語句必須放在命名空間內,類宣告前

在靜態方法內部,不能呼叫例項方法或例項字段,因為它們只有在建立物件之後才存在

可以從乙個靜態方法訪問另乙個靜態方法或字段

main方法就是靜態的

初學者經常遇到的乙個問題就是,在main方法中呼叫了例項成員

如果要在靜態方法中呼叫非靜態字段,有兩張解決方案

使這個欄位為靜態的

建立乙個類的例項,然後用該物件引用訪問該欄位

方法過載

字串直接量開始和結束都用雙引號

is-a 關係

把子類的乙個例項賦予父類的乙個引用變數合法

animal animal = new bird(); //合法

dog dog = new animal(); //不合法

在c#中,使用乙個引用變數呼叫乙個方法實際呼叫的是在該型別中的方法而不管所引用的物件是什麼型別

public 訪問不受限制

protected 訪問僅限於包含類或從包含類派生的型別

internal 訪問僅限於當前程式集

protected internal 訪問僅限於當前程式集或從包含類派生的型別

private 訪問僅限於包含類

using 語句必須放在命名空間內,類宣告前

在靜態方法內部,不能呼叫例項方法或例項字段,因為它們只有在建立物件之後才存在

可以從乙個靜態方法訪問另乙個靜態方法或字段

main方法就是靜態的

初學者經常遇到的乙個問題就是,在main方法中呼叫了例項成員

如果要在靜態方法中呼叫非靜態字段,有兩張解決方案

1. 使這個欄位為靜態的

2. 建立乙個類的例項,然後用該物件引用訪問該欄位

方法過載

字串直接量開始和結束都用雙引號

is-a 關係

把子類的乙個例項賦予父類的乙個引用變數合法

animal animal = new bird(); //合法

dog dog = new animal(); //不合法

在c#中,使用乙個引用變數呼叫乙個方法實際呼叫的是在該型別中的方法而不管所引用的物件是什麼型別

using system;

class shape

}class oval : shape

}

shape shape = new oval();

shape.whatami(); // i am shape

初學者mysql MySQL初學者使用指南

有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...

DLL初學者指南

這裡有兩個方法來載入乙個dll 乙個方法是捷徑另乙個則相比要複雜些。捷徑是只鏈結到你.lib 檔案並將.dll檔案置入你的新專案的路徑中去。因此,建立乙個新的空的win32控制台專案並新增乙個原始檔。將你做的dll放入你的新專案相同的目錄下。include include declspec dlli...

DLL初學者指南

dll初學者指南 dll project的源 及測試專案 原文出處 codeguru 我正在學習dlls,談不上對其有什麼高屋建瓴的見解 本文只是 通過 編碼讓你看到並想知道 是如何執行的。在本文中,我假定你知道如何使用你的編譯器特性,比如設定目錄路徑等等。ifndef dll tutorial h...