




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、12本章教學(xué)目標(biāo)本章教學(xué)目標(biāo)理解C#語(yǔ)言的基本字符集和詞匯集理解C#的數(shù)據(jù)類(lèi)型和常量、變量的定義方法,掌握簡(jiǎn)單數(shù)據(jù)類(lèi)型轉(zhuǎn)換的方法熟練掌握C#的運(yùn)算符,掌握利用變量、常量和運(yùn)算符構(gòu)成表達(dá)式的方法32.1 C#的基本字符集的基本字符集數(shù)字:數(shù)字:0 1 2 3 4 5 6 7 8 9英文字母:英文字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n o p q rs t u v w x y z特殊字符:特殊字符:Space ! “ # $ % & ( ) * + , - . / :
2、 ; ? _ | 4C#的關(guān)鍵字的關(guān)鍵字abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly unsafe c
3、onst implicit ref ushort continue in return using decimal int sbyte virtual default interface sealed volatile delegate internal short void do is sizeof while double lock stackalloc else long static enum namespace string 52.2 C#的簡(jiǎn)單數(shù)據(jù)類(lèi)型的簡(jiǎn)單數(shù)據(jù)類(lèi)型6標(biāo)識(shí)符的命名規(guī)則標(biāo)識(shí)符的命名規(guī)則第一個(gè)字符必須是英文字母(也可以是漢字、希臘字母、俄文字母等其他Unicode字符)
4、。從第二個(gè)字符開(kāi)始,可以使用英文字母、數(shù)字和下劃線,但不能包含空格、標(biāo)點(diǎn)符號(hào)、運(yùn)算符號(hào)等字符。不能與關(guān)鍵字重名,但如果在關(guān)鍵字前面加上前綴,也可以成為合法標(biāo)識(shí)符(不推薦,一般不要這樣用)。長(zhǎng)度不能超過(guò)255個(gè)字符 。7實(shí)例實(shí)例2.1例例2.1 在控制臺(tái)應(yīng)用程序中使用無(wú)符號(hào)整數(shù)變量,企圖用來(lái)保存負(fù)數(shù)時(shí)出現(xiàn)的錯(cuò)誤。 創(chuàng)建控制臺(tái)應(yīng)用程序以后,刪除可以省略的代碼行,代碼如下:using System;class calculation static void Main() ushort a,b,c;/定義了3個(gè)無(wú)符號(hào)短整型變量 a = 8; b = 6; c = b - a;/表達(dá)式的值為負(fù),無(wú)法向變
5、量c賦值 Console.WriteLine(c); 8實(shí)例實(shí)例2.2例例2.2 在控制臺(tái)應(yīng)用程序中使用無(wú)符號(hào)短整數(shù)變量,企圖存儲(chǔ)的數(shù)值過(guò)大而導(dǎo)致的溢出錯(cuò)誤。using System;class calculation static void Main() short a,b,c; /定義了3個(gè)短整型變量 a = 51200; /常量51200超出了short類(lèi)型的表達(dá)范圍 b = 16; c = a * b; /表達(dá)式的值超出了short類(lèi)型的表達(dá)范圍 Console.WriteLine(c); 9常用的轉(zhuǎn)義字符常用的轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符意義意義Unicode編碼編碼(十六進(jìn)制十六進(jìn)制)
6、單引號(hào)u0027雙引號(hào)u0022反斜杠u005C0空字符(null)u0000a響鈴u0007b退格(從當(dāng)前位置后退一列)u0008f換頁(yè)(從當(dāng)前位置移到下頁(yè)的開(kāi)頭)u000Cn換行(從當(dāng)前位置移到下一列的開(kāi)頭)u000Ar回車(chē)(從當(dāng)前位置移到本行的開(kāi)頭)u000Dt水平制表(跳到下一個(gè)Tab位置)u0009v垂直制表u000B10實(shí)例實(shí)例2.3例例2.3 利用轉(zhuǎn)義字符,使計(jì)算機(jī)發(fā)出響鈴聲的控制臺(tái)應(yīng)用程序。using System;class bell static void Main() char x, y;/聲明字符型變量x,y x = a;/向變量x賦值為表示響鈴的轉(zhuǎn)義字符 y = ;/
7、向變量y賦值為表示單引號(hào)的轉(zhuǎn)義字符 Console.Write(您將聽(tīng)到0計(jì)算機(jī)小喇叭1發(fā)出的一聲響, y, y); Console.WriteLine(x);/計(jì)算機(jī)小喇叭發(fā)出響鈴聲 11實(shí)例實(shí)例2.4例例2.4 利用Unicode編碼值向字符型變量賦值的控制臺(tái)應(yīng)用程序。using System;class unicode static void Main() char a,b; /聲明了兩個(gè)字符型變量a和b a = u59DA;/向字符型變量a賦予一個(gè)Unicode編碼值 b = u660E; /向字符型變量b賦予另一個(gè)Unicode編碼值 Console.WriteLine(你輸入的兩個(gè)
8、Unicode編碼的意思是:01,a,b); 12實(shí)例實(shí)例2.5例例2.5 下列控制臺(tái)應(yīng)用程序執(zhí)行時(shí),向單精度浮點(diǎn)變量x賦值3.14159326,查看輸出結(jié)果。using System;class single static void Main() float x;/定義變量x為單精度浮點(diǎn)類(lèi)型 x = 3.1415926f; /若省略后綴f,則認(rèn)為是double類(lèi)型,發(fā)生錯(cuò)誤 Console.WriteLine(x); 13實(shí)例實(shí)例2.6例2.6 下面的控制臺(tái)應(yīng)用程序用于計(jì)算3的平方根,結(jié)果保存在雙精度變量x中。using System;class single static void Mai
9、n(string args) double x; x = Math.Sqrt(3);/計(jì)算平方根 Console.WriteLine(3的平方根 = 0,x); 14實(shí)例實(shí)例2.7 例2.7 用浮點(diǎn)類(lèi)型進(jìn)行數(shù)值計(jì)算時(shí)可能出現(xiàn)的誤差。using System;class miscount static void Main() double x,y,z; /定義了三個(gè)雙精度浮點(diǎn)類(lèi)型變量 x = 10;/向變量x賦以常數(shù)值時(shí),默認(rèn)類(lèi)型為double y = 9.90; /向變量y賦以常數(shù)值時(shí),默認(rèn)類(lèi)型為double z = x - y;/將算術(shù)表達(dá)式 x y 的值賦給double變量z Consol
10、e.WriteLine(浮點(diǎn)數(shù)計(jì)算0 - 1 = 2,x,y,z); 15實(shí)例實(shí)例2.8例例2.82.8 用decimal類(lèi)型進(jìn)行帶有小數(shù)的數(shù)值計(jì)算時(shí)可以避免誤差。using System; static void Main(string args) decimal x,y,z; x = 10M;/decimal類(lèi)型的常數(shù)值后面必須跟一個(gè)M或m y = 9.9M; z = x - y; Console.WriteLine(十進(jìn)制小數(shù)計(jì)算0 - 1 = 2,x,y,z); 162.3 變量變量2.3.1 聲明變量 2.3.2 變量的初始化操作與初值 17實(shí)例實(shí)例2.9例例2.9 企圖引用未初始化
11、變量的控制臺(tái)應(yīng)用程序。using System;class calculation static void Main() int a, b, c; c = a + b; Console.WriteLine(c); 182.3.3 簡(jiǎn)單類(lèi)型數(shù)據(jù)之間的轉(zhuǎn)換簡(jiǎn)單類(lèi)型數(shù)據(jù)之間的轉(zhuǎn)換 簡(jiǎn)單類(lèi)型簡(jiǎn)單類(lèi)型允許隱式轉(zhuǎn)換到的類(lèi)型允許隱式轉(zhuǎn)換到的類(lèi)型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalush
12、ortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallongfloat、double、decimalulongfloat、double、decimalcharushort、int、uint、long、ulong、float、double、decimalfloatdouble19實(shí)例實(shí)例2.10例例 2.10 計(jì)算圓面積的控制臺(tái)應(yīng)用程序。using System; class area static void Main() double
13、myarea, pi = 3.14159; /定義了兩個(gè)雙精度浮點(diǎn)類(lèi)型變量 int radius = 8;/定義了整型變量 myarea = pi * radius * radius; /整數(shù)類(lèi)型與浮點(diǎn)類(lèi)型的混合運(yùn)算 Console.WriteLine(圓的面積= 0, myarea); 20實(shí)例實(shí)例2.11例例2.11 將三基色(R、G、B)表示的彩色像素轉(zhuǎn)換成灰度像素的計(jì)算公式為 Gray = 0.30R + 0.59G + 0.11B根據(jù)這個(gè)公式計(jì)算出任意一個(gè)指定像素的灰度值。程序代碼如下:using System;class pixel static void Main() byte
14、gray; byte r = 240, g = 201, b = 129;/像素的三基色分量值 gray = (byte)(0.30 * r + 0.59 * g + 0.11 * b);/顯式轉(zhuǎn)換成byte類(lèi)型 Console.WriteLine(計(jì)算得到的像素灰度值 = 0,gray); 212.5 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式運(yùn)算符運(yùn)算表達(dá)式示例+加法x + y-減法x - y*乘法x * y/除法x / y%求模x % y+自增x+ +x-自減x- -x表2-5 C#算術(shù)運(yùn)算符22加法運(yùn)算符的多重作用加法運(yùn)算符的多重作用兩個(gè)操作數(shù)均為數(shù)字,相加的結(jié)果為兩個(gè)操作數(shù)之和兩個(gè)操作數(shù)均為字符串
15、,把兩個(gè)字符串連接在一起兩個(gè)操作數(shù)分別為數(shù)字和字符串,則先把數(shù)字轉(zhuǎn)換成字符串,然后連接在一起兩個(gè)操作數(shù)分別為數(shù)字和字符,則先把字符轉(zhuǎn)換成Unicode代碼值,然后求和23算術(shù)運(yùn)算符的優(yōu)先級(jí)算術(shù)運(yùn)算符的優(yōu)先級(jí)當(dāng)一個(gè)表達(dá)式中含有多種算術(shù)運(yùn)算符時(shí),將按以下順序求值:乘、除運(yùn)算符(* /)求模運(yùn)算符(%)加、減運(yùn)算符(+ -)24關(guān)系運(yùn)算符關(guān)系運(yùn)算符 關(guān)系運(yùn)算符關(guān)系運(yùn)算符測(cè)試關(guān)系測(cè)試關(guān)系表達(dá)式示例表達(dá)式示例=相等相等x = y!=不相等不相等x != y小于小于x 大于大于x y=小于或等于小于或等于x =大于或等于大于或等于x = y25邏輯運(yùn)算符邏輯運(yùn)算符 1!(非)(非) 唯一的單目邏輯運(yùn)算符。
16、它的結(jié)果是操作數(shù)原有邏輯值的反值。2&(與)(與) 只有左、右操作數(shù)的值都為T(mén)rue時(shí),結(jié)果為T(mén)rue,否則結(jié)果為False。3|(或)(或) 左、右操作數(shù)只要有一個(gè)為T(mén)rue,結(jié)果即為T(mén)rue。僅當(dāng)左、右操作數(shù)的值均為False時(shí),結(jié)果才為False。26位運(yùn)算符位運(yùn)算符 1(按位取反)(按位取反) 將二進(jìn)制數(shù)的各位取原有值的反值。即原來(lái)為0,取反為1;原來(lái)為1,取反為0。2&(對(duì)應(yīng)位(對(duì)應(yīng)位“與與”) 只有左、右操作數(shù)對(duì)應(yīng)位的值都為1時(shí),結(jié)果為1,否則結(jié)果為0。3|(對(duì)應(yīng)位(對(duì)應(yīng)位“或或”) 左、右操作數(shù)只要對(duì)應(yīng)位有一個(gè)為1,結(jié)果即為1。僅當(dāng)左、右操作數(shù)的值均為0時(shí),結(jié)果才
17、為0。4(對(duì)應(yīng)位(對(duì)應(yīng)位“異或異或”) 當(dāng)左、右操作數(shù)對(duì)應(yīng)位的值相同(即都為1或0)時(shí),結(jié)果為0,否則結(jié)果為1。5(右移)(右移) 將二進(jìn)制操作數(shù)的各位向右移若干位,相當(dāng)于逐次除2的操作。272.6 枚舉與結(jié)構(gòu)枚舉與結(jié)構(gòu)枚舉(枚舉(enumeration) 有限、可數(shù)的數(shù)據(jù)元素組成的集合有限、可數(shù)的數(shù)據(jù)元素組成的集合 星期一到星期日星期一到星期日7個(gè)數(shù)據(jù)元素組成的集合個(gè)數(shù)據(jù)元素組成的集合一年內(nèi)一年內(nèi)12個(gè)月組成的集合個(gè)月組成的集合 在在C#語(yǔ)言中,枚舉是用標(biāo)識(shí)符表示的整型常量語(yǔ)言中,枚舉是用標(biāo)識(shí)符表示的整型常量的集合,枚舉成員是具有整數(shù)類(lèi)型的符號(hào)常量的集合,枚舉成員是具有整數(shù)類(lèi)型的符號(hào)常量 什
18、么叫什么叫“屈指可數(shù)屈指可數(shù)”?什么叫什么叫“不勝枚舉不勝枚舉”?28聲明枚舉類(lèi)型的一般形式聲明枚舉類(lèi)型的一般形式 enum 枚舉名枚舉名 :基本數(shù)據(jù)類(lèi)型:基本數(shù)據(jù)類(lèi)型 枚舉常量列表枚舉常量列表其中:enum :定義枚舉類(lèi)型的關(guān)鍵字枚舉名:枚舉名:定義枚舉類(lèi)型時(shí)賦予的名稱(chēng)基本數(shù)據(jù)類(lèi)型:基本數(shù)據(jù)類(lèi)型:可選,指定枚舉成員的基本數(shù)據(jù)類(lèi)型,默認(rèn)為int枚舉常量列表:枚舉常量列表:用標(biāo)識(shí)符組成的列表,兩個(gè)相鄰的枚舉成員之間用逗號(hào)分隔29定義星期定義星期enum weekDaysSunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday默認(rèn)
19、默認(rèn)Sunday=0Saturday=?30定義枚舉時(shí)指定枚舉成員的值定義枚舉時(shí)指定枚舉成員的值 enum weekDaysMonday =1, Tuesday, Wednesday, Thursday, Friday, Saturday, SundayMonday=1Saturday=?Sunday=?31定義太陽(yáng)系中行星軌道周期的枚舉定義太陽(yáng)系中行星軌道周期的枚舉 enum planetPeriods Mercury = 88, Venus = 225, Earth = 365, Mars = 68732實(shí)例實(shí)例2.18 例例2.18 創(chuàng)建Windows窗體應(yīng)用程序,顯示太陽(yáng)系中水星、金星
20、、地球以及火星的軌道周期(即繞太陽(yáng)一圈的天數(shù)) enum planetPeriods : int/聲明枚舉 Mercury = 88, Venus = 225, Earth = 365, Mars = 687private void Form1_Click(object sender, EventArgs e) label1.Text += “水星周期 + (int)planetPeriods.Mercury + 天n; label1.Text += 金星周期 + (int)planetPeriods.Venus + 天n; label1.Text += 地球周期 + (int)planetP
21、eriods.Earth + 天n; label1.Text += 火星周期 + (int)planetPeriods.Mars + 天n;33結(jié)構(gòu)結(jié)構(gòu)結(jié)構(gòu):多個(gè)不同數(shù)據(jù)類(lèi)型的相關(guān)元素組合在一起而形成的一種數(shù)據(jù)結(jié)構(gòu) 聲明結(jié)構(gòu)類(lèi)型的一般形式:struct 結(jié)構(gòu)名 結(jié)構(gòu)成員聲明語(yǔ)句1; 結(jié)構(gòu)成員聲明語(yǔ)句2; 結(jié)構(gòu)成員聲明語(yǔ)句n;34例如,下面的語(yǔ)句聲明了一個(gè)Student結(jié)構(gòu):struct Student public string name; public string sex; public uint age; public string phone; public uint score;35
22、實(shí)例2.19using System;using System.Windows.Forms;namespace ex2_18 public partial class Form1 : Form public Form1() InitializeComponent(); struct Student /聲明結(jié)構(gòu)聲明結(jié)構(gòu) - /見(jiàn)下頁(yè)見(jiàn)下頁(yè) 例例2.19 創(chuàng)建一個(gè)名為創(chuàng)建一個(gè)名為Student的結(jié)構(gòu),并且對(duì)它的成員執(zhí)行讀寫(xiě)操作的結(jié)構(gòu),并且對(duì)它的成員執(zhí)行讀寫(xiě)操作36實(shí)例2.19(聲明結(jié)構(gòu))struct Student/聲明結(jié)構(gòu) public string name; /姓名(字符串類(lèi)型) publi
23、c string sex; /性別(字符串類(lèi)型) public uint age; /年齡(無(wú)符號(hào)整數(shù)) public string phone; /電話(huà)號(hào)碼(字符串類(lèi)型) public uint score; /成績(jī)(無(wú)符號(hào)整數(shù))37實(shí)例2.19(事件過(guò)程)private void Form1_Click(object sender, EventArgs e) Student student1; /創(chuàng)建創(chuàng)建Student類(lèi)型的一個(gè)實(shí)例類(lèi)型的一個(gè)實(shí)例 = 田一妮田一妮; student1.sex = 女女; student1.age = 19; student1.phone = 68752220; student1.score = 100; label1.Text += 學(xué)生姓名:學(xué)生姓名: +
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 弓形體病性鞏膜炎的臨床護(hù)理
- 調(diào)研新質(zhì)生產(chǎn)力
- 頭部震顫的臨床護(hù)理
- 2025年一級(jí)建造師之一建水利水電工程實(shí)務(wù)練習(xí)題(二)及答案
- 新質(zhì)生產(chǎn)力峰會(huì)
- 神經(jīng)膠質(zhì)母細(xì)胞瘤的臨床護(hù)理
- 用好新質(zhì)生產(chǎn)力
- 2025設(shè)備租賃合同寫(xiě)作格式
- 2025傾力湖南省娛樂(lè)酒店商業(yè)行業(yè)勞動(dòng)合同模板
- 陜西中考數(shù)學(xué)試卷真題及答案b卷
- 委托外包催收合同協(xié)議
- 2025-2030中國(guó)涂裝行業(yè)市場(chǎng)深度分析及發(fā)展預(yù)測(cè)與投資策略研究報(bào)告
- 乳腺癌診治指南與規(guī)范(2025年版)解讀
- 銀行系統(tǒng)招聘考試(經(jīng)濟(jì)、金融、會(huì)計(jì))模擬試卷14
- 2025屆百師聯(lián)盟高三聯(lián)考模擬預(yù)測(cè)(沖刺二)語(yǔ)文試題含答案
- 心理韌性在咨詢(xún)中的重要性試題及答案
- 2025年全國(guó)普通話(huà)水平測(cè)試訓(xùn)練題庫(kù)及答案
- 2025年山東省濱州市陽(yáng)信縣九年級(jí)一模模擬化學(xué)試題(含答案)
- 班組文化培訓(xùn)課件
- 2025年光伏居間協(xié)議模板
- 石油化工行業(yè)機(jī)密泄露風(fēng)險(xiǎn)及應(yīng)對(duì)策略
評(píng)論
0/150
提交評(píng)論