天天看點

C# - 轉義字元,指派運算符,指派表達式 011

作者:源丁程式設計

轉義字元(單個字元)

轉義字元:指的是一個\+一個特殊的字元,組成了一個具有特殊意義的字元

比如一些特殊字元前加[\]來表示常見的那些不能顯示的 ASCII 字元,如 \"、\n、\t 等,就稱為轉義字元;因為後面的字元,都不是它本來的 ASCII 字元的意思了

ASCII碼隻需記住幾個關鍵碼: 32(空格) 48(0) 65(A) 97(a),一般用于遊戲中方向控制

轉義字元的分類: \(反斜杠)(用于轉義)與@(消除轉義原有功能,字元型除外)

1 \(反斜杠)+特殊字元(重要的紅色标注)

1.1 \" 在字元串中輸出雙引号

C# - 轉義字元,指派運算符,指派表達式 011

未消除雙引号的轉義

C# - 轉義字元,指派運算符,指派表達式 011

消除雙引号轉義

1.2 \' 輸出單引号

C# - 轉義字元,指派運算符,指派表達式 011

輸出一個單引号

1.3 \\ 輸出反斜杠\

C# - 轉義字元,指派運算符,指派表達式 011

輸出\ 反斜杠一定要成對出現

1.4 \t 制表符 輸出一個tab鍵的空格,有使輸出字元串對齊功能

C# - 轉義字元,指派運算符,指派表達式 011

\t輸出一個tab鍵的空格

按一下tab鍵相當于空出7個空格,最重要的是具有文本對齊功能

1.5 \n 使字元串中\n後面的字元或字元串換行顯示

C# - 轉義字元,指派運算符,指派表達式 011

1.6 \r 回車 表示回到本行的開始位置,\r之後的文本會覆寫\r之前的文本

C# - 轉義字元,指派運算符,指派表達式 011

\r這麼強大......

\r\n 連用,表示跳到下一行,并且傳回到下一行的起始位置

1.7 \b 倒退鍵;會删除\b前面的一個字元

C# - 轉義字元,指派運算符,指派表達式 011

删除緊跟\b之前的一個字元

1.8 \a 警報符(比如VS插件不相容發出的聲音) \0 輸出一個空字元 \v 一個帶箭頭的字元

C# - 轉義字元,指派運算符,指派表達式 011

警報符 之後可以做一個小"病毒"軟體 的案例

除了紅色标注的有可能用到,其他的了解即可

2 @ 有兩個作用 1)消除轉義字元原有功能(字元型除外) 2)可以實作多行輸出

2.1 消除轉義字元原有功能(字元型除外)

C# - 轉義字元,指派運算符,指派表達式 011

2.2 可以實作多行輸出

C# - 轉義字元,指派運算符,指派表達式 011

實作多行輸出

小案例:使用\t列印輸出九九乘法表

C# - 轉義字元,指派運算符,指派表達式 011

九九乘法表...

使用@輸出需要手動設定間距,自己編寫測試;之後使用循環語句就省事多了

指派運算符與指派表達式

1 指派運算符 = 也稱指派号;不是數學意義上的等于号

指派運算符:是将右側的值指派給左側的變量(兩側資料類型必須一樣(暫時這麼說))

string name="張三";
int age=18;
//指派規範 約定俗成的規範最好遵守
//true表示男  false表示女  
//或者 1 表示男  0 表示女
bool gender=true;
...           

如:int age=18; 将資料18存儲在記憶體中開辟的一塊别名為age的整形資料類型的空間内,其他類型的指派過程與此類似,不再贅述;變量名(别名),變量值資料類型之前說過

2 指派表達式

表達式:将同類型的資料(如常量、變量、函數等)用運算符号按一定的規則連接配接起來的、有意義的式子稱為表達式;每一個表達式都可以求解出一個值

指派表達式:使用指派運算符=連接配接起來的式子 如 a=a+1;

變量可以重複指派,每次賦新值就會覆寫老值,是以age=19;

C# - 轉義字元,指派運算符,指派表達式 011

age+1=19

//數學中的表達式
a=1  a=a+1    
a=3  b=3  c=a+b      //c=6
//程式中的表達式
int a=1;   a=a+1;
int a=3; int b=3; int c=a+b;   //c=6           

程式中的指派表達式與數學中表達式的最終目的一樣,右側相加的結果指派給左側

C# - 轉義字元,指派運算符,指派表達式 011

程式中變量相加示意圖

1)通過變量名age找到記憶體中該變量名對應的記憶體存儲空間的位址

2)讀取該位址内的資料 18 放進記憶體的累加器中

3)在累加器中對 18與 1進行運算,将運算的結果重新指派給變量age(會覆寫原有值)

4)當列印輸出age時,再次讀取記憶體中變量age的值時,此時的值已是 19

c=a+b; 計算指派過程與上面類似,不同的是讀取了兩個變量中的值

在記憶體中運算時肯定會對兩個操作數類型的檢測,指派時也會對被指派與結果值檢測

//以下是以排除類型轉換因素為前提
int a=3; float b=3;  double c=a+b;
//首先檢測 a與b的類型是否一緻,然後再運算
//指派給c時,會檢測 c與 a+b的結果值類型是否一緻
//不過VS會實時檢測代碼是否符合C#文法,不符合根本編譯不了
//猜測 不管VS檢測代碼中指派表達式書寫正确與否,内部檢測應該少不了           

變量最終輸出的值取決在于什麼時候使用,不論後面如何加減乘除不影響目前輸出值

C# - 轉義字元,指派運算符,指派表達式 011

3 指派表達式的優先級中 = 指派符最低即隻在最後将右側結果指派給左側變量

4 + 在數值類型運算中表示得到操作數(兩個及以上相同類型)的和,是算術表達式加減乘除取餘中的一種

float num1=3.14f;
float sum=num1+3+6+6.6;           

+ 在字元串類型中表示連接配接的意思,隻要+一邊是字元串即可

C# - 轉義字元,指派運算符,指派表達式 011

多種類型進行連接配接輸出

繼續閱讀