




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
23
C#程序入門3What’sinaname?Thatwhichwecallarose
byanyothernamewouldsmellassweet.WilliamShakespeareWhenfacedwithadecision,Ialwaysask,
“Whatwouldbethemostfun?”PeggyWalker4“Takesomemoretea,”theMarchHaresaidtoAlice,veryearnestly.“I’vehadnothingyet,”Alicerepliedinanoffendedtone,“soIcan’ttakemore.”“Youmeanyoucan’ttakeless,”saidtheHatter:“it’sveryeasytotakemorethannothing.”LewisCarroll
5目標(biāo)本章將講解:用代碼而不用可視化編程技術(shù)編寫簡單的C#程序從鍵盤輸入數(shù)據(jù)和向屏幕輸出數(shù)據(jù)聲明并使用各種類型的數(shù)據(jù)存儲和讀取內(nèi)存數(shù)據(jù)使用算術(shù)運(yùn)算符確定運(yùn)算符的執(zhí)行順序編寫判斷語句使用關(guān)系運(yùn)算符和相等運(yùn)算符63.1
簡介3.2
一個簡單的C#程序:顯示一行文本3.3
在VisualStudio中創(chuàng)建簡單的程序3.4
修改C#程序3.5
用Console.Write和Console.WriteLine格式化文本3.6
另一個C#程序:數(shù)據(jù)相加3.7
內(nèi)存概念3.8
算術(shù)運(yùn)算符3.9
判斷:相等運(yùn)算符與關(guān)系運(yùn)算符3.10
(可選)ATM需求文檔73.1
簡介
控制臺應(yīng)用程序(Consoleapplications)在控制臺窗口中輸入和輸出文本,在WindowsXP和WindowsVista系統(tǒng)中稱為命令提示(CommandPrompt)。8Welcome1.cs圖.3.1|顯示文本的程序聲明
Welcome1類注釋提高代碼可讀性3.2
一個簡單C#程序:顯示一行文本(續(xù).)93.2
一個簡單C#程序:顯示一行文本(續(xù).)程序員給程序文檔插入注釋。注釋提高代碼的可讀性。C#編譯器會忽略注釋,因此當(dāng)運(yùn)行程序時,注釋不會讓計算機(jī)執(zhí)行任何動作。以//
開頭的注釋叫做單行注釋(single-linecomment),因?yàn)樽⑨屧谛械哪┪簿徒Y(jié)束了。一個
//
注釋也可以在行中間開始并直到行末尾。
定界注釋(Delimitedcomments)
以定界符/*開始
并以定界符*/結(jié)束。所有包含在定界符之間的文本會被編譯器忽略。103.2
一個簡單C#程序:顯示一行文本(續(xù).)常見的編程錯誤3.1遺忘定界注釋的某個定界符是一個語法錯誤。編程語言的語法制定了以這種語言創(chuàng)建正確的程序規(guī)則。當(dāng)編譯器遇到違反C#語言規(guī)則的代碼時,就會出現(xiàn)語法錯誤。113.2
一個簡單C#程序:顯示一行文本(續(xù).)一個
using
指令告訴編譯器到哪里去尋找程序中使用的類。預(yù)定義的類被放在命名空間——相關(guān)類的命名集合。.NET的名字空間統(tǒng)稱為.NET框架類庫。System
名字空間包含預(yù)定義Console類和其他有用的類
。123.2
一個簡單C#程序:顯示一行文本(續(xù).)錯誤防止提示3.1如果程序中用到的類沒有用using指令指定它的名字空間,通常會造成編譯錯誤,出現(xiàn)諸如“Thename‘Console’doesnotexistinthecurrentcontext.”的消息。如果出現(xiàn)這種錯誤,應(yīng)檢查是否提供了合適的using指令,還要檢查using指令,還要檢查using指令中的單詞是否拼寫正確,包括大小寫字母是否正確。133.2
一個簡單C#程序:顯示一行文本(續(xù).)程序員使用空行和空字符來使程序更易于閱讀??招小⒖兆址椭票矸黄鸨环Q為空白(whitespace),空白被編譯器忽略。143.2
一個簡單C#程序:顯示一行文本(續(xù).)關(guān)鍵字Keywords(有時被稱為保留字reservedwords)是C#保留使用的,全部采用小寫字母。每一個程序至少有一個由程序員定義的類聲明classdeclaration,稱為“用戶定義類”user-definedclasses。類關(guān)鍵字引入類聲明,它的后面緊跟類的名稱。153.2
一個簡單C#程序:顯示一行文本(續(xù).)好的編程經(jīng)驗(yàn)3.1按照慣例,類名稱標(biāo)識符總是以一個大寫字母開頭,并將其后的每個單詞的首字母都大寫。16圖.3.2
|
C#關(guān)鍵字和上下文關(guān)鍵字
(部分1.)類名稱是一個標(biāo)識符identifier:一系列的字母、數(shù)字和下劃線(_)組成。不能以數(shù)字開頭,也不能包含空格。圖3.2中列出了C#關(guān)鍵字的完整清單。3.2
一個簡單C#程序:顯示一行文本(續(xù).)17圖.3.2
|
C#關(guān)鍵字和上下文關(guān)鍵字
(部分2.)在圖3.2中的上下文關(guān)鍵字被用于標(biāo)識符,但為了清晰起見,不推薦這樣做。3.2
一個簡單C#程序:顯示一行文本(續(xù).)183.2
一個簡單C#程序:顯示一行文本(續(xù).)C#是大小寫敏感
casesensitive—大小寫字母是有區(qū)別的,因此
a1
和
A1
是不同的(但有效)標(biāo)識符。常見的編程錯誤3.2C#是大小寫敏感的。用錯了標(biāo)識符的大寫和小寫字母,通常會導(dǎo)致編譯錯誤。標(biāo)識符的前面還可以加上@
符號。這個符號表明了單詞應(yīng)當(dāng)解釋為標(biāo)識符,即使它為關(guān)鍵字。(e.g.@int).193.2
一個簡單C#程序:顯示一行文本(續(xù).)好的編程經(jīng)驗(yàn)3.2按照慣例,命名包含一個公共類的文件時應(yīng)和類同名(加上.cs擴(kuò)展名),拼寫和大小寫都一致。
這樣的命名有利于確定程序類的位置。203.2
一個簡單C#程序:顯示一行文本(續(xù).)每個類聲明的類體(body)都以一個左花括號
{開始。并以一個對應(yīng)的右花括號
}來結(jié)束類的聲明。錯誤預(yù)防提示3.2一旦在程序中輸入了左花括號{,就立即輸入右花括號}。然后將光標(biāo)重新定位到二者之間并進(jìn)行縮進(jìn),再進(jìn)行輸入。這一經(jīng)驗(yàn)有助于避免因遺漏花括號而出現(xiàn)錯誤。好的編程經(jīng)驗(yàn)3.3在界定體的左花括號和右花括號之間,應(yīng)將每個類聲明的整個類體都縮進(jìn)一“級”。這種格式既突出了類聲明的結(jié)構(gòu),又使它更易閱讀。選擇Edit>Advanced>FormatDocument??梢宰孖DE格式化代碼。213.2
一個簡單C#程序:顯示一行文本(續(xù).)好的編程
經(jīng)驗(yàn)3.4設(shè)置愿意采用的縮進(jìn)量,然后一致地使用它。也可以使用Tab鍵來來產(chǎn)生縮進(jìn),但不同的文本編輯器的制表符長度可能不同。推進(jìn)每個縮進(jìn)三個空格。在3.3中講解了如何進(jìn)行這種設(shè)置。常見的編程錯誤3.3如果花括號不成對出現(xiàn),則是一種語法錯誤。223.2
一個簡單C#程序:顯示一行文本(續(xù).)標(biāo)識符后面的圓括號Parentheses表示它是一個稱為方法的程序構(gòu)建塊
。類聲明中通常包含一個或多個方法。方法名采用與類名相同的大小寫慣例。對每個應(yīng)用程序,類中必須有一個Main方法;否則程序?qū)⒉荒苓\(yùn)行。方法能夠執(zhí)行任務(wù),并在完成任務(wù)后返回信息。關(guān)鍵字void
表示這個方法在完成任務(wù)后不返回任何信息。233.2
一個簡單C#程序:顯示一行文本(續(xù).)方法體聲明以左花括號{開始,以對應(yīng)的右花括號}結(jié)束。好的編程經(jīng)驗(yàn)3.5和類聲明一樣,在界定方法體的左花括號和右花括號之間,應(yīng)將每個方法聲明的整個方法體都縮進(jìn)一級。這種格式使方法的結(jié)構(gòu)更突出,也使方法聲明更易讀。243.2
一個簡單C#程序:顯示一行文本(續(xù).)在雙引號之間的字符表示是字符串strings。
在字符串中的空白符不會被編譯器忽略。Console.WriteLine
方法實(shí)現(xiàn)在控制臺窗口中顯示一行文本。括號中的字符串是Console.WriteLine
方法的參數(shù)。Console.WriteLine
方法的作用在控制臺窗口中顯示參數(shù)(也叫輸出)。253.2
一個簡單C#程序:顯示一行文本(續(xù).)一個方法一般由一條或多條語句組成,執(zhí)行方法的任務(wù)。(語句:statements)多數(shù)語句以分號結(jié)束。(分號:semicolon)常見的編程錯誤3.4在語句的結(jié)尾省略分號是一個語法錯誤。263.2
一個簡單C#程序:顯示一行文本(續(xù).)錯誤防止提示3.3當(dāng)編譯器報告語法錯誤時,錯誤可能不在錯誤消息所指的行中。首先要檢查報告錯誤的行,如果該行沒有語法錯誤,則要檢查前面的幾個行。好的編程經(jīng)驗(yàn)3.6在方法體或類聲明的后面,進(jìn)行注釋有利于提高程序的可讀性。273.3
在VisualC#Express中創(chuàng)建一個簡單的程序創(chuàng)建控制臺應(yīng)用程序r選擇“文件”
File
>“新建”-“項(xiàng)目”
New
Project…顯示“新建項(xiàng)目”對話框
(Fig.
3.3)。選擇“控制臺應(yīng)用程序”Console
Application
模板。在對話框的名稱欄中,輸入Welcome1,并單擊“確定”
OK
創(chuàng)建工程。283.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)Projectname圖.3.3
|用新建工程創(chuàng)建控制臺應(yīng)用程序
工程名293.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)IDE現(xiàn)在包含了打開的控制臺應(yīng)用程序。IDE使用的代碼配色方案稱為“語法顏色高亮”
syntax-colorshading
,可以幫助程序員直觀地區(qū)分程序元素。303.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)圖.3.4
|打開控制臺程序的IDE編輯器窗口
313.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)設(shè)置IDE顯示行號,選擇“工具”
Tools
>“選項(xiàng)”
Options….在對話框中顯示(圖.
3.5),單擊對話框的左下方的“顯示所有設(shè)置”
Showallsettings
復(fù)選框。展開左邊的“文本編輯器”TextEditor的節(jié)點(diǎn)
,并選擇“所有語言”AllLanguages.在右側(cè),選中“行號”Linenumbers
復(fù)選框。注:由于VisualStudio版本不同,設(shè)置稍有差異。323.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)圖.3.5
|修改IDE的設(shè)置333.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)設(shè)置代碼縮進(jìn)三個字符:在選項(xiàng)對話框中,展開左面板中C#節(jié)點(diǎn)并并選擇制表符。確保選中插入空格??s進(jìn)大小和制表符大小都輸入。.單擊“確定”保存設(shè)置。關(guān)閉對話框轉(zhuǎn)入編輯窗口。343.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)重命名程序文件,單擊“解決方案資源管理器”窗口中的Program.cs
文件,在屬性窗口中顯示它的屬性(圖.
3.6).改變文件名為Welcome1.cs。353.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)圖.3.6
|在Properties
窗口中重命名程序文件
單擊
Program.cs
,顯示它的屬性在此處輸入Welcome.cs,重命名文件FileName
屬性屬性窗口SolutionExplorer363.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)智能感應(yīng)IntelliSense
列出類的成員,包括方法的名稱。當(dāng)輸入時,VisualC#Express會高亮顯示第一個成員,輸入匹配全部字符,然后顯示工具提示包含這個成員的描述。你既可以輸入全部的成員名稱,也可以雙擊列表中成員名或按Tab鍵來完成輸入。當(dāng)智能感應(yīng)窗口顯示時,按Ctrl
鍵使窗口透明以致于可以看見窗口后面的代碼。373.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)圖.3.7
|
VisualC#Express.的智能感應(yīng)特點(diǎn)
鍵入的部分名稱智能感應(yīng)窗口最匹配的項(xiàng)被高亮顯示工具提示描述了被高亮顯示的項(xiàng)383.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)當(dāng)你輸入開始圓括號字符,(,在方法名之后,會顯示
參數(shù)信息ParameterInfo窗口(圖.
3.8)。這個窗口包含方法參數(shù)的信息。向下箭頭參數(shù)信息窗口向上箭頭圖.3.8
|
參數(shù)信息窗口
向上向下箭頭允許通過滾動來加載方法393.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)保存程序,選擇“文件”
File
>“保存全部”
Save
All
顯示保存工程對話框。
在“位置”Location
文本框中,指定想要保存的目錄。選擇“為解決方案創(chuàng)建目錄”
Create
directory
for
solution
復(fù)選框并單擊“保存”Save。403.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)編譯程序,選擇“生成”
Build>“生成解決方案”
BuildSolution。運(yùn)行程序,選擇“調(diào)試”
Debug
>開始執(zhí)行StartWithoutDebugging(或按Ctrl+F5)。這樣就會調(diào)用Main方法。圖3.10顯示了程序的執(zhí)行結(jié)果,在控制臺窗口顯示
。(控制臺也就是命令窗口CommandPrompt)413.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)圖.3.9
|在圖.
3.1中執(zhí)行程序.
控制臺窗口423.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)錯誤防止提示3.4當(dāng)學(xué)習(xí)編程時,有時“停止”正在運(yùn)行的程序以便
了解編譯的語法錯誤信息。試圖移去圖Fig.3.1中的分號或括號,然后重新編譯應(yīng)用程序,看被遺漏的錯誤信息。433.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)當(dāng)輸入代碼時,IDE通過語法顏色或語法錯誤。語法錯誤表明違反了VisualC#創(chuàng)建應(yīng)用程序的規(guī)則。當(dāng)語法錯誤產(chǎn)生時,IDE會用紅色標(biāo)注錯誤,并顯示一個錯誤描述的窗口。(圖.
3.10).443.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)圖.3.10
|
IDE中的語法錯誤消息故意省略分號(語法錯誤)表明語法錯誤的波浪線錯誤描述錯誤清單窗口453.3
在VisualC#Express中創(chuàng)建一個簡單的程序(續(xù).)
錯誤防止提示3.5一個語法錯誤可能導(dǎo)致在錯誤清單窗口中出現(xiàn)多條錯誤信息。改正一個錯誤后,重新編譯程序時可能會消除多個后續(xù)的錯誤消息。因此,看到并知道如何修改一個錯誤時,應(yīng)先改正它并重新編譯。這樣可能消除多個其他的錯誤信息。46圖3.11所示的Welcome2類使用了兩條語句,產(chǎn)生如前面的例子圖
3.11所示相同的輸出。與WriteLine不同,Console類Write方法不能將光標(biāo)的位置定位到控制臺程序屏幕下一行的開始。3.4
修改C#程序47圖.3.11|用多條語句顯示一行文本.Write
方法不會將光標(biāo)移動到新的一行3.4
修改C#程序(續(xù).)Welcome2.cs48通過使用新行符可以用單條語句顯示多行文本。與空格符和制表符一樣,新行符也是空白符。圖3.12的應(yīng)用程序輸出4行文本,用新行符表明什么時候開始新行。OutlineWelcome3.cs圖.3.12|用單條語句顯示多行文本493.4
修改C#程序(續(xù).)反斜杠backslash(\)被稱為轉(zhuǎn)義符escapecharacter,并且它是轉(zhuǎn)義序列escape-sequence的一個字符。轉(zhuǎn)義序列\(zhòng)n表明新行符newlinecharacter。圖
3.13列出了幾個常用的轉(zhuǎn)義序列并描述了在控制臺窗口中如何輸出。503.4
修改C#程序(續(xù).)Fig.3.16
|
Somecommonescapesequences.圖.3.13|一些常用的轉(zhuǎn)義序列S51Console的Write和WriteLine方法的功能就是現(xiàn)實(shí)格式化的數(shù)據(jù)。圖3.14展示了另外一種方法來使用WriteLine方法。OutlineWelcome4.cs圖.3.14|用字符串格式化方式顯示多行文本.WriteLine方法的第一個參數(shù)是格式化字符串formatstring
,可以包含預(yù)置文本fixedtext
和格式項(xiàng)formatitems。3.5
用Console.Write
和
Console.WriteLine
格式化文本523.5
用Console.Write和Console.WriteLine
格式化文本當(dāng)一個方法需要多個實(shí)參時,參數(shù)用逗號分隔。(commas:逗號)好的編程經(jīng)驗(yàn)3.7在每個實(shí)參列表的逗號之后加一個空格(,)可以提高程序的可讀性。 大語句可以分成多行,但是存在一定的限制。常見的編程錯誤3.5將一條語句中的標(biāo)識符或字符串從中間斷行分開是一個語法錯誤。533.5
用Console.Write和Console.WriteLine
格式化文本
WriteLine方法的第一個參數(shù)是一個格式化字符串formatstring
,由固定文本fixedtext
和格式項(xiàng)
formatitems組成.每個格式項(xiàng)都是一個值的占位符placeholder,WriteLine相對應(yīng)的其它額外的參數(shù):{0}是第一個額外的參數(shù)占位符。
{1}是第二個額外的參數(shù)占位符,等等。格式項(xiàng)也可以包含可選的格式信息。543.6
另一個C#程序:整數(shù)相加程序?qū)?shù)值和其他數(shù)據(jù)保存在計算機(jī)內(nèi)存中,并通過稱為變量variables的元素訪問這些數(shù)據(jù)。變量variable
存放在內(nèi)存中,存儲在變量中在以后的程序中可以被使用。變量聲明語句
variabledeclarationstatement(也叫定義
declaration)界定了變量的名稱和類型一個變量的名稱使程序訪問存儲在內(nèi)存中的變量——名稱可以是任何有效的標(biāo)識。
一個變量的類型界定了在類存中存儲什么類型的信息。55三個變量聲明為整形intOutlineAddition.cs(1of2)圖.3.15|顯示通過鍵盤輸入的兩個數(shù)的值.(Part1of2).Console.ReadLine()讀取用戶輸入的信息,用
Convert.ToInt32
轉(zhuǎn)換成為整形值。將三個變量聲明為整形用戶提示信息56OutlineAddition.cs(2of2)圖.3.15|顯示通過鍵盤輸入的兩個數(shù)的值(Part2of2).573.6
另一個C#程序:整數(shù)相加(續(xù).)int
變量類型存儲整形integer
值(數(shù)字如7,–11,0
和
31914).float,double
和
decimal
類型指定實(shí)數(shù)(帶有小數(shù)點(diǎn)的十進(jìn)制數(shù))。char
類型表示單個字符。這些類型成為簡單類型simpletypes。簡單類型的名稱是關(guān)鍵字因而必須是小寫字母
。583.6
另一個C#程序:整數(shù)相加(續(xù).)變量聲明語句可以被分成幾行,變量名用逗號分隔。(例如.,一個變量名的逗號分隔列表)。相同類型的變量可以聲明在一行或多行中。好的編程經(jīng)驗(yàn)3.8在單獨(dú)的行中聲明每個變量。這種格式變量聲明使得很容易插入注釋。593.6
另一個C#程序:整數(shù)相加(續(xù).)好的編程經(jīng)驗(yàn)3.9選擇有意義的變量名,可使代碼具有自說明性,也就是說只需閱讀代碼本身就可以理解它的功能,而無需查看手冊或注釋。好的編程經(jīng)驗(yàn)3.10按照約定,變量名稱的第一個字母要小寫,而后續(xù)所有單詞都以一個大寫字母開始,這種命名慣例稱為小寫駝峰規(guī)則。(camelcasing:駝峰)603.6
另一個C#程序:整數(shù)相加(續(xù).)Console的ReadLine方法等待用戶用鍵盤輸入字符并按“回車”鍵。ReadLine返回下一個用戶輸入。Convert類的ToInt32方法轉(zhuǎn)換這個字符串為int類型的數(shù)據(jù)。ToInt32
返回int
值,代表用戶的輸入。613.6
另一個C#程序:整數(shù)相加(續(xù).)一個值用賦值符號存儲在變量中。assignmentoperator:賦值符號(=)符號“=”被稱為二元運(yùn)算符binaryoperator,因?yàn)樗鼘蓧K信息或操作數(shù)進(jìn)行操作。賦值語句assignmentstatement將一個值賦給變量。賦值運(yùn)算符右側(cè)任何內(nèi)容總是在賦值執(zhí)行之前計算的。好的編程習(xí)慣3.11在二元運(yùn)算符的兩邊插入空格可以使它更突出并使代碼更可讀。623.6
另一個C#程序:整數(shù)相加(續(xù).)語句中與值相關(guān)的任何部分都是表達(dá)式。number1
+
number2的表達(dá)式的值就是它們的和。表達(dá)式Console.ReadLine()的值就是用戶輸入的字符串。計算可以在輸出語句中執(zhí)行。633.7
內(nèi)存概念變量名實(shí)際上都對應(yīng)于計算機(jī)中內(nèi)存的某個位置。每個變量都具有名稱、類型、大小和值。在
圖
3.16,計算機(jī)會將這個整數(shù)值45放入位置number1。圖.3.16
|展示變量
number1的名稱和值的內(nèi)存位置.
643.7
內(nèi)存概念(續(xù).)在圖.
3.17,72
被放置在number2.圖.3.17
|保存變量number1
和number2的值后的內(nèi)存位置.653.7
內(nèi)存概念(續(xù).)在sum
被計算后,內(nèi)存應(yīng)如圖.
3.18.圖.3.18
|計算并保存變量
number1
與
number2的和之后的內(nèi)存位置.663.7
內(nèi)存概念(續(xù).)當(dāng)一個值被放入內(nèi)存位置時,這個值替換同一位置以前的,并且前面的值會丟失。當(dāng)從內(nèi)存中讀值時,過程是非破壞性的nondestructive。
67圖.3.19
|
算術(shù)運(yùn)算符算術(shù)運(yùn)算符arithmeticoperators被匯總在圖.
3.19。圖.
3.19的操作運(yùn)算符是二元運(yùn)算符3.8
算術(shù)運(yùn)算符683.8
算術(shù)運(yùn)算符(續(xù).)整除Integerdivision產(chǎn)生一個整數(shù)商—整數(shù)后面的任何小數(shù)都直接刪除而不進(jìn)行四舍五入。C#提供了余數(shù)運(yùn)算符remainderoperator%,它產(chǎn)生整除后的余數(shù)。余數(shù)操作大多數(shù)用在整數(shù)操作,但是也可以用于浮點(diǎn)數(shù)floats,雙精度數(shù)doubles,和小數(shù)decimals.括號被用在C#表達(dá)式中同樣也用在代數(shù)表達(dá)式中。假如一個表達(dá)式包含嵌套括號nestedparentheses,最內(nèi)層的括號表達(dá)式優(yōu)先計算。69圖.3.20
|
算術(shù)運(yùn)算符的優(yōu)先級算術(shù)運(yùn)算符根據(jù)運(yùn)算符優(yōu)先級operatorprecedence規(guī)則來計算,如下的代數(shù)運(yùn)算符也遵循優(yōu)先級規(guī)則。(圖.
3.20).3.8
算術(shù)運(yùn)算符(續(xù).)703.8
算術(shù)運(yùn)算符(續(xù).)下面語句中圓圈中的數(shù)字表示C#執(zhí)行操作的順序。
乘法、求余和除法運(yùn)算會首先按從左到右的順序執(zhí)行(即它們的結(jié)合律是從左到右的),因?yàn)榕c加法和減法相比,它們具有更高的優(yōu)先級。然后進(jìn)行加法和減法運(yùn)算。這些運(yùn)算是從左到右的。713.8
算術(shù)運(yùn)算(續(xù).)為了更好地理解運(yùn)算符優(yōu)先級的規(guī)則,考慮下面這個二次多項(xiàng)式second-degreepolynomial
(y=ax2+bx+c):723.8
算術(shù)運(yùn)算(續(xù).)在代數(shù)式中,為了使代碼更加清楚加入非必要的括號是可接受的(redundant:不需要的)。前面的賦值語句可以用括號來強(qiáng)調(diào)它的項(xiàng),如下所示:y=(a*x*x)+(b*x)+c;
733.8
算術(shù)運(yùn)算符(續(xù).)圖.3.21
|二次多項(xiàng)式中的求值.743.9
判斷:相等運(yùn)算符與關(guān)系運(yùn)算符Fig.3.25
|
Equalityandrelationaloperators.(Part1of2.)條件就是一個結(jié)果為真或假的表達(dá)式。條件語句可以由相等運(yùn)算符equalityoperators(==and!=)和關(guān)系運(yùn)算符relationaloperators(>,<,>=and<=)構(gòu)成,如圖.
3.22.圖.3.25|相等運(yùn)算符和關(guān)系運(yùn)算符.(Part1of2)753.9
判斷:相等運(yùn)算符與關(guān)系運(yùn)算符(續(xù).)Fig.3.25
|
Equalityandrelationaloperators.(Part2of2.)圖.3.22|相等運(yùn)算符和關(guān)系運(yùn)算符(Part2of2)763.9
判斷:相等運(yùn)算符與關(guān)系運(yùn)算符(續(xù).)常見的編程錯誤3.6混淆相等運(yùn)算符==和賦值運(yùn)算符=
,會導(dǎo)致邏輯錯誤和語法錯誤。這個相等運(yùn)算符表示,而賦值運(yùn)算符相當(dāng)于“獲得”或“獲得某個值”。為了避免混淆,有人講這個相等運(yùn)算符讀作“雙等于”或“等于等于”。77圖
3.26中使用6個if語句比較用戶輸入的兩個整數(shù)。OutlineComparison.cs(1of3)圖.3.26|用if語句、相等運(yùn)算符和關(guān)系運(yùn)算符比較整數(shù)(Part1of3).78Comparenumber1andnumber2forequality.OutlineComparison.cs(2of3)Fig.3.26|用if語句、相等運(yùn)算符和關(guān)系運(yùn)算符比較整數(shù)
(Part2of3).79OutlineComparison.cs(3of3)圖.3.26|用if語句、相等運(yùn)算符和關(guān)系運(yùn)算符比較整數(shù)
(Part3of3).803.9
判斷:相等運(yùn)算符與關(guān)系運(yùn)算符(續(xù).)如果if條件語句為真時,那么與if相關(guān)的語句將執(zhí)行。
if語句總是以if關(guān)鍵字開頭,后接用圓括號括起來的條件。
if
語句的語句體總是一條語句。常見的編程錯誤3.7遺忘if語句的左括號或右括號是一種語法錯誤———圓括號是必
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年西藏高校事業(yè)單位招聘考試教師招聘英語學(xué)科專業(yè)知識試卷(英語教師教育政策解讀與)
- 2025年事業(yè)單位招聘考試新聞類專業(yè)能力測試試卷新聞倫理與法規(guī)案例分析
- 學(xué)生在線行為的大數(shù)據(jù)分析與應(yīng)用
- 2025年護(hù)士資格考試?yán)碚撝R復(fù)習(xí)題庫及答案
- 茶葉考試題庫及答案高中
- 園藝養(yǎng)護(hù)服務(wù)費(fèi)協(xié)議
- 供電業(yè)務(wù)知識培訓(xùn)流程表課件
- 2025年生活區(qū)火災(zāi)事故應(yīng)急演練演練腳本
- 2026屆浙江省安吉縣上墅私立高級中學(xué)化學(xué)高一上期末經(jīng)典模擬試題含解析
- 2025年機(jī)關(guān)單位餐飲合作協(xié)議書
- 2025年蛟川書院分班測試題及答案
- 飛機(jī)數(shù)字孿生與預(yù)測性維護(hù)集成
- 2025《煤炭購銷合同》
- 2025年行政執(zhí)法證考試必刷題庫與答案
- 基孔肯雅熱防控知識考試試題含答案
- 2025年機(jī)關(guān)事業(yè)單位技能資格考試-文秘資料技師歷年參考題庫含答案解析(5卷套題【單項(xiàng)選擇題100題】)
- 吉林化工(危險化學(xué)品)、醫(yī)藥企業(yè)電氣設(shè)備設(shè)施安全隱患排查指南
- 勞動用工考試試題及答案
- 護(hù)理消毒液的配置
- 2025年職業(yè)指導(dǎo)師(四級)考試模擬試題匯編與模擬試題解析
- 2025年全新公安基礎(chǔ)知識題庫(含答案)
評論
0/150
提交評論