




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第二章:C#程序設(shè)計基礎(chǔ)2.1.1C#的字符集字符是構(gòu)成程序設(shè)計語言的最小語法單位。C#的基本字符集包括:數(shù)字、大小寫英文字母和一些特殊字符C#中所有字符都是使用Unicode編碼表示,每個字符都由兩個字節(jié)(16位二進制數(shù))來表示,編碼范圍為0~65535,所以Unicode字符集最多可以表示65536個字符?;旧夏軌虬澜缟洗蠖鄶?shù)語言的字符集。中文字符集也已經(jīng)成為Unicode字符集的一個子集。2.1.2C#語言的詞匯集C#的詞匯集主要包括關(guān)鍵字、標識符和文字常量等1.關(guān)鍵字:又稱保留字,是對程序設(shè)計語言編譯器具有特殊意義的預(yù)定義保留標識符,編譯器掃描源程序時,將對關(guān)鍵字做出專門的解釋2.標識符:給程序中處理的數(shù)據(jù)對象(如變量、常量、函數(shù)、數(shù)據(jù)類型等)取的名字。⑴組成標識符的字符為字母、數(shù)字和下劃線;⑵標識符中第一個字符必須是字母或下劃線;⑶用戶在程序中自定義的標識符一般不允許使用表2-1所示的關(guān)鍵字。
如需要使用關(guān)鍵字作為自定義標識符,則標識符用字符“@”引導(dǎo)。⑷C#語言的標識符構(gòu)成中,要區(qū)分字符的大小寫形式。2.2C#語言的基本數(shù)據(jù)類型數(shù)據(jù)類型決定了該數(shù)據(jù)的取值范圍和可參加的運算。C#語言支持的數(shù)據(jù)類型分為兩個大類:值類型和引用類型。值類型簡單類型數(shù)值類型整型數(shù)據(jù)類型實型數(shù)據(jù)類型字符數(shù)據(jù)類型布爾數(shù)據(jù)類型枚舉數(shù)據(jù)類型結(jié)構(gòu)數(shù)據(jù)類型引用類型數(shù)組類型類類型代理類型接口類型2.2.1C#中的常量與變量C#程序中處理的數(shù)據(jù)分為:常量與變量常量:程序運行過程中,其值不能被改變。分為:數(shù)、字符、字符串和布爾常量變量:程序運行過程中,其值能夠被改變,用標識符來命名;C#語言是一種強類型語言,規(guī)定程序中的變量在使用之前必須加以定義。程序中每一變量都應(yīng)有確定的數(shù)據(jù)類型一個程序中一個變量只屬于一個類型,不能先后定義為兩個或多個不同類型變量定義一般形式:
數(shù)據(jù)類型名變量名列表;2.2.2整型數(shù)據(jù)類型C#類型.NET類型占用字節(jié)取值范圍sbyteSByte1-128~127byteByte10~255shortInt162-32768~32767ushortUint1620~65535intInt324-2,147,483,648~2,147,483,647uintUint3240~4,294,967,295longInt648-9,223,372,036,854,775,808~9,223,372,036,854,775,807ulongUint6480~18,446,744,073,709,551,6152.2.2整型數(shù)據(jù)類型C#語言中可以使用一條語句定義一個或者若干個同類型的整型變量
intmyInt1,myInt2; //定義兩個整型變量myInt1和myInt2ulongmyULong1; //定義了一個無符號長整型變量myULong1定義整型變量的同時對其進行初始化:
sbytemySbyte=125;;
intmyInt1=-65536,myInt2=12135;bytemyByte=-200;//無符號字節(jié)變量賦負值初始化數(shù)據(jù)ushortmyUShort=2147483647;//初始化數(shù)據(jù)超過無符號短整型數(shù)據(jù)表示范圍intmyInt=3.1415926; //為整型變量賦實型初始化數(shù)據(jù)√X2.2.3實型數(shù)據(jù)類型單精度實型(也稱為浮點型)、雙精度實型、十進制小數(shù)型C#類型.NET類型占用字節(jié)取值范圍floatSingle4約±1.5×10-45~±3.4×1038doubleDouble8約±5×10-324~±1.7×10308decimalDecimal16約±1.0×10-28~±7.9×1028實型常量表示:實數(shù)形式和指數(shù)形式實數(shù)形式:由數(shù)字和小數(shù)點組成,例如:888.88,0.88等。指數(shù)形式數(shù)據(jù):由數(shù)字0~9、小數(shù)點和表示階碼的標志E(或e)組成:
整數(shù)部分.小數(shù)部分E指數(shù)部分例如:123e5表示123×105,123e-5表示123×10-5。2.2.3實型數(shù)據(jù)類型C#語言默認實型數(shù)據(jù)常量為雙精度實型(double類型)數(shù)據(jù)在為單精度實型變量賦初始化值時需要在數(shù)據(jù)常量后使用后綴F(或f)在為十進制小數(shù)型變量賦初始化值時需要在數(shù)據(jù)常量后使用后綴M(或m)下面是一些正確的實型變量初始化示例: floatmyFloat1=123f,myFloat2=-12.52F; doublemyDouble1=1.5E-3D,myDouble2=123.53;
decimalmyDecimal1=234M,myDecimal=324.6728m;下面是一些錯誤的實型變量初始化示例:floatmyFloat1=123; //初始化單精度變量的數(shù)據(jù)常量后沒有后綴F(或f)decimalmyDecimal1=324.6728;//數(shù)據(jù)常量沒有使用后綴M(或m)floatmyFloat2=1.5E-3D; //數(shù)據(jù)常量錯誤使用后綴D√X2.2.4字符數(shù)據(jù)類型C#類型.NET類型占用字節(jié)取值范圍charChar216位Unicode字符C#中字符數(shù)據(jù)常量分為:普通字符和轉(zhuǎn)義字符普通字符:由單引號括起來的一個可打印字符,如’a’、’?’、’A’等。轉(zhuǎn)義字符:由反斜杠’\’開頭的字符序列,此時反斜杠字符后面的字符或字符序列不表示自己本身的含義而轉(zhuǎn)變?yōu)楸硎玖硗獾奶囟ㄒ饬x。轉(zhuǎn)義字符意義功能解釋\0 NULL字符串結(jié)束符\b 退格把光標向左移動一個字符\n 換行把光標移到下一行的開始\\反斜杠引用反斜杠字符\" 雙引號在字符串中引用雙引號\'單引號在字符串中引用單引號\a響鈴報警響鈴\f換頁(打印機)換到下一頁\t水平制表把光標移到下一個制表位置\xhhhh1到4位十六進制數(shù)所表示的字符\uxxxx4位十六進制數(shù)所表示的字符2.2.4字符數(shù)據(jù)類型對字符型變量的初始化值只能是單個的字符常量,若使用字符串?dāng)?shù)據(jù)初始化字符變量,編譯系統(tǒng)會指出不能將字符串轉(zhuǎn)換為字符的錯誤。 charmyChar1=’A’; charmyChar2='\x41'; charmyChar3='\u0041';charmyChar1=’A’+1;//’A’+1是整型數(shù)據(jù)常量,不能自動轉(zhuǎn)換為字符charmyChar2=“a”; //“a”是字符串常量,不能轉(zhuǎn)換為字符charmyChar3='\u041';//在\u后面十六進制數(shù)據(jù)不足4位√X2.2.5布爾數(shù)據(jù)類型布爾數(shù)據(jù)類型:表示條件成立與否,即“真”或“假”布爾數(shù)據(jù)類型占用一個字節(jié)的存儲區(qū)域。布爾數(shù)據(jù)類型變量只有兩種取值:
true:表示條件成立,即邏輯“真”的概念;
false:表示條件不成立,即邏輯“假”的概念;boolmyBool; //定義了一個布爾型變量myBoolboolmyBool1,myBool2;//同時定義了兩個布爾型變量myBool1和myBool2。定義變量時進行初始化:boolmyBool=true; boolmyBool1=true,myBool2;//myBool2的初始值為false2.3基本運算符優(yōu)先級運算符1x.y,f(x),a[x],x++,x--,new,typeof,checked,unchecked,->2+,-,!,~,++x,--x,(T)x,True,F(xiàn)alse,&,sizeof3*,/,%4+,
-5<<,>>6<,>,<=,>=,is,as7==,!=8&9^10|11&&12||13?:14=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,??表達式:運算符和圓括號將運算對象連接起來的、
符合C#語言語法規(guī)則的式子。2.3.1賦值運算符賦值運算符:=作用:將一個數(shù)據(jù)或是一個表達式的值賦給一個變量;賦值表達式:賦值號把一個變量和一個表達式連起來的式子。賦值表達式的一般形式如下:
varible=expression賦值運算符左邊的數(shù)據(jù)對象只能是變量一般是表達式(包括單個的常量、變量或方法(函數(shù))調(diào)用)2.3.1賦值運算符注意:1)賦值表達式可作為其他表達式的組成成分
d=(a=200)+c*d;功能:表達式(a=200)+c*d的值賦值給變量d(a=200)作為整個表達式中的一個成分參與運算2)賦值運算兩邊數(shù)據(jù)對象類型不一致時
數(shù)據(jù)類型兼容,則自動轉(zhuǎn)換數(shù)據(jù)類型數(shù)據(jù)類型不兼容,則編譯系統(tǒng)會報錯C#中進行強數(shù)據(jù)類型檢查inta;longd;d=a=100;doublea=123.5;floatb=100.4f;b=a+b;√X2.32算術(shù)運算符單目運算符:正號“+”和負號“-”。雙目運算符:“+”、“-”、“*”、“/”和“%”(求模)。1)兩個整數(shù)相除時,得到的結(jié)果仍然是整數(shù)7/5結(jié)果是1、-7/5結(jié)果是-1
除法結(jié)果采用截取法取整,即直接將小數(shù)部分去掉8/5結(jié)果是1-8/5結(jié)果是-12)求模運算就是求余數(shù)
運算結(jié)果的符號與第一個(左邊)運算對象相同
7%5結(jié)果是2 -7%5結(jié)果是-2 7%-5結(jié)果是2 -7%-5結(jié)果是-2
運算對象既可以是整型數(shù)據(jù),也可以是實型數(shù)據(jù)
6.5%2.1結(jié)果是0.2 6.5%-2.1結(jié)果是0.2 -6.5%2.1結(jié)果是-0.2-6.5%-2.1結(jié)果是-0.22.32算術(shù)運算符2.32算術(shù)運算符staticvoidMain(string[]args)
{inta=10,b=20,c,d,e;floatx=10.1f,y=0.00001f,z1,z2;c=a+b;d=a/b;e=a%b;z1=x+y;z2=y%5;
Console.WriteLine("c={0},d={1},e={2}",c,d,e);Console.WriteLine("z1={0},z2={1}",z1,z2);
Console.ReadLine();}c=30,d=0,e=10z1=10.10001,z2=1E-052.3.3復(fù)合賦值運算符復(fù)合賦值運算符:賦值運算符“=”前面加上其它運算符構(gòu)成
的一種運算符,又稱為“自反運算符”+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=<operand1>OP=<operand2>等同于<operand1>=<operand1>OP(<operand2>)a+=5 相當(dāng)于 a=a+5 //省略了括住第二個操作數(shù)的括號x*=y+1相當(dāng)于 x=x*(y+1) //不能省略括住第二個操作數(shù)的括號x%=y-5相當(dāng)于 x=x%(y-5) //不能省略括住第二個操作數(shù)的括號staticvoidMain(string[]args){doublea=10.5,b=30.8;intx=100,y=5;a+=b;x%=y+1;Console.WriteLine("a={0},x={1}",a,x);Console.ReadLine();}a=41.3,x=42.3.4自增自減運算符自增運算符”++”和自減運算符”--”是單目運算符功能:將運算對象的值增加或減少一個該對象的單位值前綴形式:自增、自減運算符出現(xiàn)在變量的左側(cè),
++i、--i。
操作方式:“先增值后引用”后綴形式:自增、自減運算符出現(xiàn)在變量的右側(cè)
i++、i--。
操作方式:“先引用后增值”2.3.4自增自減運算符staticvoidMain(string[]args){inta=10,b;doublec=5.5,d;b=++a;Console.WriteLine("a={0},b={1}",a,b);d=c++;Console.WriteLine("c={0},d={1}",c,d);Console.ReadLine();}前綴形式:先增值后引用a=11,b=11后綴形式:先引用后增值c=6.5,d=5.52.35sizeof運算符
功能:返回所測試的對象需要占用的存儲單元字節(jié)數(shù)使用形式:
sizeof(<typeName>)被測試的數(shù)據(jù)類型名,必須是數(shù)值型數(shù)據(jù)類型的名字staticvoidMain(string[]args)
{Console.WriteLine("字符數(shù)據(jù)對象:{0}",sizeof(char));Console.WriteLine("字節(jié)數(shù)據(jù)對象:{0}",sizeof(sbyte));Console.WriteLine("無符號字節(jié)數(shù)據(jù)對象:{0}",sizeof(byte));Console.WriteLine("短整型數(shù)據(jù)對象:{0}",sizeof(short));Console.WriteLine("無符號短整型數(shù)據(jù)對象:{0}",sizeof(ushort));Console.WriteLine("整型數(shù)據(jù)對象:{0}",sizeof(int));Console.WriteLine("無符號整型數(shù)據(jù)對象:{0}",sizeof(uint));Console.WriteLine("長整型數(shù)據(jù)對象:{0}",sizeof(long));Console.WriteLine("無符號長整型數(shù)據(jù)對象:{0}",sizeof(ulong));Console.WriteLine("單精度實型數(shù)據(jù)對象:{0}",sizeof(float));Console.WriteLine("雙精度實型數(shù)據(jù)對象:{0}",sizeof(double));Console.WriteLine("十進制小數(shù)型數(shù)據(jù)對象:{0}",sizeof(decimal));Console.ReadLine();}字符數(shù)據(jù)對象:2字節(jié)數(shù)據(jù)對象:1無符號字節(jié)數(shù)據(jù)對象:1短整型數(shù)據(jù)對象:2無符號短整型數(shù)據(jù)對象:2整型數(shù)據(jù)對象:4無符號整型數(shù)據(jù)對象:4長整型數(shù)據(jù)對象:8無符號長整型數(shù)據(jù)對象:8單精度實型數(shù)據(jù)對象:4雙精度實型數(shù)據(jù)對象:8十進制小數(shù)型數(shù)據(jù)對象:162.4C#中的數(shù)據(jù)類型轉(zhuǎn)換隱式類型轉(zhuǎn)換:系統(tǒng)自動轉(zhuǎn)換原則:向表達數(shù)據(jù)能力更強的數(shù)據(jù)類型方向轉(zhuǎn)換。序號被轉(zhuǎn)換類型可以轉(zhuǎn)換的類型1charushort,int,uint,long,ulong,float,double,decimal2sbyteshort,int,long,float,double,decimal3byteshort,int,uint,long,ulong,float,double,decimal4shortint,long,float,double,decimal5ushortint,uint,long,ulong,float,double,decimal6intlong,float,double,decimal7uintlong,ulong,float,double,decimal8longfloat,double,decimal9ulongfloat,double,decimal10floatdouble2.4.2數(shù)據(jù)的顯式轉(zhuǎn)換顯式轉(zhuǎn)換:強制類型轉(zhuǎn)換。一般形式是:
(typeName)(<Expression>)期望轉(zhuǎn)換成的數(shù)據(jù)類型名字被轉(zhuǎn)換的變量或表達式2.4.2數(shù)據(jù)的顯式轉(zhuǎn)換功能:本次運算中強迫表達式的值轉(zhuǎn)換成指定的數(shù)據(jù)類型參加運算例如:
floatx=2.5; inta=10,m;
m=a+(int)x;
實型變量x的值在強制轉(zhuǎn)換為整型與變量a相加計算后x的值為2.5強制類型轉(zhuǎn)換是對從變量中取出的值進行轉(zhuǎn)換,變量本身的值不改變2.4.2數(shù)據(jù)的顯式轉(zhuǎn)換
n=a+(int)(x+1.8)
被轉(zhuǎn)換對象是表達式,則需用括號將整個被轉(zhuǎn)換對象括住對表達式的計算機結(jié)果強制類型轉(zhuǎn)換表達式中各個變量的值不變2.4.2數(shù)據(jù)的顯式轉(zhuǎn)換staticvoidMain(string[]args){doublex=100.5;inti=3,j;Console.WriteLine("x={0}",x);j=(int)x%i;Console.WriteLine("j={0},x={1}",j,x);Console.ReadLine();}x=100.5j=1,x=控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法1.格式化輸出方法Write和WriteLineSystem.Console.Write(輸出數(shù)據(jù)項列表);System.Console.WriteLine(輸出數(shù)據(jù)項列表);區(qū)別:1)Write方法不能沒有輸出數(shù)據(jù)項,WriteLine方法可以沒有輸出數(shù)據(jù)項;2)Write方法輸出指定數(shù)據(jù)項后不會換行,WriteLine方法會自動換行;
WriteLine方法輸出的數(shù)據(jù)項數(shù)為0時,表示僅進行換行操作2.5.1控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法格式化輸出的形式:
Console.WriteLine(“格式控制字符串”,輸出數(shù)據(jù)項列表);構(gòu)成:普通字符和格式控制項原樣輸出,即在指定位置輸出指定字符(或字符串)一對花括號括起來,每個格式控制項對應(yīng)一個輸出數(shù)據(jù)項列表中的數(shù)據(jù){p,m:n}m表示指定的數(shù)據(jù)項輸出時所占的寬度p表示格式對應(yīng)的輸出數(shù)據(jù)項序號,序號從0開始編號n表示格式化字符格式化字符格式化字符意義描述f或
F指定用小數(shù)形式輸出實型數(shù)據(jù)e或
E指定用指數(shù)形式輸出實型數(shù)據(jù)g或
G指定由系統(tǒng)選擇小數(shù)形式或指數(shù)形式輸出實型數(shù)據(jù)p或
P指定用百分數(shù)形式輸出指定數(shù)據(jù)n或
N指定用逗號分隔的形式輸出指定數(shù)據(jù)c或
C指定用本地貨幣形式輸出指定數(shù)據(jù)d或
D指定用十進制形式輸出整型數(shù)據(jù)x或
X指定用十六進制形式輸出整型數(shù)據(jù)2.5.1控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法intmyInt1=12340,myInt2=56789;Console.Write(myInt1);Console.Write(myInt2);Console.WriteLine();Console.WriteLine("myInt1={0,3},myInt2={1,8}",myInt1,myInt2);Console.WriteLine("myInt1={0,7:d},myInt2={1,7:x}",myInt1,myInt2);2.5.1控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法doublemyDouble=12345.6789; //系統(tǒng)默認實型常數(shù)為雙精度型floatmyFloat=12345.6789f; //單精度實型常數(shù)用f后綴表示Console.WriteLine("myDouble={0,10:f3},myFloat={1,10:f3}",myDouble,myFloat);Console.WriteLine("myDouble={0,10:e3},myDouble={1,10:p2}",myDouble,myDouble);Console.WriteLine("myDouble={0,10:n2},myDouble={1,10:g2}",myDouble,myDouble);2.5.1控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法2.單個字符輸入方法Read完整調(diào)用形式為: System.Console.Read();程序前面使用usingSystem;后的調(diào)用形式為: Console.Read();功能:從鍵盤上接收一個字符,返回該字符對應(yīng)整數(shù)表示的代碼應(yīng)該將其強制轉(zhuǎn)換后再賦值給相應(yīng)的字符數(shù)據(jù)對象:charmyChar=(char)Console.Read();2.5.1控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法3.字符串輸入方法ReadLine功能:從鍵盤上接收一個字符串如果需要輸入數(shù)據(jù)值,則要將輸入的數(shù)字字符串轉(zhuǎn)換成為相應(yīng)數(shù)據(jù)轉(zhuǎn)換方式: <數(shù)據(jù)類型名>.Parse(數(shù)字字符串);輸入整型數(shù)據(jù)的方法: intmyInt=int.Parse(Console.ReadLine()); 輸入實型數(shù)據(jù)的方法: doublemyDouble=double.Parse(Console.ReadLine());
2.5.1控制臺應(yīng)用程序中數(shù)據(jù)輸入輸出方法staticvoidMain(string[]args){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通安全預(yù)警與應(yīng)急響應(yīng)-深度研究
- 礦業(yè)企業(yè)成本控制策略-深度研究
- 綠色化學(xué)原料技術(shù)-深度研究
- 湖北師范大學(xué)《財務(wù)管理實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海電機學(xué)院《語文學(xué)科知識與教學(xué)能力中學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆財經(jīng)大學(xué)《倉儲管理與庫存控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌師范學(xué)院《篆刻技法(二)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海外國語大學(xué)《馬克思主義》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢海事職業(yè)學(xué)院《建筑單體設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 廊坊燕京職業(yè)技術(shù)學(xué)院《工程流體力學(xué)D》2023-2024學(xué)年第二學(xué)期期末試卷
- 地中海風(fēng)格室內(nèi)設(shè)計
- 臨床實習(xí)出科小結(jié)神經(jīng)外科
- 碳酸鈣市場分析及競爭策略分析報告
- 糖尿病性眼肌麻痹的護理查房
- 泡泡瑪特展廳活動策劃
- 健康生活方式與健康促進的科學(xué)研究
- 文旅部門消防培訓(xùn)課件
- 中職語文課件:1.1《送瘟神》課件14張2023-2024學(xué)年中職語文職業(yè)模塊
- 胃瘍(消化性潰瘍)中醫(yī)護理方案
- 《哲學(xué)概論(第2版)》-課件全套 第0-6章 緒論、哲學(xué)的形態(tài)-馬克思主義哲學(xué)
- 踝關(guān)節(jié)骨性關(guān)節(jié)炎課件整理
評論
0/150
提交評論