C#語言基礎


第一部分 了解C#

C#是微軟公司在2000年7月發布的一種全新且簡單、安全、面向對象的程序設計語言,是專門為.NET的應用而開發的。體現了當今最新的程序設計技術的功能和精華。.NET框架為C#提供了一個強大的、易用的、邏輯結構一致的設計環境。其特點:

  • 語言簡潔
  • 保留了C++的強大功能;
  • 快速應用開發功能;
  • 語言的的自由性;
  • 強大的Web服務器控件;
  • 支持跨平台;
  • 與XML相融合;

第二部分 C#語言基礎;

一、C#項目的組成結構;

1、項目后綴

.config——配置文件(存放配置參數文件)

.csproj——項目文件(管理文件項)

.sln——解決方案文件(管理項目)

.cs——源文件(程序代碼)

注:后綴不同代表文件類型也不同,這些文件后綴類型會在“解決方案資源管理器”中看到。

2、函數的四要素:名稱,輸入,輸出,加工。

3、主函數,輸出語句,輸入語句:

//命名空間

namespace ConsoleApplication1

{//類

    class Program

    {

        //程序的入口

static void Main(string[] args)

        {

           //輸出語句,打印不換行

           Console.Write("這是我的第一個C#程序!");

           //輸出語句,打印完成換行

           Console.WriteLine("Hello world!");

           //輸入語句,等待直到接收到回車命令為止,獲取一整行內容

           //一個等號表示賦值號

           string s = Console.ReadLine();

           Console.WriteLine(s);

           Console.ReadLine();

           }

     }

}

注意:●輸出:

Console.WriteLine("這是我的第一個程序。");

Console.WriteLine("這是第二行代碼。");

Console.Write("這是要輸出的文字。");注意:沒有換行

注意:

1.大小寫敏感;

2.所有的符號全都用英文;

3.不要漏掉;。

●輸入:

string s = Console.ReadLine();

//這句話的意思是從控制台程序讀取一整行內容放到s這個容器里面

Console.WriteLine("你剛剛輸入的是:"+s);

string -字符串類型

s -變量名

= -賦值

Console.ReadLine(); - 從控制台程序讀取一整行

4、快捷鍵的使用

● Alt + →提示,需要執行程序時點擊啟動或Ctrl+F5;

● ctrl + K(ctrl + E), 然后按ctrl + C,注釋本行(軟件工具欄中有快捷圖標);

● ctrl + K(ctrl + E), 然后按ctrl + U,取消注釋(軟件工具欄中有快捷圖標);

● Shift + delete,一刪刪一行;

● Ctrl + X,剪切一行;Ctrl + Z,回復;

● Ctrl + Shift + Space,將光標放在方法函數括號里面時使用,顯示重載

5、注意事項

(1)、注釋和[取消注釋]:

● 選中相應的行,點擊工具欄中的注釋選中行[取消注釋選中行];

● 選中相應的行,使用快捷鍵:Ctrl+K Ctrl+C [Ctrl+K Ctrl+U]

● 手動注釋:在不要的行前面加//(注釋一整行)

● 注釋其中一段代碼:/*這里面是代碼 */

● 注釋的作用://這兩行是輸出的功能

技巧:

● 寫的代碼盡量使用智能感知功能;

● 先寫總體,再完善細節;

● 自動完成單詞功能。Alt+→

例如:/*表示注釋一段內容

       Console.Write("請輸入你的姓名:");

       string name = Console.ReadLine();

       Console.Write("請輸入你的年齡:");

       string age = Console.ReadLine();

       Console.Write("\n");

       //第一種方式

       //Console.WriteLine("你的姓名是"+name+",今年"+age+"歲了。");*/

       //加號在遇到string類型的時候表示拼接

       //第二種方式

       //Console.WriteLine("你的姓名是{0},今年{1}歲了。",name,age);

       //Console.ReadLine();

(2)、在一行聲明相同類型的多個變量之間用逗號分開。

例:int a, b;//聲明變量類型,用逗號隔開

(3)、同一語句中,不能對同一個變量名聲明成同一類型兩次。

例:int a = 4; int a = 5;//錯誤

綜上練習題:案例:輸入姓名,年齡,單位,

              整合成一個流暢的句子顯示出來。

主要程序:Console.Write ("請輸入你的姓名:");

           string name = Console.ReadLine();

           Console.Write("請輸入你的年齡:");

           string age = Console.ReadLine();

           Console.Write("請輸入你的單位:");

           string danwei = Console.ReadLine();

           Console.WriteLine("你的姓名是"+a+",今年"+b+"歲了,在"+c+"實訓");

           Console.ReadLine();

"你的名字是***,今年**歲了,在**實訓。"將a,b,c代入***。

"你的名字是"+a+",今年"+b+"歲了,在"+c+"實訓。"

 

二、數據類型

大類

小類

C#語言

.net語言(通用語言)

說明

大小(字節)

值區間

基本數據類型(值類型)

整型

sbyte

SByte

8位有符號整數

1

-128~127(負的2的7次方~正的2的7次方減1)

short

Int16

16位有符號整數

2

-32768~32767(負的2的15次方~正的2的15次方減1)

int

Int32

32位有符號整數

3

(負的2的31次方~正的2的31次方減1)

long

Int64

64位有符號整數

4

(負的2的63次方~正的2的63次方減1)

byte

Byte

8位無符號整數

1

0~255 (0~2的8次方減1)

ushort

UInt16

16位無符號整數

2

(0~2的16次方減1)

uint

UInt32

32位無符號整數

3

(0~2的32次方減1)

ulong

UInt64

64位無符號整數

4

(0~2的64次方減1)

浮點型

float

Single

32位單精度浮點數

4

1.5 × 10−45 到 3.4 × 1038

double

Double

64位雙精度浮點數

8

5.0 × 10−324 到 1.7 × 10308

decimal

Decimal

128精確浮點數

16

1.0 × 10−28 到大約 7.9 × 1028

字符型

char

Char

16位Unicode字符,放在''里的是字符

2

任意字符

布爾型

bool

Boolean

表示true或者false

1

True或Flase

日期時間

datetime

DateTime

     

結構體

struct

Struct

     

枚舉類型

enum

Enum

     

引用類型

字符串類型

string

String

   

字符序列

         

數組

         

集合

         

1、基本數據類型:值類型

⑴、整數類型:int(最常用)

int a = 2;

⑵、浮點型:double(最常用)是C#默認小數類型,float用需加后綴f,decimal用需加后綴m。

double b = 3.14;

a = (int)b;

float c = 3.14f;

decimal d = 3.14m;

⑶、布爾型:用於判斷,只允許放TRUE或者FALSE。

bool e = false;

e = true;

2、引用類型:字符串型string,長度較長,定義時用雙引號。

string ss = "Hello world!";

Console.WriteLine(e);

3、類類型

object 所有其他類型的最終基類

4、接口類型:interface

三、C#轉義字符

\’ 單引號     \” 雙引號     \\ 反斜杠   \0 空

\a 警告(產生峰鳴)   \b 退格    \f 換頁   \n 換行

\r 回車     \t 水平制表符         \v 垂直制表符

四、變量、常量

1、變量名的命名規則:

●變量名組成:字母,數字,下划線,@,漢字。

●首字母只能用字母,下划線,@,漢字

●不能與關鍵字重名

2、變量的定義:

數據類型  變量名 [=值];   //[]內的值可以不寫

例子:int  a=1;

注意:int a, b;//聲明變量類型,用逗號隔開

      int a = 4; int a = 5;//錯誤

3、常量:只能夠取值,不能重新賦值

       const int f = 5;

       f = 7;錯誤,不能重新賦值

4、變量名前加關鍵字(不能賦值,只能取值):const

例子:const  int a=1;

五、基本的類型轉換

1、自動轉換(隱式轉換)--從值類型轉換到引用類型時候

2、強制轉換(顯式轉換)--從引用類型轉換到值類型時候,或者從浮點型轉換到整形

當從一個引用類型轉換到值類型時,必須引用類型中的數據元素,能夠轉換成值類型的容量范圍內的數據才行,否則不能轉。

⑴、用(),注:在被轉換的數據左邊加上小括號:(要被轉換成的數據類型);

例子:int a;double b=12.3;a=(int)b;

⑵、用convert;

例子: int a;    float c;    double b=12.3;

a=convert.ToInt32(b);

c=convert.Tosingle(b);

⑶、用parse,常用;

例子: int a;  double b=12.3;

a=int.parse(b);

注:int a = 2;

string s = a.ToString();

例子:輸入三個數,求它們的和、差、積、商。

Console.WriteLine("請輸入a=");

double a = double.Parse(Console.ReadLine());

Console.WriteLine("請輸入b=");

double b = double.Parse(Console.ReadLine());

Console.WriteLine("兩個數的和為{0},兩個數的差為{1},兩個數的乘積為{2},兩個數的商為{3}",a+b,a-b,a*b,a/b);

Console.ReadLine();

六、運算符

 

分類

符號

解釋

優先級

 

算數

++   --

加加   減減

由高到低,即執行順序由上到下.(圓括號的優先級最高)

*/%

乘  除  取余

+  -

加  減

關系

>    <    >=     <=

大於 小於 大於等於   小於等於

==     !=

等於  不等於

 

邏輯

&&

與(並且)

||

!

非(注:優先級在此表的最頂層)

條件運算符

?:

惟一的一個三元運算符  如果

賦值

=    +=  -=    *=    /=   %=

如:x-=4.即x=x-4;

1、算數運算符:

⑴、+  -

int a = 2; int b = 5;

Console.WriteLine(a+b)

⑵*  /  % 

int a = 10 % 3;

Console.WriteLine(a);

Console.ReadLine();

注意:

●做除法運算的時候,如果兩個操作都是整數,則運算之后的結果也是整數。

●做算數運算的時候,如果兩個被操作的數不是同一類型,則會在運算的時候會自動進行類型轉換。

備注:%  模   取余的用途

●判斷a是不是b的倍數(是否能夠整除)====>a%b是否==0

●判斷a的個位是不是b====>a%10是否==b

●把數變成某個范圍之內的數(利用余數一定比除數小的定理,比如十六進制里面最大的單個數是F(15))

⑶、++  --

int a =5;

int b= a++;  ====>可以寫成int b =a; a = a+1;

int c = ++a;====>可以寫成a = a+1; int c =a;

運算出來的結果就是

b = 5;

c = 7;

注意:●++  --這兩種運算只能應用於變量(5++是不對的!!常量也是不可以使用的!!)

●前++和后++的區別:加加在前,先運算再賦值;加加在后,先賦值再運算。

int a = 5;

int b = a++;//int b=a;a=a+1;

int c = ++a;//a=a+1;int c=a;

Console.WriteLine(a);

Console.WriteLine(b);

Console.WriteLine(c);

Console.ReadLine();

2、關系運算符:

==  !=  >  <  >=  <=

關系運算符運算結果統統是bool型(結果不是Ture就是False)

int a = 5;

int b = 6;

Console.WriteLine(a == b);   ====>False

Console.WriteLine(a != b);   ====>True

Console.WriteLine(a > b);    ====>False

Console.WriteLine(a < b);    ====>True

Console.WriteLine(a >= b);   ====>False

Console.WriteLine(a <= b);   ====>True

注意:==    不能寫成 =(一個=是賦值的意思)

3、邏輯運算符:

⑴、&&====>兩個條件都成立,結果為True,否則False

bool a = 3 > 2 && 3 < 7;//true

⑵、||====>兩個條件只要有一個成立,結果為True,兩個都不成立為False

bool b = 5 > 3 || 5 > 7;//true

⑶、!====>將原來的結果取相反的(若本來為True,取反就是False)

bool c = !(5 > 3) || 5 > 7;//false

Console.WriteLine(c);

Console.ReadLine();

4、其他運算

= ====>賦值運算,將后面的值賦給左側的變量。(注意:只能是變量)

+=  -=  *=  /=  %=  ====>復合運算符(例:a += b;(意思是a = a +b;))

int a = 6;

a += 7;//a=a+7;

a *= 2;//a=a*2;

a %= 4;//a=a%4;

Console.WriteLine(a);

Console.ReadLine();

5、條件運算符:?

例題1:老狼老狼幾點了?   若是上午出現am,下午出現pm,若是下午,需要報時的時候減去12。

Console.Write("老狼老狼幾點了?");

int time = int.Parse( Console.ReadLine());

string s = time > 12 ? (time-12)+"pm" : time+"am";

Console.WriteLine(s);

Console.ReadLine();

例題2:鍵盤鍵入三個數,找出來最大的數。

Console.Write("輸入一個a值");

double a = double.Parse(Console.ReadLine());

Console.Write("輸入一個b值");

double b = double.Parse(Console.ReadLine());

Console.Write("輸入一個c值");

double c = double.Parse(Console.ReadLine());

//double  d =a>b ? a:b;

//double e = d > c ? d : c;

double e = (a > b ? a : b) > c ? (a > b ? a : b) : c;

Console.WriteLine("最大的數是"+e);

Console.ReadLine();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM