




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1本章教學目標理解C#語言的基本字符集和詞匯集理解C#的數(shù)據類型和常量、變量的定義方法,掌握簡單數(shù)據類型轉換的方法熟練掌握C#的運算符,掌握利用變量、常量和運算符構成表達式的方法22.1C#的基本字符集數(shù)字:
0123456789英文字母:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz特殊字符:
Space!“#$%&‘()*+,-./:;<=>?@[\]^_{|}~3C#的關鍵字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
const
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
42.2C#的簡單數(shù)據類型5標識符的命名規(guī)則第一個字符必須是英文字母(也可以是漢字、希臘字母、俄文字母等其他Unicode字符)。從第二個字符開始,可以使用英文字母、數(shù)字和下劃線,但不能包含空格、標點符號、運算符號等字符。不能與關鍵字重名,但如果在關鍵字前面加上@前綴,也可以成為合法標識符(不推薦,一般不要這樣用)。長度不能超過255個字符。6實例2.1例2.1
在控制臺應用程序中使用無符號整數(shù)變量,企圖用來保存負數(shù)時出現(xiàn)的錯誤。創(chuàng)建控制臺應用程序以后,刪除可以省略的代碼行,代碼如下:usingSystem;classcalculation{staticvoidMain(){
ushort
a,b,c; //定義了3個無符號短整型變量
a=8; b=6; c=b-a; //表達式的值為負,無法向變量c賦值
Console.WriteLine(c);}}7實例2.2例2.2
在控制臺應用程序中使用無符號短整數(shù)變量,企圖存儲的數(shù)值過大而導致的溢出錯誤。usingSystem;classcalculation{staticvoidMain(){shorta,b,c; //定義了3個短整型變量
a=51200; //常量51200超出了short類型的表達范圍
b=16;c=a*b; //表達式的值超出了short類型的表達范圍
Console.WriteLine(c);}}8常用的轉義字符轉義字符意義Unicode編碼(十六進制)\′單引號\u0027\"雙引號\u0022\\反斜杠\u005C\0空字符(null)\u0000\a響鈴\u0007\b退格(從當前位置后退一列)\u0008\f換頁(從當前位置移到下頁的開頭)\u000C\n換行(從當前位置移到下一列的開頭)\u000A\r回車(從當前位置移到本行的開頭)\u000D\t水平制表(跳到下一個Tab位置)\u0009\v垂直制表\u000B9實例2.3例2.3利用轉義字符,使計算機發(fā)出響鈴聲的控制臺應用程序。usingSystem;classbell{staticvoidMain(){
charx,y; //聲明字符型變量x,y
x='\a'; //向變量x賦值為表示響鈴的轉義字符
y='\''; //向變量y賦值為表示單引號的轉義字符
Console.Write("您將聽到{0}計算機小喇叭{1}發(fā)出的一聲響",y,y);
Console.WriteLine(x); //計算機小喇叭發(fā)出響鈴聲
}}10實例2.4例2.4利用Unicode編碼值向字符型變量賦值的控制臺應用程序。usingSystem;classunicode{staticvoidMain(){chara,b; //聲明了兩個字符型變量a和b
a='\u59DA'; //向字符型變量a賦予一個Unicode編碼值
b='\u660E'; //向字符型變量b賦予另一個Unicode編碼值
Console.WriteLine("你輸入的兩個Unicode編碼的意思是:{0}{1}",a,b);
}}11實例2.5例2.5下列控制臺應用程序執(zhí)行時,向單精度浮點變量x賦值3.14159326,查看輸出結果。usingSystem;classsingle{staticvoidMain(){floatx; //定義變量x為單精度浮點類型
x=3.1415926f;//若省略后綴f,則認為是double類型,發(fā)生錯誤
Console.WriteLine(x);}}12實例2.6例2.6下面的控制臺應用程序用于計算3的平方根,結果保存在雙精度變量x中。usingSystem;classsingle{staticvoidMain(string[]args){doublex;x=Math.Sqrt(3);
//計算平方根
Console.WriteLine("3的平方根=
{0}",x);
}}
13實例2.7例2.7用浮點類型進行數(shù)值計算時可能出現(xiàn)的誤差。usingSystem;classmiscount{staticvoidMain(){doublex,y,z; //定義了三個雙精度浮點類型變量
x=10; //向變量x賦以常數(shù)值時,默認類型為double
y=9.90; //向變量y賦以常數(shù)值時,默認類型為double
z=x-y; //將算術表達式x–y的值賦給double變量z
Console.WriteLine("浮點數(shù)計算{0}-{1}={2}",x,y,z);
}}14實例2.8例2.8
用decimal類型進行帶有小數(shù)的數(shù)值計算時可以避免誤差。usingSystem;{staticvoidMain(string[]args){decimalx,y,z;x=10M; //decimal類型的常數(shù)值后面必須跟一個M或my=9.9M;z=x-y;
Console.WriteLine("十進制小數(shù)計算{0}-{1}={2}",x,y,z);}}152.3變量2.3.1聲明變量2.3.2變量的初始化操作與初值
16實例2.9例2.9
企圖引用未初始化變量的控制臺應用程序。usingSystem;classcalculation{staticvoidMain(){
inta,b,c;c=a+b;
Console.WriteLine(c);}}172.3.3簡單類型數(shù)據之間的轉換
簡單類型允許隱式轉換到的類型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalushortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallongfloat、double、decimalulongfloat、double、decimalcharushort、int、uint、long、ulong、float、double、decimalfloatdouble18實例2.10例
2.10計算圓面積的控制臺應用程序。usingSystem;classarea{staticvoidMain(){doublemyarea,pi=3.14159;//定義了兩個雙精度浮點類型變量
intradius=8; //定義了整型變量
myarea=pi*radius*radius;//整數(shù)類型與浮點類型的混合運算
Console.WriteLine("圓的面積={0}",myarea);
}}19實例2.11例2.11
將三基色(R、G、B)表示的彩色像素轉換成灰度像素的計算公式為
Gray=0.30R+0.59G+0.11B根據這個公式計算出任意一個指定像素的灰度值。程序代碼如下:usingSystem;classpixel{staticvoidMain(){bytegray;byter=240,g=201,b=129;
//像素的三基色分量值
gray=(byte)(0.30*r+0.59*g+0.11*b); //顯式轉換成byte類型
Console.WriteLine("計算得到的像素灰度值={0}",gray);
}}202.5運算符與表達式運算符運算表達式示例+加法x+y-減法x-y*乘法x*y/除法x/y%求模x%y++自增x++++x--自減x----x表2-5C#算術運算符21加法運算符的多重作用兩個操作數(shù)均為數(shù)字,相加的結果為兩個操作數(shù)之和兩個操作數(shù)均為字符串,把兩個字符串連接在一起兩個操作數(shù)分別為數(shù)字和字符串,則先把數(shù)字轉換成字符串,然后連接在一起兩個操作數(shù)分別為數(shù)字和字符,則先把字符轉換成Unicode代碼值,然后求和22算術運算符的優(yōu)先級當一個表達式中含有多種算術運算符時,將按以下順序求值:乘、除運算符(*/)求模運算符(%)加、減運算符(+-)23關系運算符關系運算符測試關系表達式示例==相等x==y!=不相等x!=y<小于x<y>大于x>y<=小于或等于x<=y>=大于或等于x>=y24邏輯運算符1.!(非)唯一的單目邏輯運算符。它的結果是操作數(shù)原有邏輯值的反值。2.&&(與)只有左、右操作數(shù)的值都為True時,結果為True,否則結果為False。3.||(或)左、右操作數(shù)只要有一個為True,結果即為True。僅當左、右操作數(shù)的值均為False時,結果才為False。25位運算符
1.~(按位取反)將二進制數(shù)的各位取原有值的反值。即原來為0,取反為1;原來為1,取反為0。2.&(對應位“與”)只有左、右操作數(shù)對應位的值都為1時,結果為1,否則結果為0。3.|(對應位“或”)左、右操作數(shù)只要對應位有一個為1,結果即為1。僅當左、右操作數(shù)的值均為0時,結果才為0。4.^(對應位“異或”)當左、右操作數(shù)對應位的值相同(即都為1或0)時,結果為0,否則結果為1。5.<<(左移)將二進制操作數(shù)的各位向左移若干位,相當于逐次乘2的操作。6.>>(右移)將二進制操作數(shù)的各位向右移若干位,相當于逐次除2的操作。262.6枚舉與結構枚舉(enumeration)
有限、可數(shù)的數(shù)據元素組成的集合星期一到星期日7個數(shù)據元素組成的集合一年內12個月組成的集合在C#語言中,枚舉是用標識符表示的整型常量的集合,枚舉成員是具有整數(shù)類型的符號常量什么叫“屈指可數(shù)”?什么叫“不勝枚舉”?27聲明枚舉類型的一般形式enum
枚舉名[:基本數(shù)據類型]{枚舉常量列表}其中:enum
:定義枚舉類型的關鍵字枚舉名:定義枚舉類型時賦予的名稱基本數(shù)據類型:可選,指定枚舉成員的基本數(shù)據類型,默認為int枚舉常量列表:用標識符組成的列表,兩個相鄰的枚舉成員之間用逗號分隔28定義星期enum
weekDays{ Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}默認Sunday=0Saturday=?29定義枚舉時指定枚舉成員的值enum
weekDays{ Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}Monday=1Saturday=?Sunday=?30定義太陽系中行星軌道周期的枚舉enum
planetPeriods{Mercury=88,Venus=225,Earth=365,Mars=687}31實例2.18例2.18
創(chuàng)建Windows窗體應用程序,顯示太陽系中水星、金星、地球以及火星的軌道周期(即繞太陽一圈的天數(shù))enum
planetPeriods:int
//聲明枚舉{Mercury=88,Venus=225,Earth=365,Mars=687}privatevoidForm1_Click(objectsender,EventArgse){label1.Text+=“水星周期"+(int)planetPeriods.Mercury+"天\n";label1.Text+="金星周期"+(int)planetPeriods.Venus+"天\n";label1.Text+="地球周期"+(int)planetPeriods.Earth+"天\n";label1.Text+="火星周期"+(int)planetPeriods.Mars+"天\n";}32結構結構:多個不同數(shù)據類型的相關元素組合在一起而形成的一種數(shù)據結構聲明結構類型的一般形式:struct
結構名{
結構成員聲明語句1;結構成員聲明語句2;…
結構成員聲明語句n;}33例如,下面的語句聲明了一個Student結構:structStudent{publicstringname;publicstringsex;publicuintage;publicstringphone;publicuintscore;}34實例2.19usingSystem;usingSystem.Windows.Forms;namespaceex2_18{publicpartialclassForm1:Form{publicForm1(){
InitializeComponent();}
structStudent//聲明結構
{------------------------------------//見下頁
}}例2.19創(chuàng)建一個名為Student的結構,并且對它的成員執(zhí)行讀寫操作35實例2.19(聲明結構)structStudent //聲明結構{publicstringname;//姓名(字符串類型)publicstringsex;//性別(字符串類型)publicuintage;//年齡(無符號整數(shù))publicstringphone;//電話號碼(字符串類型)publicuintscore;//成績(無符號整數(shù))}36實例2.19(事件過程)privatevoidForm1_Click(objectsender,EventArgse){Studentstudent1; //創(chuàng)建Student類型的一個實例
="田一妮";student1.sex="女";student1.age=19;student1.phone="68752220";studen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021深圳育才中學(初中)小學三年級數(shù)學下期末一模試卷帶答案
- 安裝鐵塔施工方案
- 2024年黑龍江大慶中考滿分作文《詩中誦出赤子心》
- 個人購銷合同范例范例
- 修路個人勞務合同范例
- 合伙餐廳合同范本
- 跨部門合作的工作計劃實例
- 鄉(xiāng)村樹苗銷售合同范例
- 學生自我管理與目標追蹤計劃
- 培養(yǎng)員工潛能與激勵方式計劃
- 勞務派遣勞務外包項目方案投標文件(技術方案)
- 2025年安全員C證(專職安全員)考試題庫
- 地理-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 2025年廣州市公安局招考聘用交通輔警200人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 貴州省貴陽市2024-2025學年九年級上學期期末語文試題(含答案)
- 2025年江蘇海事職業(yè)技術學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 2024年尖葉菠菜種子項目可行性研究報告
- 計件工資計算表格模板
- 兩癌防治知識培訓
- 《moldflow學習資料》課件
- 2025中國移動安徽分公司春季社會招聘高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論