C#程序設(shè)計教程(第5版) 課件 劉甫迎 第1-5章 C#概述 - 數(shù)組、結(jié)構(gòu)和枚舉_第1頁
C#程序設(shè)計教程(第5版) 課件 劉甫迎 第1-5章 C#概述 - 數(shù)組、結(jié)構(gòu)和枚舉_第2頁
C#程序設(shè)計教程(第5版) 課件 劉甫迎 第1-5章 C#概述 - 數(shù)組、結(jié)構(gòu)和枚舉_第3頁
C#程序設(shè)計教程(第5版) 課件 劉甫迎 第1-5章 C#概述 - 數(shù)組、結(jié)構(gòu)和枚舉_第4頁
C#程序設(shè)計教程(第5版) 課件 劉甫迎 第1-5章 C#概述 - 數(shù)組、結(jié)構(gòu)和枚舉_第5頁
已閱讀5頁,還剩208頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C#程序設(shè)計教程(第5版)

第1章C#概述 第2章簡單的C#程序設(shè)計 第3章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 第4章結(jié)構(gòu)化程序設(shè)計 第5章數(shù)組、結(jié)構(gòu)和枚舉 第6章C#的面向?qū)ο蟪绦蛟O(shè)計第7章繼承和接口 第8章可視化應(yīng)用程序設(shè)計 第9章C#的文件和流 第10章客戶機(jī)/服務(wù)器編程訪問數(shù)據(jù) 第11章C#的多線程應(yīng)用

第12章C#案例——FoxOA的人力資源培訓(xùn)

成績管理系統(tǒng)統(tǒng)

第1章C#概述內(nèi)容提要:

C#的由來、發(fā)展及特點(diǎn)

C#2017的新功能Microsoft.NET平臺

C#的運(yùn)行環(huán)境、VisualStudio.NET的安裝

C#的啟動及集成開發(fā)環(huán)境目的要求:

掌握C#的定義、發(fā)展及特點(diǎn)能夠安裝和使用VisualStudio.NET

理解C#的集成開發(fā)環(huán)境重點(diǎn)難點(diǎn):

C#的定義、特點(diǎn)

C#的集成開發(fā)環(huán)境1.1C#簡介1.1.1C#的緣起1995年,SUN公司正式推出了面向?qū)ο蟮拈_發(fā)語言Java,并具有跨平臺、跨語言的功能特點(diǎn),Java逐漸成了企業(yè)級應(yīng)用系統(tǒng)開發(fā)的首選工具,而且使得越來越多的基于C/C++的應(yīng)用開發(fā)人員轉(zhuǎn)向于從事基于Java的應(yīng)用開發(fā)。微軟也推出了基于Java語言的編譯器VisualJ++。,SUN公司認(rèn)為VisualJ++違反了Java的許可協(xié)議,即違反了其的中立性,因而對微軟提出了訴訟。美國微軟公司另辟蹊徑,于

2000年6月推出其進(jìn)軍互聯(lián)網(wǎng)的龐大.NET計劃,和該計劃中重要的開發(fā)語言——VisualC#(簡稱VC#或C#)。

微軟公司對VC#的定義是:“C#是一種類型安全的、現(xiàn)代的、簡單的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言,它是牢牢根植于C和C++語言之上的,并可立即被C和C++開發(fā)人員所熟悉。C#的目的就是綜合VisualBasic的高生產(chǎn)率和C++的行動力。”1.1.2C#的特點(diǎn)

1.可避免指針等,語法更簡單、易學(xué)

2.支持跨平臺

3.面向?qū)ο笄冶苊饬硕嗬^承

4.現(xiàn)代快速應(yīng)用開發(fā)(RAD)功能

5.語言的兼容、協(xié)作交互性

6.與XML的天然融合

7.對C++的繼承且類型安全

8.版本可控

1.1.3C#的發(fā)展及VS2017、C#7.0等的新功能

包含C#語言的VisualStudio.NET已到VS2017版本了。.NETVS2008(C#3.0)促成了稱之為LINQ(語言級集成查詢)的新編程模型,使得查詢和操作數(shù)據(jù)成為.NET中的一等編程概念。VisualC#4.0(VisualC#2010)提供了進(jìn)一步的增強(qiáng),例如協(xié)變性和逆變性,它們解決了泛型接口的定義方式所造成的一些問題。VisualStudio.NET2012(C#2012),增加了觸摸事件,推出后綴為.mix的新代碼,可以在同一份代碼里面,混合各種語言的代碼。VisualStudio.NET2015(簡稱VS2015,含有C#2015)中文旗艦版是,可打造跨平臺的應(yīng)用程序,從Windows到Linux、甚至iOS和Android。C#2015的新功能主要有:自定義窗口布局;更優(yōu)的代碼編輯器;SharedProject集成;Bower和NPM中的代碼智能提示;調(diào)試Lambdas表達(dá)式。

C#2017的新功能主要有:

·VS2017速度比VS2015快3倍,解決加載時間縮短2-4倍;

·改善代碼導(dǎo)航,結(jié)果著色,自定義分組、排序、過濾和搜索;

·可直接打開并處理

C#、C++、

Ruby、Go等語言的文件;

·智能過濾:IntelliSense幫助你所需要的,不必過多步驟;.CMakesupportforC++:在VS中直接加載

CMake

來編碼。

·語言改進(jìn):新的C#語言重構(gòu)命令,代碼以最新標(biāo)準(zhǔn)現(xiàn)代化;

·

VisualC++forLinux開發(fā)現(xiàn)在是VS2017的一部分;·

Liveunittesting:實(shí)時告訴單元測試結(jié)果,不離代碼編輯器;

·

RuntoClick:在調(diào)試器中停止在某個中斷狀態(tài)時,將鼠標(biāo)懸停在一行代碼上,會看到RuntoClickglyph。單擊可在該行停止并下次繼續(xù)以此執(zhí)行。.ExceptionHelpers:立即查看異常原因,即時訪問內(nèi)部異常;·

小而輕的安裝:最小安裝只有以前版本的十分之一大小等。1.1.4Microsoft.NET平臺

2000年6月22日微軟公布了其下一代基于互聯(lián)網(wǎng)平臺的軟件開發(fā)構(gòu)想——.NET,是繼DOS開發(fā)平臺、Windows開發(fā)平臺之后,以互聯(lián)網(wǎng)為應(yīng)用程序開發(fā)平臺的所謂第三波的改變。其可讓隨心所欲地選擇不同的語言;.NET環(huán)境下,采用了標(biāo)準(zhǔn)通信協(xié)議,可實(shí)現(xiàn)不同平臺上的溝通。

.NET的核心是.NET框架(.NETFramework),最上層是應(yīng)用程序,分為面向網(wǎng)絡(luò)應(yīng)用的ASP.NET程序和面向Windows系統(tǒng)的Windows應(yīng)用程序,兩者均可使用VC#.NET、VC++.NET、VB.NET等來編寫。.NET框架的中間一層是基礎(chǔ)類庫,它提供一個可以供不同編程語言調(diào)用的、分層的、面向?qū)ο蟮暮瘮?shù)庫。最底層是公共語言運(yùn)行環(huán)境,它提供了程序代碼可以跨平臺執(zhí)行的機(jī)制。1.1.5C#的運(yùn)行環(huán)境及安裝

VC#是VisualStudio.NET的一部分。作為一個強(qiáng)大的集成開發(fā)工具,VisualStudio.NET對系統(tǒng)環(huán)境有較高的要求。因此,在安裝VC#之前要全面確定所使用計算機(jī)的軟、硬件配置情況,看看是否能達(dá)到基本配置的要求,以便正確地安裝并全面地使用其強(qiáng)大的功能。

1.硬件要求VisualC#7.0用戶計算機(jī)的配置需要達(dá)到Windows10(或者Windows8、Windows7)的硬件要求。中央處理器(CPU):建議采用2.4GHz或以上64位(X64)處理器。內(nèi)存(RAM):當(dāng)系統(tǒng)運(yùn)行時VisualStudio.NET的IDE和操作系統(tǒng)都要占用不少的內(nèi)存空間。推薦8GB(64位)內(nèi)存以上。硬盤:推薦500

GB(64位)或以上硬盤空間。2.軟件要求操作系統(tǒng):Windows10(或者Windows8、Windows7)。后臺數(shù)據(jù)庫:推薦MySQL、SQLServerExpress,Access2008或SQLServer2008以上版本。3.C#的安裝C#是VisualStudio.NET的一部分,同其他的.NET語言一樣,都必須在.NET框架環(huán)境下運(yùn)行。因此,要建立一個完整的C#開發(fā)平臺,必須安裝VisualStudio.NET和.NETFrameworkSDK(.NET框架軟件開發(fā)工具包)。系統(tǒng)中無論安裝的是Windows10還是Windows8,只要硬件配置滿足C#的要求,都可以安裝C#。VisualStudio2017圖1-2所示,讓我們來看一看它安裝的方法:VisualStudio2017安裝程序和以前的版本不同,安裝步驟是:

(1)下載好之后,解壓安裝包,打開安裝的應(yīng)用程序,彈框出安裝界面,開始進(jìn)行VS2017的安裝。

圖1-2VisualStudio2017安裝啟動(2)稍等片刻…。選擇安裝的磁盤位置,并同意條款和條約,然后單擊【下一步】安裝繼續(xù)。如圖1-3所示。圖1-3安裝位置圖1-4選擇安裝功能組件(3)選擇安裝功能與組件,單擊【安裝】按鈕,開始安裝。如圖1-4所示。圖1-5啟始頁

(4)等待,安裝結(jié)束后,顯示【安裝成功】界面,點(diǎn)擊【啟動】按鈕,可啟動VisualStudio2017啟始頁,如圖1-5。安裝成功后,程序自動在開始菜單創(chuàng)建VS2017的所有程序組。啟動VS2017進(jìn)入啟動界面,稍等片刻......第一次運(yùn)行VisualStudio程序會自動配置運(yùn)行環(huán)境。

圖1-6設(shè)置默認(rèn)環(huán)境(5)進(jìn)入默認(rèn)環(huán)境設(shè)置,根據(jù)自己的需要設(shè)置默認(rèn)環(huán)境,如果使用多種語言進(jìn)行開發(fā),則可選擇【常規(guī)開發(fā)設(shè)置】,設(shè)置完畢后單擊【啟動VisualStudio】啟動程序,如圖1-6所示。(6)進(jìn)入VisualStudio2017開發(fā)環(huán)境,安裝設(shè)置完成。如圖1-7所示。圖1-7VisualStudio2017開發(fā)、運(yùn)行環(huán)境

在開始菜單中選擇“開始”→“程序”→“MicrosoftVisualStudio2017”→“MicrosoftVisualStudio2017”命令,打開“起始頁-MicrosoftVisualStudio”窗口。要啟動C#開發(fā)環(huán)境有兩種方式,一種是單擊“起始頁”上的“打開項(xiàng)目”,選擇現(xiàn)在已存在的C#項(xiàng)目文件,另一種是單擊“起始頁”上的“創(chuàng)建項(xiàng)目”,則打開一個“新建項(xiàng)目”對話框,如圖1-8、圖1-9所示。1.2C#的集成開發(fā)環(huán)境1.2.1C#的啟動圖1-8“新建項(xiàng)目”對話框圖1-9C#集成開發(fā)環(huán)境C#集成開發(fā)環(huán)境1.2.2C#集成開發(fā)環(huán)境

C#的集成開發(fā)環(huán)境集成了設(shè)計、開發(fā)、編輯、測試和調(diào)試的多種功能,使得開發(fā)人員能夠方便、快速地開發(fā)應(yīng)用程序。集成開發(fā)環(huán)境標(biāo)題下面是菜單欄和工具欄,中央工作區(qū)是用來設(shè)計程序界面的窗體設(shè)計器和代碼編輯窗口。除此之外,即成開發(fā)環(huán)境的四周,有很多浮動窗口。1.菜單欄在菜單欄中,共有11個菜單標(biāo)題,每個菜單標(biāo)題都有一個下拉式菜單。2.工具欄工具欄是由多個圖標(biāo)按鈕組成的,可提供對常用命令的快速訪問。除了在菜單欄下面顯示的標(biāo)準(zhǔn)工具欄外,還有Web工具欄、控件布局工具欄等多種特定功能工具欄。

標(biāo)準(zhǔn)工具欄

3.工具箱

工具箱中包含了建立應(yīng)用程序的各種控件以及非圖形化的組件。工具箱由不同的選項(xiàng)卡組成,各類控件、組件分別放在“數(shù)據(jù)”、“組件”、“Windows窗體”、“剪貼板循環(huán)”、“常規(guī)”5個選項(xiàng)卡下面。如圖所示。

工具箱

4.解決方案資源管理器

在C#中,項(xiàng)目是一個獨(dú)立的編程單位,其中包含一些相關(guān)的文件,若干個項(xiàng)目就組成了一個解決方案。在C#中所有包含C#代碼的源文件都是以.cs為擴(kuò)展名,在解決方案資源管理器中顯示這個文件?!敖鉀Q方案資源管理器”對話框5.屬性窗口屬性窗口如圖所示,它用于顯示和設(shè)置所選定的控件或者窗體等對象的屬性。在應(yīng)用程序設(shè)計時,可通過屬性窗口設(shè)置或修改對象的屬性。屬性窗口由以下部分組成:(1)對象列表框(2)選項(xiàng)按鈕(3)屬性列表框?qū)傩源翱?/p>

6.代碼編輯窗口代碼編輯窗口是專門用來進(jìn)行代碼設(shè)計的窗口,各種事件過程、模塊和類等源程序代碼的編寫和修改均在此窗口進(jìn)行。如圖所示。代碼編輯窗口7.窗體設(shè)計器窗體設(shè)計器是用于設(shè)計和編制應(yīng)用程序的用戶接口,即設(shè)計應(yīng)用程序的界面。VC#應(yīng)用程序的設(shè)計,是以窗體為依托進(jìn)行設(shè)計的。應(yīng)用程序中的每一個窗口都有它自己的窗體設(shè)計器。其中最常用的窗體設(shè)計器是Windows窗體設(shè)計器。在這個窗體設(shè)計器上可以拖動各種控件,創(chuàng)建Windows應(yīng)用程序界面。除此之外,在VC#中創(chuàng)建項(xiàng)目時,還會遇到用于創(chuàng)建Web界面的Web窗體設(shè)計器。8.其他窗口(1)類視圖窗口(2)對象瀏覽器窗口:

(3)服務(wù)器資源管理器:

(4)“輸出”窗口:

(5)命令窗口圖1-15“類視圖”窗口圖1-16“對象瀏覽器”窗口圖1-17“服務(wù)器資源管理器”窗口圖1-18“輸出”窗口圖1-19“命令窗口”練習(xí):1.C#源程序文件的擴(kuò)展名為()

A..vbB..cC..cppD..cs2.下列關(guān)于解決方案的敘述中,不正確的()

A.一個解決方案可以包含多個項(xiàng)目

B.一個解決方案只能包含一個項(xiàng)目

C.新建項(xiàng)目時,會默認(rèn)生成一個解決方案

D.解決方案文件的擴(kuò)展名為“.sln”本章作業(yè):

1.習(xí)題1的1、2、3。第2章簡單的C#程序設(shè)計上節(jié)復(fù)習(xí):1.大多數(shù)編程語言的共性 數(shù)據(jù)處理 結(jié)構(gòu)化程序設(shè)計 面向?qū)ο蟪绦蛟O(shè)計 可視化程序設(shè)計 文件/數(shù)據(jù)庫操作2.程序(exe文件)的運(yùn)行環(huán)境

VS2019C#8.0 VS2017

C#7.0 VS2010 .NETFramework4.0VS2008 .NETFramework3.5內(nèi)容提要:C#程序設(shè)計相關(guān)的基礎(chǔ)知識C#程序的基本結(jié)構(gòu)、標(biāo)識符的相關(guān)概念C#程序的編譯和執(zhí)行控制臺的輸入/輸出操作目的要求:掌握C#程序設(shè)計相關(guān)的基礎(chǔ)知識理解常用的四個有關(guān)控制臺輸入、輸出方法重點(diǎn)難點(diǎn):Main()方法WriteLine()和Write()方法中各種參數(shù)的含義ReadLine()和Read()方法的區(qū)別2.1C#程序結(jié)構(gòu)

2.1.1第一個C#程序 2.1.2編譯和執(zhí)行程序 2.1.3C#程序結(jié)構(gòu)分析 2.1.4標(biāo)識符2.1.1第一個C#程序創(chuàng)建C#控制臺應(yīng)用程序,首先選擇【文件】|【新建】|【項(xiàng)目】命令打開【新建項(xiàng)目】對話框。"新建項(xiàng)目"對話框2.1.1第一個C#程序usingSystem;namespaceWelcome{classProgram{staticvoidMain(){

Console.WriteLine("歡迎使用C#");//運(yùn)行后在窗口中顯示的字符串

}}}2.1.2編譯和執(zhí)行程序

在編譯程序時,將會打開一個輸出窗口顯示編譯過程中所遇到的錯誤和警告等信息。2.1.2編譯和執(zhí)行程序在VisualStudio中,可以采用兩種方式運(yùn)行程序:一種是調(diào)試運(yùn)行,通過使用【調(diào)試】|【啟動】命令或工具欄的調(diào)試按鈕或者直接按下F5鍵;另一種是不進(jìn)行調(diào)試而直接運(yùn)行,使用【調(diào)試】|【開始執(zhí)行】命令或Ctrl+F5鍵。程序結(jié)果顯示窗口2.1.3C#程序結(jié)構(gòu)分析

1.命名空間

usingSystem語句表示導(dǎo)入System命名空間。Console.WriteLine("歡迎使用C#")這條語句中的Console是System命名空間中包含的系統(tǒng)類庫中定義好的一個類,它代表系統(tǒng)控制臺,即字符界面的輸入和輸出。C#程序是用命名空間來組織代碼,要訪問某個命名空間中的類或?qū)ο螅仨氂萌缦抡Z法:

命名空間.類名2.1.3C#程序結(jié)構(gòu)分析由于Console類位于System命名空間中,所以在訪問Console類時,完整的寫法應(yīng)該是:System.Console但是,在程序的第一行,使用了:usingSystem;這條語句用using語句導(dǎo)入System命名空間,這樣在程序中可以直接使用Sytem命名空間中的類或?qū)ο?,所以直接寫Console即可。2.1.3C#程序結(jié)構(gòu)分析2.類C#要求其程序中的每一個元素都要屬于一個類。如:classWelcome聲明了一個類,類的名字叫Welcome。這個程序的功能就是依靠它來完成的。C#程序由大括號"{"和"}"構(gòu)成,程序中每一對大括號"{}"構(gòu)成一個塊。

注意:C#程序中的語句以";"表示結(jié)束。2.1.3C#程序結(jié)構(gòu)分析3.Main()方法程序的入口從下面的代碼開始:

staticvoidMain()這行代碼所定義的其實(shí)是類Welcome的一個靜態(tài)方法,C#規(guī)定,名字為Main()的靜態(tài)方法就是程序的入口。方法的執(zhí)行從左括號"{"開始,到右括號"}"結(jié)束。一個程序不允許出現(xiàn)兩個甚至兩個以上的Main()方法2.1.3C#程序結(jié)構(gòu)分析4.注釋在C#語言中,提供了兩種注釋方法:(1)

每一行中“//”后面的內(nèi)容作為注釋內(nèi)容,該方式只對本行生效;(2)

需要多行注釋的時候,在第一行之前使用“/*”,在末尾一行之后使用“*/”,也就是說被“/*”與*/所包含的內(nèi)容都作為注釋內(nèi)容。2.1.3C#程序結(jié)構(gòu)分析通過上面的分析,可以看出C#程序的基本結(jié)構(gòu)如下:/*導(dǎo)入.NET系統(tǒng)類庫提供的命名空間System*/usingSystem;classWelcome//定義類{staticvoidMain()/*程序的入口。其中static表示Main()方法是一個靜態(tài)方法,void表示該方法沒有返回值*/{Cosole.WriteLine("歡迎使用C#");//輸出歡迎使用C#}}2.1.4標(biāo)識符

標(biāo)識符(identifier)是一串字符,在程序中作為各種標(biāo)識,用來代表一個名字。并不是任何一串字符都可以作為C#的標(biāo)識符。

C#的標(biāo)識符有如下規(guī)則:(1)一個合法的C#標(biāo)識符,是以字母或者下劃線開頭、其后可以跟任意個字母、數(shù)字或者下劃線。合法的_this、MyCompouter001、StarT_Of_Program非法的6ya(以數(shù)字開頭)、m#(#非字母)

C#的標(biāo)識符有如下規(guī)則:(2)C#的標(biāo)識符嚴(yán)格區(qū)分大小寫,即使兩個標(biāo)識符的區(qū)別僅僅字母的大小寫不同,也認(rèn)為是兩完全不同的標(biāo)識符。如:xyz、Xyz、xYz、xyZ是四個不同的標(biāo)識符(3)關(guān)鍵字也可以作為標(biāo)識符,只要在關(guān)鍵字前加上@前綴。直接使用關(guān)鍵字作為標(biāo)識符是不允許的,比如:uintlock通過給關(guān)鍵字加"@"前綴,它們就變成合法的標(biāo)識符了。@uint@lock2.1.4標(biāo)識符練習(xí):1.C#可執(zhí)行程序的主入口點(diǎn)是()A.main函數(shù)B.Main函數(shù)C.Run函數(shù)D.Form_Load函數(shù)參考答案:B2.以下說法中,正確的是()A.Main函數(shù)是由C#語言提供的標(biāo)準(zhǔn)函數(shù),不需要用戶編寫它的內(nèi)容B.在C#程序中,要調(diào)用的函數(shù)必須在Main函數(shù)中定義C.在C#程序中,必須顯式調(diào)用Main函數(shù),它才起作用D.一個C#程序無論包含多少個函數(shù),C#程序總是從Main函數(shù)開始執(zhí)行參考答案:D3.以下敘述中,正確的是()A.C#程序中的注釋只能出現(xiàn)在語句的后面B.C#程序中,只有一種單行注釋C.C#程序中,只有一種多行注釋D.程序執(zhí)行時,不會執(zhí)行注釋語句參考答案:D4.利用VisualStudio.NET集成開發(fā)環(huán)境編寫一個新的C#應(yīng)用程序,所做的第一件事是()A.新建一個窗體B.新建一個包含Main函數(shù)的文件C.新建一個項(xiàng)目D.新建一個資源文件參考答案:C5.以下有關(guān)注釋語句的描述中,不正確的是()A.C#提供兩種注釋,即"http://"和"/*.....*/"B.注釋語句可放在程序中的任何位置C.注釋語句也可以被執(zhí)行,只不過它沒有輸出結(jié)果D.程序中加入注釋語句的主要目的是提高程序的可讀性參考答案:C2.2輸入/輸出操作控制臺(console)輸入/輸出主要通過命名空間System中的類Console來實(shí)現(xiàn),它提供了從控制臺讀寫字符的基本功能??刂婆_輸入主要通過Console類的Read方法ReadLine方法來實(shí)現(xiàn)的,控制臺輸出主要通過Console類的Write方法和WriteLine方法來實(shí)現(xiàn)的。2.2.1Console.WriteLine()方法WriteLine()方法的作用是將信息輸出到控制臺,但是WriteLine方法在輸出信息的后面添加一個回車換行符用來產(chǎn)生一個新行。在WriteLine()方法中,可以采用"{N[,M][:格式化字符串]}"的形式來格式化輸出字符串,其中的參數(shù)含義如下:花括號("{}")用來在輸出字符串中插入變量。N表示輸出變量的序號,從0開始,如當(dāng)N為0時,則對應(yīng)輸出第1個變量的值,當(dāng)N為5時,則對應(yīng)輸出第6個變量的值,依次類推。[,M]是可選項(xiàng),其中M表示輸出的變量所占的字符個數(shù),當(dāng)這個變量的值為負(fù)數(shù)時,輸出的變量按照左對齊方式排列;如果這個變量的值為正數(shù)的時候,輸出的變量按照右對齊方式排列。2.2.1Console.WriteLine()方法[:格式化字符串]也是可選項(xiàng),因?yàn)樵谙蚩刂婆_輸出時,常常需要指定輸出字符串的格式。通過使用標(biāo)準(zhǔn)數(shù)字格式字符串,可以使用Xn的形式來指定結(jié)果字符串的格式,其中X指定數(shù)字的格式,n指定數(shù)字的精度,即有效數(shù)字的位數(shù)。這里提供7個常用的格式字符。2.2.1Console.WriteLine()方法2.2.1Console.WriteLine()方法1.貨幣格式

貨幣格式用字符C或者c表示,小數(shù)位數(shù)默認(rèn)值為2。例如:doublek=1234.789;Console.WriteLine("{0,8:c}",k);//結(jié)果是¥1,234.79Console.WriteLine("{0,10:c4}",k);//結(jié)果是¥1,234.7890問題1變量k的類型可以是int嗎?如果可以,小數(shù)位是2位嗎?問題2如果要表示外國貨幣符號該如何處理?2.2.1Console.WriteLine()方法2.整數(shù)數(shù)據(jù)類型格式

整數(shù)數(shù)據(jù)類型格式用字符D或者d表示。例如:intk=1234;Console.WriteLine("{0:D}",k);//結(jié)果是1234Console.WriteLine("{0:d3}",k);//結(jié)果是1234Console.WriteLine("{0:d5}",k);//結(jié)果是01234問題:k可以是double類型嗎?2.2.1Console.WriteLine()方法3.科學(xué)計數(shù)法格式科學(xué)計數(shù)法格式用字符E或者e表示,默認(rèn)7位有效字。例如:intk=123000;doublef=1234.5578;Console.WriteLine("{0:E}",k);//結(jié)果是1.230000E+005Console.WriteLine("{0:e}",k);//結(jié)果是1.230000e+005Console.WriteLine("{0:E}",f);//結(jié)果是1.234558E+003Console.WriteLine("{0:e}",f);//結(jié)果是1.234558e+003Console.WriteLine("{0:e4}",k);//結(jié)果是1.2300e+005Console.WriteLine("{0:e4}",f);//結(jié)果是1.2346e+0032.2.1Console.WriteLine()方法4.浮點(diǎn)數(shù)據(jù)類型格式浮點(diǎn)數(shù)據(jù)格式用字符F或者f表示,小數(shù)位數(shù)默認(rèn)值為2。例如:inta=123000;doubleb=1234.5578;Console.WriteLine("{0,-8:f}",a);//結(jié)果是123000.00Console.WriteLine("{0:f}",b);//結(jié)果是1234.56Console.WriteLine("{0,-8:f4}",a);//結(jié)果是123000.0000Console.WriteLine("{0:f3}",b);//結(jié)果是1234.558Console.WriteLine("{0:f6}",b);//結(jié)果是1234.5578002.2.1Console.WriteLine()方法5.通用格式

通用格式用字符G或者g表示。例如:doublek=1234.789;intj=123456;Console.WriteLine("{0:g}",j);//結(jié)果是123456Console.WriteLine("{0:g}",k);//結(jié)果是1234.789Console.WriteLine("{0:g4}",k);//結(jié)果是1235Console.WriteLine("{0:g4}",j);//結(jié)果是1.235e+05要注意和D、E、F比較來理解2.2.1Console.WriteLine()方法6.自然數(shù)據(jù)格式自然數(shù)據(jù)格式用字符N或者n表示,小數(shù)位數(shù)默認(rèn)值為2。例如:doublek=211122.12345;intj=1234567;Console.WriteLine("{0:N}",k);//結(jié)果是211,122.12Console.WriteLine("{0:n}",j);//結(jié)果是1,234,567.00Console.WriteLine("{0:n4}",k);//結(jié)果是211,122.1235Console.WriteLine("{0:n4}",j);//結(jié)果是1,234,567.00007.十六進(jìn)制數(shù)據(jù)格式十六進(jìn)制數(shù)據(jù)用字符X或者x表示。例如:intj=123456;Console.WriteLine("{0:x}",j);//結(jié)果是1e240Console.WriteLine("{0:x6}",j);//結(jié)果是01e2402.2.1Console.WriteLine()方法2.2.1Console.WriteLine()方法例:利用Console.WriteLine()方法輸出變量值。usingSystem;classTest{staticvoidMain(){inti=12345;doublej=123.45678;Console.WriteLine("i={0,8:D}j={1,10:F3}",i,j);Console.WriteLine();Console.WriteLine("i={0,-8:D}j={1,-10:F3}",i,j);}}輸出結(jié)果是:2.2.2Console.Write()方法Write()方法和WriteLine()方法類似,都是將信息輸出到控制臺,但是輸出到屏幕后并不會產(chǎn)生一個新行,即換行符不會連同輸出信息一起輸出到屏幕上,光標(biāo)將停留在所輸出信息的末尾。在Write()方法中,也可以采用"{N[,M][:格式化字符串]}"的形式來格式化輸出字符串,其中的參數(shù)含義如同WriteLine()方法。2.2.2Console.Write()方法例:利用Console.Write()方法輸出變量值。程序代碼如下:usingSystem;classTest{staticvoidMain(){inti=12345;doublej=123.45678;Console.Write("i={0,8:D}j={1,10:F3}",i,j);Console.Write("i={0,-8:D}j={1,-10:F3}",i,j);}}輸出結(jié)果是:2.2.3Console.ReadLine()方法ReadLine()方法用來從控制臺讀取一行數(shù)據(jù),一次讀取一行字符的輸入,并且直到用戶按下回車鍵它才會返回。但是,ReadLine()方法并不接收回車鍵。如果ReadLine()方法沒有接收到任何輸入,或者接收了無效的輸入,那么ReadLine()方法將返回null。2.2.3Console.ReadLine()方法

例:用ReadLine()方法接收用戶輸入,然后輸出。usingSystem;classTest{staticvoidMain(){stringstr;Console.WriteLine("請輸入你的姓名:");str=Console.ReadLine();Console.WriteLine("{0},歡迎你!",str);}}輸出結(jié)果:2.2.4Console.Read()方法Read()方法的作用是從輸入流(控制臺)讀取下一個字符,Read()方法一次只能從輸入流讀取一個字符,并且直到用戶按回車鍵才會返回。當(dāng)這個方法返回時,如果輸入流中包含有效的輸入,則它返回一個表示輸入字符的整數(shù);如果輸入流中沒有數(shù)據(jù),則返回-1。2.2.4Console.Read()方法例:通過Console.Read()方法從控制臺接收用戶的輸入,然后顯示接收的內(nèi)容。usingSystem;classTest{staticvoidMain(){Console.Write("請輸入字符:");inta=Console.Read();Console.WriteLine("用戶輸入的內(nèi)容為:{0}",a);}}運(yùn)行結(jié)果:練習(xí):1.以下標(biāo)識符中,錯誤的是()A._b39B.x345C.6_321D.nAverage參考答案:C2.以下標(biāo)識符中,正確的是()A._nNameB.MainC.6bD.x5#參考答案:AConsole是C#中的標(biāo)準(zhǔn)輸入/輸出流對象,它通常代表()和()。參考答案:鍵盤、顯示器4.Console.WriteLine("{0},{1}",x,y)語句中"{0}"和"{1}"只是一個占位符。程序運(yùn)行后,會以變量x的值替換"{0}",以變量y的值替換"{1}"。這句話是否正確?參考答案:正確作業(yè):

習(xí)題2的1、2、3、4。第3章

數(shù)據(jù)類型、運(yùn)算符與表達(dá)式上節(jié)復(fù)習(xí):

1、C#程序結(jié)構(gòu)usingSystem; //導(dǎo)入命名空間namespaceTest{classProgram //類{staticvoidMain(string[]args) //程序入口{ //程序?qū)崿F(xiàn)代碼} //主函數(shù)結(jié)束} //Program類結(jié)束} //TestConsoleCS命名空間結(jié)束上節(jié)復(fù)習(xí):

2、輸入/輸出Console.ReadLine() //讀取一行Console.Read() //讀取一個字符注意沒有任何輸入時的返回值Console.WriteLine() //輸出并換行Console.Write() //輸出不換行注意常用格式化字符的輸出內(nèi)容提要:

C#的主要數(shù)據(jù)類型

常量與變量

C#常用的運(yùn)算符、表達(dá)式目的要求:

掌握C#的主要數(shù)據(jù)類型掌握C#常用運(yùn)算符

掌握C#常用表達(dá)式重點(diǎn)難點(diǎn):

類型轉(zhuǎn)換、運(yùn)算符的優(yōu)先級

引用類型3.1數(shù)據(jù)類型類類型數(shù)組類型接口類型

委托類型簡單類型結(jié)構(gòu)類型枚舉類型

值類型數(shù)據(jù)類型

引用類型整數(shù)類型浮點(diǎn)類型小數(shù)類型

字符類型

布爾類型3.1.1值類型1.整數(shù)類型整數(shù)類型的數(shù)據(jù)值只能是整數(shù),計算機(jī)語言所提供的數(shù)據(jù)類型有一定的范圍。類型標(biāo)識符描述可表示的數(shù)值范圍sbyte8位有符號整數(shù)-128~+127byte8位無符號整數(shù)0~255short16位有符號整數(shù)-32768~+32767ushort16位無符號整數(shù)0~65535int32位有符號整數(shù)-2147483648~+2147483647uint32位無符號整數(shù)0~232-1long64位有符號整數(shù)-9223372036854775805~+9223372036854775807ulong64位無符號整數(shù)0~264-13.1.1值類型

2.浮點(diǎn)類型浮點(diǎn)類型的數(shù)據(jù)包含兩種:單精度浮點(diǎn)型(float)和雙精度浮點(diǎn)型(double),其區(qū)別在于取值范圍和精度的不同。

float類型是32位寬,double類型是64位寬。單精度:取值范圍在+1.5×10-45~3.4×1038之間,精度為7

位數(shù)。雙精度:取值范圍為+5.0×-324~1.7×10308之間,精度為

15~16位數(shù)。3.1.1值類型3.小數(shù)類型

小數(shù)類型(decimal)占用16個字節(jié)(128位),主要為了滿足需要高精度的財務(wù)和金融計算機(jī)領(lǐng)域。小數(shù)類型數(shù)據(jù)的取值范圍和精度如下:取值范圍在+1.0×10-28~7.9×1028之間,精度為29位數(shù)。注意:小數(shù)類型數(shù)據(jù)的后面必須跟m或者M(jìn)后綴來表示它是decimal類型的,如3.14m、0.28m等,否則就會被解釋成標(biāo)準(zhǔn)的浮點(diǎn)類型數(shù)據(jù),導(dǎo)致數(shù)據(jù)類型不匹配。

3.1.1值類型例:138f

代表float類型的數(shù)值138.0518u代表uint類型的數(shù)值51836897123ul

代表ulong類型的數(shù)值3689712322.1m

代表decimal類型的數(shù)值22.112.68

代表double類型的數(shù)值12.6836 代表int類型的數(shù)值363.1.1值類型4.字符類型

字符類型的類型標(biāo)識符是char,采用Unicode字符集。凡是在單引號中的一個字符,就是一個字符常數(shù),如:

'你'、'A'、'?'、'6'、'2'

注意:

在表示一個字符常數(shù)時,單引號內(nèi)的有效字符數(shù)量必須且只能是一個,并且不能是單引號或者反斜杠(\)。3.1.1值類型為了表示單引號和反斜杠等特殊的字符常數(shù),C#提供了轉(zhuǎn)義符。下面是

C#常用的轉(zhuǎn)義符:轉(zhuǎn)義符字符名稱\'單引號\"雙引號\\反斜杠\0空字符(Null)\a發(fā)出一個警告

\b倒退一個字符\f換頁\n新的一行\(zhòng)r換行并移到同一行的最前面\t水平方向的Tab\v垂直方向的Tab3.1.1值類型如Console.WriteLine("Hello,"+"\'"+"打印出單引號"+"\'"); //Hello,'打印出單引號'例:usingSystem;classStrDemo{staticvoidMain(){Console.WriteLine("FirstLine\nSecondLine");Console.WriteLine("A\tB\tC");Console.WriteLine("D\tE\tF");}}運(yùn)行結(jié)果:3.1.1值類型5.布爾類型布爾類型的類型標(biāo)識符是bool。布爾類型常數(shù)只有兩種值:true(代表"真")和false(代表"假")。布爾類型數(shù)據(jù)主要應(yīng)用在流程控制中。例:

boolb=5>3;//b的值為true;b=false;3.1.2引用類型1.object類

object類是系統(tǒng)提供的基類型,是所有類型的基類,C#中所有的類型都直接或間接派生于對象類型。對于任一個object變量,均可以賦以任何類型的值。

doubled=3.14;objectobj1;obj1=d;obj1='k';3.1.2引用類型2.string類一個字符串是被雙引號包含的一系列字符。

string類是專門用于對字符串進(jìn)行操作的。如:

stringstr1="中國,";

stringstr2="你好?。?;

stringstr3=str1+str2;//這相當(dāng)于str3="中國,你好!"

charc=str3[0];//取出str3的第一個字符,即"中"字。

stringstr5=@"hello\tworld";//hello\tworld3.1.2引用類型C#支持兩種形式的字符串常數(shù)。(1)常規(guī)字符串常數(shù)如:"thisisatest""C#程序設(shè)計教程"例:usingSystem;classStrDemo{staticvoidMain(){Console.WriteLine("First\0line\nSecond\0line");Console.WriteLine("你好\a");Console.WriteLine("1\t2\t3");Console.WriteLine("*\t**\t***");}}

運(yùn)行結(jié)果如下:3.1.2引用類型例:usingSystem;classStringDemo{publicstaticvoidMain(){stringstr1="Astring";stringstr2="Anotherstring.";Console.WriteLine("{0}\n{1}",str1,str2);}}運(yùn)行結(jié)果:3.1.2引用類型(2)逐字字符串常數(shù)逐字字符串常數(shù)以@開頭,后跟一對雙引號,在雙引號中放入字符。如:@"電子高專"@"Thisisabook."逐字字符串常數(shù)同常規(guī)字符串常數(shù)的區(qū)別:在逐字字符串常數(shù)的雙引號中,每個字符都代表其最原始的意義,在逐字字符串常數(shù)中沒有轉(zhuǎn)義字符。

注意:如果要包含雙引號("),就必須在一行中使用兩個雙引號("")。3.1.2引用類型stringstr1;//定義字符串類型stringstr2="hello,world";//規(guī)則字符串常數(shù):hello,worldstringstr3=@"hello,world";//逐字字符串常數(shù):hello,worldstringstr4="hello\tworld";//helloworldstringstr5=@"hello\tworld";//hello\tworldstringstr6="Hesaid\"Hello\"toyou";//Tomsaid"Hello"toyoustringstr7=@"Hesaid""Hello""toyou";//Tomsaid"Hello"toyou例:usingSystem;classTest{staticvoidMain(){Console.WriteLine(@"Thisisaverbatimstringliteralthatspansseverallines.

");Console.WriteLine(@"Hereissometabbedoutput:12345678

");Console.WriteLine(@"Programmerssay,"

"IlikeC#""");}}運(yùn)行結(jié)果如下:3.1.3類型轉(zhuǎn)換數(shù)據(jù)類型在一定條件下是可以相互轉(zhuǎn)換的。C#允許使用兩種轉(zhuǎn)換的方式:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。1.隱式轉(zhuǎn)換隱式轉(zhuǎn)換是系統(tǒng)默認(rèn)的、不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換。隱式數(shù)據(jù)轉(zhuǎn)換的使用方法如下:inti=518;//a為整型數(shù)據(jù)longb=i;//b為長整型數(shù)據(jù)floatf=i;//f為單精度浮點(diǎn)型數(shù)據(jù)故:隱式轉(zhuǎn)換發(fā)生在取值范圍從小到大時且數(shù)據(jù)不會丟失。3.1.3類型轉(zhuǎn)換2.顯式轉(zhuǎn)換顯式轉(zhuǎn)換又叫強(qiáng)制類型轉(zhuǎn)換,顯式轉(zhuǎn)換要明確指定轉(zhuǎn)換類型。顯式轉(zhuǎn)換格式:(類型標(biāo)識符)表達(dá)式注意:(1)顯式轉(zhuǎn)換可能會導(dǎo)致錯誤。(2)對于將float,double,decimal轉(zhuǎn)換為整數(shù),將通過舍入得到最接近的整型值,如果這個整型值超出目標(biāo)域,則出現(xiàn)轉(zhuǎn)換異常。比如:(int)6.28m//轉(zhuǎn)換的結(jié)果為6 (int)3e25f//將產(chǎn)生溢出錯誤3.1.4裝箱和拆箱1.裝箱轉(zhuǎn)換

裝箱轉(zhuǎn)換是指將一個值類型的數(shù)據(jù)隱式地轉(zhuǎn)換成一個對象類型(object)的數(shù)據(jù)。

例如:inti=518;

objectobj=i;2.拆箱轉(zhuǎn)換和裝箱相反,拆箱轉(zhuǎn)換是指將一個對象類型的數(shù)據(jù)顯式地轉(zhuǎn)換成一個值類型數(shù)據(jù)。例如:objectobj=228;intk=(int)obj;3.1.4裝箱和拆箱

例:在程序中執(zhí)行裝箱轉(zhuǎn)換。

usingSystem;classBoxingDemo{staticvoidMain(){Console.WriteLine("執(zhí)行裝箱轉(zhuǎn)換:");

intk=200;objectobj=k;k=300;Console.WriteLine("obj={0}",obj);Console.WriteLine("k={0}",k);}}3.1.4裝箱和拆箱2.拆箱轉(zhuǎn)換和裝箱相反,拆箱轉(zhuǎn)換是指將一個對象類型的數(shù)據(jù)顯式地轉(zhuǎn)換成一個值類型數(shù)據(jù)。例如:objectobj=228;intk=(int)obj;3.1.4裝箱和拆箱例:在程序中使用拆箱轉(zhuǎn)換。

usingSystemclassUnboxingDemo{staticvoidMain(){intk=228;objectobj=k;//裝箱轉(zhuǎn)換

intj=(int)obj;//拆箱轉(zhuǎn)換

Console.WriteLine("k={0}\tobj={1}\tj={2}",k,obj,j);}}該程序執(zhí)行后,輸出結(jié)果如下:k=228obj=228j=228練習(xí):1.()是decimal類型數(shù)據(jù)A.123LB.123.4C.123.4FD.123.4M參考答案:D2.已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97,則十六進(jìn)制字符常量'0x0042'表示()A.字符aB.字符AC.字符bD.字符B參考答案:D

3.2.1常量在C#中,常量在程序的運(yùn)行過程中其值是不能改變的,例如,數(shù)字100就是一個常量,這樣的常量一般被稱作常數(shù)。聲明常量的格式:

const類型標(biāo)識符常量名=表達(dá)式;例:constdoublePI=3.14159265;doubler=5.2;doubles=PI*r*r;Console.Write("面積={0}",s);3.2.1常量常量特點(diǎn):

在程序中,常量只能被賦予初始值。

定義常量時,表達(dá)式中的運(yùn)算符對象只允許出現(xiàn)常量和常數(shù),不能有變量存在。例如:intb=18;constinta=26;constintk=b+10;//錯誤,表達(dá)式中不允許出現(xiàn)變量constintd=a+23;//正確,因?yàn)閍是常量a=56;//錯誤,不能修改常量的值3.2.2變量變量是程序運(yùn)行過程中用于存放數(shù)據(jù)的存儲單元。變量的值在程序的運(yùn)行過程中可以改變。1.變量的定義在定義變量時,首先必須給每一個變量起名,稱為變量名,變量名代表存儲地址。變量的類型決定了存儲在變量中的數(shù)值的類型。

變量定義格式:

類型標(biāo)識符變量名1,變量名2,……;注意:C#規(guī)定,任何變量在使用前,必須先定義,后使用。3.2.2變量2.變量的賦值變量的賦值,就是將數(shù)據(jù)保存到變量所代表的存儲單元中的過程。格式:變量名=表達(dá)式;例:

intnAgeSum;

nAgeSum=210;//給nAgeSum變量賦予數(shù)值210注意:1.變量的當(dāng)前值等于最近一次給變量所賦的值。 2.在對變量進(jìn)行賦值時,表達(dá)式的值的類型必須同變量的類型相同。 3.變量是有作用域和生命周期的。3.2.2變量在程序中,可以給一個變量多次賦值。變量的當(dāng)值等于最近一次給變量所賦的值。如:

nAgeSum=68;//這時nAgeSum等于68nAgeSum=36+24;//這時nAgeSum等于60nAgeSum=nAgeSum+40;//這這時nAgeSum等于1003.2.2變量在對變量進(jìn)行賦值時,表達(dá)式的值的類型必須同變量的類型相同。

stringsName;intnScore;sName="Jack";//正確

sName="Tom";//正確

nScore=98;sName=5;//錯誤,不能將整數(shù)賦予字符串對象

nScore="Hello";//錯誤,不能字符串賦予整型變量3.2.2變量3.變量的初始化在定義變量的同時,可以對變量賦值,稱為變量的初始化。對變量進(jìn)行初始化的格式如下:

類型標(biāo)識符變量名=表達(dá)式;例:

stringstr="Thisisabook";練習(xí):

判斷題:

1.C#規(guī)定所有變量必須先聲明后使用。()參考答案:正確

2.雙精度浮點(diǎn)數(shù)類型double由8個字節(jié)組成。()參考答案:正確3.執(zhí)行constinta=10;a=a+1;這兩條語句后,a的值為11。()參考答案:錯誤填空題:

1.使用變量a存放數(shù)據(jù)-389,則將變量聲明為()類型最合適。參考答案:short3.3.1運(yùn)算符

1.算術(shù)運(yùn)算符

算術(shù)運(yùn)算符用于對操作數(shù)進(jìn)行算術(shù)運(yùn)算。C#的算術(shù)運(yùn)算符同數(shù)學(xué)中的算術(shù)運(yùn)算符是很相似的。C#算術(shù)運(yùn)算符

運(yùn)算符意義運(yùn)算對象數(shù)目運(yùn)算對象類型運(yùn)算結(jié)果類型實(shí)例+取正或加法1或2數(shù)值類型數(shù)值類型+5、6+8+a-取負(fù)或減法1或2-3、a-b*乘法23*a*b、5*2/除法27/4、a/b%模(求整數(shù)除法的余數(shù),如7除以3的余數(shù)為2,則7%3等于2)2a%(2+5)、a%b、3%2++自增運(yùn)算1a++、++b--自減運(yùn)算1a--、--b例:usingSystem;classModDemo{staticvoidMain(){intiresult,irem;doubledresult,drem;iresult=10/3;irem=10%3;dresult=10.0/3.0;drem=10.0%3.0;Console.WriteLine("10/3={0}\t10%3={1}",iresult,irem);Console.WriteLine("10.0/3.0={0}\t10.0%3.0={1}",dresult,drem);}}運(yùn)行結(jié)果:3.3.1運(yùn)算符特殊的算術(shù)運(yùn)算符:++(自增運(yùn)算符)--(自減運(yùn)算符)作用:使變量的值自動增加1或者減少1。

例如,x=x+1;

可以被寫成

++x;//前綴格式或者

x++;

//后綴格式3.3.1運(yùn)算符

當(dāng)一個自增或自減運(yùn)算符在它的操作數(shù)前面時,C#將在取得操作數(shù)的值前執(zhí)行自增或自減操作。如果運(yùn)算符在操作數(shù)的后面,C#將先取得操作數(shù)的值,然后進(jìn)行自增或自減運(yùn)算。例:

x=8;y=++x;

在這種情況下,x和y被賦值為9。但是,如果代碼如下所寫:

x=8;y=x++;

那么y被賦值為8,x被賦值為9

。例:usingSystem;classTest{staticvoidMain(){intx=5;inty=x--;Console.WriteLine("y={0}",y);y=--x;Console.WriteLine("y={0}",y);}}注意:++、--只能用變量,而不能用于常量或表達(dá)式,例如12++或--(x+y)都是錯誤的。運(yùn)行結(jié)果:3.3.1運(yùn)算符2.賦值運(yùn)算符賦值運(yùn)算符用于將一個數(shù)據(jù)賦予一個變量,賦值操作符的左操作數(shù)必須是一個變量,賦值結(jié)果是將一個新的數(shù)值存放在變量所指示的內(nèi)存空間中。例如:intx=8;x=x+x;x=16-x;3.3.1運(yùn)算符C#的賦值運(yùn)算符類型符號說明簡單賦值運(yùn)算符=x=1復(fù)合賦值運(yùn)算符+=x+=1等價于x=x+1-=x-=1等價于x=x-1*=1x*=1等價于x=x*1/=x/=1等價于x=x/1%=x%=1等價于x=x%13.3.1運(yùn)算符可以把表達(dá)式的值通過復(fù)合賦值運(yùn)算符賦予變量,這時復(fù)合賦值運(yùn)算右邊的表達(dá)式是作為一個整體參加運(yùn)算的。例:inta=8,b=3;a%=b*2-5;/*相當(dāng)于a%=(b*2-5),它與

a=a%(b*2-5)是等價的。*/

對變量可以進(jìn)行連續(xù)賦值。例:

intz=3;

x=y=z;//等價于x=(y=z)。3.3.1運(yùn)算符3.關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于比較兩個值的大小,關(guān)系運(yùn)算的結(jié)果不是true就是false。

例:boola='a'<'b';//a的值為truea=3+6>5-2//a的值為false3.3.1運(yùn)算符C#的關(guān)系運(yùn)算符符號意義運(yùn)算結(jié)果類型運(yùn)算對象個數(shù)實(shí)例>大于布爾型。如果條件成立,結(jié)果為true,否則結(jié)果為false23>6,x>2,b>a<小于3.14<3,x<y>=大于等于3.26>=b<=小于等于PI<=3.1416==等于3==2,x==2!=不等于x!=y,3!=2例:usingSystem;classRelaOpr{staticvoidMain(){inta=50;intx=30;inty=60;intb;b=x+y;boolj;j=a==b-40;Console.WriteLine("a=bis{0}",j);}}運(yùn)行結(jié)果:3.3.1運(yùn)算符4.邏輯運(yùn)算符邏輯運(yùn)算符用于表示兩個布爾值之間的邏輯關(guān)系,邏輯運(yùn)算結(jié)果是布爾類型。邏輯非(!):運(yùn)算的結(jié)果是原先的運(yùn)算結(jié)果的逆。

邏輯與(&&):只有兩個運(yùn)算對象都為true,結(jié)果才為true;只要其中有一個是false,結(jié)果就為false。

邏輯或(||):只要兩個運(yùn)算對象中有一個是true,結(jié)果就為true,只有兩個條件均為false,結(jié)果才為false。3.3.1運(yùn)算符C#的邏輯運(yùn)算符符號意義運(yùn)算對象類型運(yùn)算結(jié)果類型運(yùn)算對象個數(shù)實(shí)例!邏輯非布爾類型布爾類型1!(i>j)&&邏輯與2x>y&&x>0||邏輯或2x>y||x>0

3.3.1運(yùn)算符當(dāng)需要

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論