C 入門詳解

2021-10-05 05:38:19 字數 2994 閱讀 9186

表示式的定義

各類表示式概覽

語句的定義

語句詳解

表示式是演算法邏輯的最基本的(最小)單元,表達一定的演算法意圖

因為操作符具有優先順序,所以表示式也就有了優先順序

c#語言中表示式的分類

a value。任何能得到值的運算(操作符和結果型別)

a variable 。每個變數都有聯合型別 布林型別表示式得到的就是bool型別的值

a namespace。

a type typeof(int32)

a method group 比如console.writeline就是乙個方法組

a null literal 空值

an 匿名方法表示式

a property access 訪問屬性

a event access 訪問事件

a indexer access 訪問索引器

nothing 度返回值為void的方法的呼叫

復合表示式的求值

注意操作符的優先順序和同優先順序操作符的運算方向

除了賦值操作符,一般都是從左向右的。

語句的定義:

作用:宣告變數,賦值,呼叫函式,迭代迴圈,根據條件進行分支跳轉

c#除了能讓「順利地」表達演算法思想,還能通過條件判斷、迴圈等方法控制程式邏輯的走向

語句由分號結尾,但由分號結尾的不一定都是語句。比如引用命名空間,或字段的宣告publicstring name;

所以,語句一定是出現在方法體中的,來判斷即可。

語句詳解:

三大類:標籤語句(henshaochuxian);宣告語句;嵌入式語句

宣告語句:區域性變數宣告和區域性常量宣告

注意:int x = 100;

int x;

x=100;

不是一回事。上面是宣告時追加了初始化器;下面是只宣告,後面才賦值

常量宣告並初始化之後不能在改變;所以常常在前面加上const。

表示式語句:語句表示式;

哪些表示式允許作為語句使用:呼叫表示式(console.writeline);物件建立表示式(new form());賦值語句;後置自增自減,前置自增自減表示式;

塊語句:用於在只允許單個語句的上下文中編寫多條語句

block:

由乙個擴在大括號內的可選

塊語句無論什麼都會被編譯器當成一條語句來對待;

(ctrl+右花括號鍵)來快速找到對應的{}體

塊語句中可宣告c#中的任何一類語句

藉此說明一下變數的作用域:在一條塊語句之前或之外宣告的變數在塊語句中是可以訪問的,在塊語句中宣告的出了快語句就不能用了。

選擇語句:(判斷、分支)語句

if語句,switch語句(不包括任何浮點型別),try語句(用於捕捉在塊的語句執行期間發生的各種異常)

平時把優化邏輯的過程叫做**重構。

switch表示式的型別為:sbyte\byte\short\ushort\int\uint\long \ulong\bool\char\string\enum-type\或者是對應於以上型別的可控null型別。

ctrl+l剪下一整行

try -catch

try-finally

try-catch- finally(catch可有多個,但只會執行乙個)

catch不加任何異常型別,抓的是通用異常;

catch(argumentnullexception\formatexception\overflowexception) 捕捉特定異常型別

catch(exception ex)除了異常的型別外,還可以新增異常識別符號ex.message throw (ex); 對於異常誰呼叫誰處理

迭代語句:while do for foreach

while語句:按不同條件執行乙個嵌入語句執行0次或多次

do語句:按不同條件執行乙個嵌入語句一次或多次。

continue語句:將開始直接封閉它的while、do、for或foreach語句的一次新迭代。

break語句:將退出直接封閉它的switch、while、do、for或foreach語句。

for語句:常用於計數迴圈 可讀性要比do語句和while語句強很多

tab鍵可以在for語句中需要更改的地方跳轉

for(;? {} 相當於 while(true)

foreach語句:用於列舉乙個集合的元素(遍歷),並對該集合中的每個元素執行一次相關的操作。

什麼樣的集合可以被遍歷:陣列array,泛型list

所有實現了ienumerable介面的陣列就可以被迭代

迭代器:enumerator,下面是用迭代器迭代集合的方法。

第一次while語句已經執行完,迭代器為false了,如果不重置enumerator迭代器,下乙個while執行也不會顯示有值的。上圖的結果是列印了兩遍1-8.

跳轉語句:(break;continue;只會對直接包含自己的那一層起作用)goto;return;throw

跳轉語句將控制語句轉到位置稱為跳轉語句的目標(target)

原則:盡早return,好處:立刻鑑別出在什麼時候是有問題的且避免頭重腳輕

對於返回型別是void型別的,不寫return也會直接返回了。

如果返回型別不是void型別的,一定要保證return,像上面else中的return。如果不加else這個分支或者不再if後面加return編譯不過去,因為存在不滿足if的條件的情況時沒有辦法處理。

空語句:;

標籤語句:hello:

checked/unchecked語句:

using語句

yield語句

lock語句(用於多執行緒)

C 入門詳解

1.型別轉換 1 隱式implicit型別轉換 往下展開 int x convert.toint32 string 不丟失精度的轉換 int轉成long,single轉換double等 子類向父類的轉換 h.此時成員訪問符,看不到例項中t的方法teach,因為規定引用變數去訪問引用的例項的成員時,只...

C 入門 引用詳解

1.引用作為其他變數的別名而存在,因此在一些場合可以代替指標 2.引用相對於指標來說具有更好的可讀性和實用性 3.引用在c 內部實現就是乙個常量指標 const p int a int const a include stdafx.h include include string using nam...

C 入門詳解 2

1.類是現實世界事物的模型 2.類與物件的關係 物件也叫例項,是類經過例項化後得到的記憶體中的實體 依照類,可以建立物件,這就是 例項化 常用new操作符來建立類的例項 現實世界中常稱物件,程式世界中常稱例項,二者無太大區別 注意 飛機和一架飛機,前者是概念,後者是例項,只有例項才有動作才能飛,概念...