簡易計算機
電腦最簡單基本的應用就是計算數字,如果我想知道5789+1843的計算結果,可以直接開啟一個Console專案,在主程式(Main)裡面寫兩行程式:
 Console.Write(5789+1843);
 Console.Read();
答案是 7632,很簡單吧?

再試試看計算: 1/3和 1/3.0 的結果有何不同?
前者會以整數計算答案是0;後者是0.333333...
這是唯一應該注意的小地方,就是電腦會根據你給不給小數點決定用整數或『浮點數』(有小數部分)處理。
其他和用計算機差不多,事實上還厲害一點點,試試看計算:
(1+3)/(5.0-3.2)
答案2.2222...,再多幾層括號它一樣會算!

數值資料型態與宣告:
當然所謂的程式應該是可以反覆使用,不能為了一個題目就要寫一整個程式,這太沒效率了!
要將程式變成可以反覆使用,首先必須將計算的數字變成『變數』,而且必須講清楚(宣告)變數的資料型態,
我們的目標是寫一個可以輸入兩個數字,然後相加的程式,先宣告兩個整數的變數,寫法是:
int A;
int B;
int 表示整數資料型態,A與B是變數名稱,可以自己取名如 MyNumber 等等,但要避開程式語言中的保留字,譬如Console代表主控台,你就不能用它當變數名稱,避免衝突。
如果要宣告為浮點數(有小數部分的數字),只需要把上面的 int 改成 float 即可。
你也可以在宣告變數時直接寫出它預設的數字,如:
int A = 1;
float B =3.3f; 或 float B = 3.3d;
注意到在浮點數宣告時,因為實際上還分為 float 和 double 兩種資料型態,前者比較粗略(7位有效數字),後者較精準(15位),所以必須在數字後面加上 f 或 d 分別代表 float 或 double。
請試試看以下的程式碼:
 float a=1.0f;
 float b=5.5f;
 Console.Write(a+b);
 一個圓面積計算程式可以是:
 float pi = 3.1415926d;
 float r = 5.0;
 Console.Write(pi * r * r);
 想想看矩形、三角型或梯型的計算公式應該如何變成程式???
記得要驗算哦!電腦大概不會算錯,但是我們常會寫(打)錯!

算術運算子:
加減乘除:+, -, *, /,如1+2,3/4等等
次方:Math.Pow(2,3)這是2的3次方的意思。小數次方也可以,Math.Pow(2,0.5)就是根號2了!(Pow是Power次方的縮寫)
取餘數:%,如 8%5的結果應該是3
括號:( ),如(2+3)*8,請注意不論幾層都用小括號中括號和大括號在程式中有不同的意義

關係運算子:
通常用於比較數值大小,可以視為運算式,答案只有對(True)與錯(False)兩種狀況
< 小於
> 大於
<= 小於等於
>= 大於等於
== 等於 (連續兩個等號)
!= 不等於
試試看下面的程式碼:
Console.Write(1>2)  答案→ False
Console.Write(1<2)  答案→ Ture
True與False也是一種資料型態稱為 bool (布林變數)
所以程式:
bool b;
b = 1 > 3;
Console.Write(b);
答案是 False

互動程式
上面的程式基本上只是幫你列出式子計算你要的結果,如果下次要作類似題還是必須修改程式中的變數。
但是如果變數可以在程式執行過程中由使用者輸入,那意義就不同了!變成了互動程式,而且任何其他人都可以使用,
不需要每次都改程式。要達到目的請用上述的加法程式修改如下:
  float a;
  a= float.Parse(Console.ReadLine());
  float b;
  b= float.Parse(Console.ReadLine());
  Console.Write(a+b);
其中 Console.ReadLine 表示要讀入(Read)一串字元(Line),也就是可以在鍵盤上打一串字,然後按 Enter 通知電腦輸入完畢!
在這個例子中,我們輸入的『一串字元』當然是我們要計算的數字,但是電腦不會自動知道,所以必須使用指令將字串轉換成可以加減乘除的數字! float.Parse 就是將字串轉換(Parse)成為浮點數(float)的指令,轉好之後定義給變數 a (或b)。

在此提醒一下,寫程式的計算式雖然很像數學公式,但是用法不太一樣,基本上方向相反!
數學上,等號邊的計算結果輸出於等號邊!
程式上,等號邊的計算結果輸出於等號邊!

執行上述程式應該可以完成互動加法程式,如果再加上輸入前的提示文字就更好了!譬如:
  Console.Write("請輸入加法的第一個數字:");
  float a;
 ...........

Write的變數嵌入寫法:
上例中試試看將輸出寫成→
 Console.Write("{0} + {1} = {2}", a, b, a + b);
如果你先後輸入1與2結果會是→ 1 + 2 = 3
{0}~{2}代表變數位置,此例中依序是 a, b, a + b

範例程式實作:
1.輸入華氏溫度,計算攝氏溫度。 公式:攝氏=(華氏-32)*5/9
2.先後輸入身高與體重,計算BMI值。 公式: 體重(公斤) / 身高2(公尺2)
3.先後輸入英呎與英吋,計算公分值。 公式:1英尺=12英吋;1英吋=2.54公分

本節提要:
1.數值常數的四則運算。
2.數值變數的意義與宣告
3.簡易數學公式的程式化。
4.主控台模式的程式輸出入互動。

更多的數值資料型態...

C# 支援九種整數類資料型別:sbytebyteshortushortintuintlongulong char。分別擁有下列大小和範圍的值:

  • sbyte 型別代表的是帶正負號的 8 位元整數,且介於 -128 127 的值。
  • byte 型別代表的是不帶正負號的 8 位元整數,且介於 0 255 的值。
  • short 型別代表的是帶正負號的 16 位元整數,且介於 -32768 32767 的值。
  • ushort 型別代表的是不帶正負號的 16 位元整數,且介於 0 65535 的值。
  • int 型別代表的是帶正負號的 32 位元整數,且介於 -2147483648 2147483647 的值。
  • uint 型別代表的是不帶正負號的 32 位元整數,且介於 0 4294967295 的值。
  • long 型別代表的是帶正負號的 64 位元整數,且介於 –9223372036854775808 9223372036854775807 的值。
  • ulong 型別代表的是不帶正負號的 64 位元整數,且介於 0 18446744073709551615 的值。
  • char 型別代表的是不帶正負號的 16 位元整數,且介於 0 65535 的值。這組 char 型別的可能值會對應至 Unicode 字元集。雖然 char 的表達方式和 ushort 相同,但是一個型別的所有運算並不一定可以允許出現在其他型別上

浮點數型別方面有:

  • float 型別可以表示範圍約略是 1.5 × 1045 3.4 × 1038,精確度有 7 位數。
  • double 型別可以表示範圍約略是 5.0 × 10324 1.7 × 10308,精確度有 15 16 位數。
  • decimal 型別是適用於財務和金錢計算的一種 128 位元資料型別。decimal 型別可以表示範圍從 1.0 × 1028 () 7.9 × 1028 的數字,有 28 29 個有效位數。