C基本數(shù)據(jù)類型與表達式_第1頁
C基本數(shù)據(jù)類型與表達式_第2頁
C基本數(shù)據(jù)類型與表達式_第3頁
C基本數(shù)據(jù)類型與表達式_第4頁
C基本數(shù)據(jù)類型與表達式_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟮某绦蛟O計面向?qū)ο蟮某绦蛟O計主講:楊長保主講:楊長保 、李遠華、李遠華吉林大學地球探測科學與技術(shù)學院吉林大學地球探測科學與技術(shù)學院E-mail: 2.1 C#基本數(shù)據(jù)類型與表達式基本數(shù)據(jù)類型與表達式2.2 C#基本程序控制結(jié)構(gòu)基本程序控制結(jié)構(gòu)2.3 數(shù)組、函數(shù)和引用數(shù)組、函數(shù)和引用思考與練習(思考與練習(1)一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型 C#中數(shù)據(jù)類型主要分為值類型和引用類型兩大類。中數(shù)據(jù)類型主要分為值類型和引用類型兩大類。(一)值類型(一)值類型 C#中的值類型包括簡單類型、結(jié)構(gòu)類型和枚舉類中的值類型包括簡單類型、結(jié)構(gòu)類型和枚舉類型三種,不同的類型在型三種,不同的類型在C#中

2、用不同的類型標識符來中用不同的類型標識符來表示。本節(jié)只介紹簡單類型,包括整數(shù)類型、實數(shù)表示。本節(jié)只介紹簡單類型,包括整數(shù)類型、實數(shù)類型、小數(shù)類型、字符類型和布爾類型等。類型、小數(shù)類型、字符類型和布爾類型等。一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(一)值類型(一)值類型1.整數(shù)類型整數(shù)類型 整數(shù)類型的數(shù)據(jù)值只能是整數(shù),計算機語言所提供整數(shù)類型的數(shù)據(jù)值只能是整數(shù),計算機語言所提供的數(shù)據(jù)類型有一定的范圍。的數(shù)據(jù)類型有一定的范圍。常見常見C#整數(shù)類型的表示范圍整數(shù)類型的表示范圍類型標識符類型標識符描述描述可表示的數(shù)值范圍可表示的數(shù)值范圍sbyte8位有符號整數(shù)位有符號整數(shù)-128 +127byte8位無

3、符號整數(shù)位無符號整數(shù)0 255short16位有符號整數(shù)位有符號整數(shù)-32768 +32767ushort16位無符號整數(shù)位無符號整數(shù) 0 65535int32位有符號整數(shù)位有符號整數(shù)-2147483648 +2147483647uint32位無符號整數(shù)位無符號整數(shù)0 232-1long64位有符號整數(shù)位有符號整數(shù)-9223372036854775805 +9223372036854775807ulong64位無符號整數(shù)位無符號整數(shù)0 264-1一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(一)值類型(一)值類型2.實數(shù)類型實數(shù)類型 實數(shù)類型的數(shù)據(jù)包含兩種:單精度浮點型(實數(shù)類型的數(shù)據(jù)包含兩種:單精度

4、浮點型(float)和雙精度浮點型(和雙精度浮點型(double)。)。float類型是類型是32位寬,位寬,取值范圍在取值范圍在+ 1.510-45 3.41038之間,精度為之間,精度為7位位數(shù)。數(shù)。double類型是類型是64位寬,取值范圍為位寬,取值范圍為+5.010-324 1.710308之間,精度為之間,精度為1516位數(shù)。位數(shù)。 一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(一)值類型(一)值類型3.小數(shù)類型小數(shù)類型 小數(shù)類型(小數(shù)類型(decimal)占用)占用16個字節(jié)(個字節(jié)(128位),取位),取值范圍在值范圍在+ 1.010-28 7.91028之間,精度為之間,精度為29位

5、位數(shù)。數(shù)。 注意注意:小數(shù)類型數(shù)據(jù)的后面必須跟小數(shù)類型數(shù)據(jù)的后面必須跟m或者或者M后綴來表后綴來表示它是示它是decimal類型的,如類型的,如3.14m、0.28m等,否則就等,否則就會被解釋成標準的浮點類型數(shù)據(jù),導致數(shù)據(jù)類型不會被解釋成標準的浮點類型數(shù)據(jù),導致數(shù)據(jù)類型不匹配。匹配。一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(一)值類型(一)值類型4.字符類型字符類型 字符類型的類型標識符是字符類型的類型標識符是char,采用,采用Unicode字符字符集,占用集,占用2個字節(jié)。凡是在單引號中的一個字符,如個字節(jié)。凡是在單引號中的一個字符,如你你、A、? 、6、2等,就是一個字符常數(shù)。等,就是一個

6、字符常數(shù)。 注意注意: 在表示一個字符常數(shù)時,單引號內(nèi)的有效字在表示一個字符常數(shù)時,單引號內(nèi)的有效字符數(shù)量必須且只能是一個,并且不能是單引號或者符數(shù)量必須且只能是一個,并且不能是單引號或者反斜杠(反斜杠()。為了表示單引號和反斜杠等特殊的字)。為了表示單引號和反斜杠等特殊的字符常數(shù),符常數(shù),C#提供了轉(zhuǎn)義符。提供了轉(zhuǎn)義符。常見常見C#轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義符轉(zhuǎn)義符字符名稱字符名稱單引號單引號雙引號雙引號反斜杠反斜杠0空字符(空字符(Null)a發(fā)出一個警告發(fā)出一個警告 b倒退一個字符倒退一個字符f換頁換頁n新的一行新的一行r換行并移到同一行的最前面換行并移到同一行的最前面t水平方向的水平方向的T

7、abv垂直方向的垂直方向的Tab一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(一)值類型(一)值類型5.布爾類型布爾類型 布爾類型的類型標識符是布爾類型的類型標識符是bool,占,占1個字節(jié)。布爾類型個字節(jié)。布爾類型數(shù)據(jù)只有數(shù)據(jù)只有true(代表(代表“真真”)和)和false(代表(代表“假假”)兩)兩種值。種值。例:例: bool b=53; /b的值為的值為true; b=false; /b的值為的值為false;一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(二)引用類型(或稱對象類型)(二)引用類型(或稱對象類型)1.object類類 object類是系統(tǒng)提供的基類型,是所有類型的基類,類是系統(tǒng)提供的

8、基類型,是所有類型的基類,C#中所有的類型都直接或間接派生于對象類型。中所有的類型都直接或間接派生于對象類型。 對于任一個對于任一個object變量,均可以賦以任何類型的值。變量,均可以賦以任何類型的值。 double d=3.14; object obj1; obj1=d; obj1=k; 對于對于object類型的變量,聲明必須使用類型的變量,聲明必須使用object關(guān)鍵字。關(guān)鍵字。一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(二)引用類型(二)引用類型2.string類類 string類在類在C#中是專門用于對字符串進行操作的。中是專門用于對字符串進行操作的。如:如: string str1=中

9、國,;中國,; string str2=你好??;你好??; string str3=str1+str2; /這相當于這相當于str3=中國,你好!中國,你好! char c=str30;/取出取出str3的第一個字符,即的第一個字符,即“中中”字。字。一、一、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(二)引用類型(二)引用類型2.string類類 C#支持兩種形式的字符串常數(shù)。支持兩種形式的字符串常數(shù)。(1)常規(guī)字符串常數(shù))常規(guī)字符串常數(shù) 如:如: this is a test C#程序設計教程程序設計教程例例1: using System; class StrDemo static void Main(

10、) Console.WriteLine(First0linenSecond0line); Console.WriteLine(你好你好a); Console.WriteLine(1t2t3); Console.WriteLine(*t*t*); 運行結(jié)果如下:運行結(jié)果如下:例例2:using System;class StringDemo public static void Main( ) string str1=A string; string str2=Another string.; Console.WriteLine(0n1,str1,str2); 運行結(jié)果如下:運行結(jié)果如下:一、一

11、、C#基本數(shù)據(jù)類型基本數(shù)據(jù)類型(二)引用類型(二)引用類型2.string類類(2)逐字字符串常數(shù))逐字字符串常數(shù) 逐字字符串常數(shù)以逐字字符串常數(shù)以開頭,后跟一對雙引號,在雙開頭,后跟一對雙引號,在雙引號中放入字符。如:引號中放入字符。如:電子高專、電子高專、This is a book.等等 逐字字符串常數(shù)同常規(guī)字符串常數(shù)的區(qū)別逐字字符串常數(shù)同常規(guī)字符串常數(shù)的區(qū)別:在逐字字在逐字字符串常數(shù)的雙引號中,每個字符都代表其最原始的意符串常數(shù)的雙引號中,每個字符都代表其最原始的意義,在逐字字符串常數(shù)中沒有轉(zhuǎn)義字符。義,在逐字字符串常數(shù)中沒有轉(zhuǎn)義字符。 注意注意:如果要包含雙引號(),就必須在一行中使

12、如果要包含雙引號(),就必須在一行中使用兩個雙引號()。用兩個雙引號()。如:如:string str1; /定義字符串類型定義字符串類型string str2=hello, world; /常規(guī)字符串常數(shù):常規(guī)字符串常數(shù):hello, worldstring str3=hello, world;/逐字字符串常數(shù):逐字字符串常數(shù):hello, world string str4=hello t world; /hello worldstring str5=hello t world; /hello t worldstring str6=He said Hello to you;/He said

13、 Hello to youstring str7=He said Hello to you;/He said Hello to you例:例: using System; class Test static void Main( ) Console.WriteLine(This is a verbatim string literal that spans several lines. ); Console.WriteLine(Here is some tabbed output: 1 2 3 4 5 6 7 8 ); Console.WriteLine(Programmers say, I

14、like C#); 運行結(jié)果如下:運行結(jié)果如下:二、二、C#中常量與變量中常量與變量(一)常量(一)常量 常量在程序的運行過程中其值是不能改變的,這樣常量在程序的運行過程中其值是不能改變的,這樣的常量一般被稱作常數(shù)。在的常量一般被稱作常數(shù)。在C#中,使用中,使用const關(guān)鍵字關(guān)鍵字以及該常量值的類型來聲明一個常量。以及該常量值的類型來聲明一個常量。 聲明常量的格式:聲明常量的格式:const 類型標識符類型標識符 常量名常量名 = 表達式;表達式;例:例: const double PI=3.14159265; double r=5.2; double s=PI*r*r; Console.W

15、rite(“面積面積=0”,s);二、二、C#中常量與變量中常量與變量(一)常量(一)常量 注意:在注意:在C#程序中,常量只能被賦予初始值,即聲程序中,常量只能被賦予初始值,即聲明常量時必須對其賦值。定義常量時,表達式中的明常量時必須對其賦值。定義常量時,表達式中的運算符對象只允許出現(xiàn)常量和常數(shù),不能有變量存運算符對象只允許出現(xiàn)常量和常數(shù),不能有變量存在。也就是說,常量不能像變量一樣更改其值或給在。也就是說,常量不能像變量一樣更改其值或給它們賦新值。例如:它們賦新值。例如:int b=18;const int a=26;const int k=b+10; /錯誤,表達式中不允許出現(xiàn)變量錯誤,

16、表達式中不允許出現(xiàn)變量const int d=a+23; /正確,因為正確,因為a是常量是常量a=56; /錯誤,不能修改常量的值錯誤,不能修改常量的值二、二、C#中常量與變量中常量與變量(二)變量(二)變量 變量是程序運行過程中用于存放數(shù)據(jù)的存儲單元,變量是程序運行過程中用于存放數(shù)據(jù)的存儲單元,其值在程序的運行過程中可以改變。其值在程序的運行過程中可以改變。1.變量的定義(聲明)變量的定義(聲明) 在定義變量時,首先必須給每一個變量起名,稱為在定義變量時,首先必須給每一個變量起名,稱為變量名,變量名代表存儲地址。每個變量都對應一變量名,變量名代表存儲地址。每個變量都對應一個數(shù)據(jù)類型,它決定了

17、存儲在變量中數(shù)值的類型。個數(shù)據(jù)類型,它決定了存儲在變量中數(shù)值的類型。 變量定義格式:變量定義格式:類型標識符類型標識符 變量名變量名1,變量名,變量名2,例如:例如:二、二、C#中常量與變量中常量與變量(二)變量(二)變量 double fsum;string strName;char b;int x; 注意:注意:C#規(guī)定,任何變量在使用前,必須先定義規(guī)定,任何變量在使用前,必須先定義(聲明),(聲明), 后使用。后使用。二、二、C#中常量與變量中常量與變量(二)變量(二)變量 與與C C中的變量使用做比較:中的變量使用做比較:兩者都需要對變量先聲明兩者都需要對變量先聲明后使用,但后使用,但

18、C#允許在需要允許在需要的時候再聲明變量。的時候再聲明變量。二、二、C#中常量與變量中常量與變量(二)變量(二)變量 變量命名規(guī)則如下:變量名的第一個字符必須是變量命名規(guī)則如下:變量名的第一個字符必須是字母、下劃線字母、下劃線(_)或或,其后的字符可以是字母、下,其后的字符可以是字母、下劃線或數(shù)字,而且變量名不能是系統(tǒng)關(guān)鍵字。如劃線或數(shù)字,而且變量名不能是系統(tǒng)關(guān)鍵字。如myBigVar、VAR1、_test正確,正確,99BottlesOfBeer、namespace、Its-All-Over不正確。不正確。如何命名變量如何命名變量給變量分配有意義的名稱,盡量使用英文;給變量分配有意義的名稱,

19、盡量使用英文;使用大小寫混合方案。該方案要求變量名的首使用大小寫混合方案。該方案要求變量名的首字母小寫,變量名中每個單詞的首字母大寫。如字母小寫,變量名中每個單詞的首字母大寫。如newAccountBalance;切忌使用切忌使用C#的關(guān)鍵字;的關(guān)鍵字;雖然雖然C#區(qū)分大小寫,但是不要僅僅通過大小寫區(qū)分大小寫,但是不要僅僅通過大小寫的不同來區(qū)分不同的變量。如的不同來區(qū)分不同的變量。如Sum和和sum的同時的同時使用。使用。我英文不好,如何給變量起合適的英文名?我英文不好,如何給變量起合適的英文名? 請谷歌請谷歌(http:/)或愛詞霸或愛詞霸(http:/)來幫忙。來幫忙。132二、二、C#中

20、常量與變量中常量與變量(二)變量(二)變量 2.變量的賦值變量的賦值 變量的賦值,就是將數(shù)據(jù)保存到變量所代表的存儲變量的賦值,就是將數(shù)據(jù)保存到變量所代表的存儲單元中的過程。單元中的過程。 格式:格式:變量名變量名=表達式;表達式;意義:計算表達式的值,然后將這個值賦予變量。意義:計算表達式的值,然后將這個值賦予變量。例例: double nAverage; int nAgeSum; nAgeSum=210; /給給nAgeSum變量賦予數(shù)值變量賦予數(shù)值210二、二、C#中常量與變量中常量與變量(二)變量(二)變量 2.變量的賦值變量的賦值 在在C#程序中,可以給一個變量多次賦值。變量的當程序中

21、,可以給一個變量多次賦值。變量的當前值等于最近一次給變量所賦的值。如:前值等于最近一次給變量所賦的值。如: nAgeSum=68; /這時這時nAgeSum等于等于68 nAgeSum=36+24; /這時這時nAgeSum等于等于60 nAgeSum= nAgeSum+40; /這時這時nAgeSum等于等于100二、二、C#中常量與變量中常量與變量(二)變量(二)變量 2.變量的賦值變量的賦值 在對變量進行賦值時,表達式值的類型必須同變量在對變量進行賦值時,表達式值的類型必須同變量的類型相同。如:的類型相同。如: string sName; int nScore; sName=Jack;

22、/正確正確 sName=Tom; /正確正確 nScore=98; sName=5;/錯誤錯誤, 不能將整數(shù)賦予字符串對象不能將整數(shù)賦予字符串對象 nScore=Hello;/錯誤錯誤, 不能字符串賦予整型變量不能字符串賦予整型變量二、二、C#中常量與變量中常量與變量(二)變量(二)變量 3.變量的初始化變量的初始化 在定義(聲明)變量的同時對變量賦值,稱為變量在定義(聲明)變量的同時對變量賦值,稱為變量的初始化。的初始化。 對變量進行初始化的格式如下:對變量進行初始化的格式如下:類型標識符類型標識符 變量名變量名=表達式;表達式;例:例:string str=This is a book;聲

23、明聲明 指定類型指定類型 指定變量名指定變量名 以分號結(jié)束以分號結(jié)束int numberOfVisitors;初始化變量初始化變量 使用賦值運算符使用賦值運算符 (=) 指定值指定值 以分號結(jié)束以分號結(jié)束賦值賦值 附加后綴附加后綴decimal deposit = 100M;string bear;string bear = Grizzly;三、三、C#中的字符串中的字符串n示例示例n聲明字符串聲明字符串n使用轉(zhuǎn)義符使用轉(zhuǎn)義符 n使用使用verbatim字符串字符串 n國際國際 Unicode 標準標準 string s = Hello World; / Hello Worldstring s

24、 = HellonWorld; / 加了一行加了一行string s = Hellon; / Hellonstring s = Hello; / Hello字符字符 “A” 表示為表示為 “U+0041”四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符1.算數(shù)運算符算數(shù)運算符 C#的算數(shù)運算符同數(shù)學中的算數(shù)運算符很相似,主的算數(shù)運算符同數(shù)學中的算數(shù)運算符很相似,主要用于對操作數(shù)進行算數(shù)運算。要用于對操作數(shù)進行算數(shù)運算。C#算數(shù)運算符算數(shù)運算符運算符運算符意義意義運算對象數(shù)目運算對象數(shù)目運算對象類型運算對象類型運算結(jié)果類型運算結(jié)果類型實例實例+取正或加取正或加法法1或或2任何

25、數(shù)值類型任何數(shù)值類型數(shù)值類型數(shù)值類型+5、6+8+a取負或減取負或減法法1或或23、a-b*乘法乘法23*a*b、5*2/除法除法27/4、a/b%模(求整模(求整數(shù)除法的數(shù)除法的余數(shù),如余數(shù),如7除以除以3的余的余數(shù)為數(shù)為2,則,則7%3等于等于2)2a%(2+5)、a%b、3%2+自增運算自增運算1a+、+b-自減運算自減運算1a-、-b例:例: using System; class ModDemo static void Main( ) int iresult,irem; double dreult,drem; iresult=10/3; irem=10%3; dresult=10.0

26、/3.0; drem=10.0%3.0; Console.WriteLine(10/3=0t 10%3=1, iresult, irem); Console.WriteLine(10.0/3.0=0t10.0%3.0=1,dresult, drem); 程序的輸出如下所示:程序的輸出如下所示:10/3=3 10%3=110.0/3.0=3.33333333333333 10.0%3.0=1四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符1.算數(shù)運算符算數(shù)運算符 特殊的算術(shù)運算符:特殊的算術(shù)運算符:+(自增運算符自增運算符) 、-(自減速運算符自減速運算符) 作用:使變量的值

27、自動增加作用:使變量的值自動增加1或者減少或者減少1。例如,例如,x=x+1; 可以被寫成可以被寫成 +x; /前綴格式前綴格式或者或者 x+; /后綴格式后綴格式四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符1.算數(shù)運算符算數(shù)運算符 當一個自增或自減運算符在它的操作數(shù)前面時,當一個自增或自減運算符在它的操作數(shù)前面時,C#將在取得操作數(shù)的值前執(zhí)行自增或自減操作。如:將在取得操作數(shù)的值前執(zhí)行自增或自減操作。如:+ i就是先把就是先把i值加值加1再引用。再引用。 如果運算符在操作數(shù)的后面,如果運算符在操作數(shù)的后面,C#將先取得操作數(shù)的將先取得操作數(shù)的值,然后進行自增或自減運算

28、。如:值,然后進行自增或自減運算。如:i +則是先引用則是先引用再把再把i值加值加1。四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符1.算數(shù)運算符算數(shù)運算符 例:例:x=8;y=+x; 在這種情況下,在這種情況下,x和和y被賦值為被賦值為9。但是,如果代碼如。但是,如果代碼如下所寫:下所寫:x=8;y=x+;那么那么y被賦值為被賦值為8,x被賦值為被賦值為9 。例:例: using System; class Test static void Main( ) int x=5; int y=x-; Console.WriteLine(y=0, y); y=-x; Conso

29、le.WriteLine(y=0, y); 注意:注意:+、 -只能用變量,而不能用于常量或表只能用變量,而不能用于常量或表達式,例如達式,例如5+或或-(x+y)都是錯誤的都是錯誤的。程序的輸出程序的輸出結(jié)果:結(jié)果: y=5 y=3例:例:using System;class count static void Main() int Val1=2; int Val2=3; Console.WriteLine(Val1*Val2=0 , Val1*Val2); Console.WriteLine(Val1/Val2=0 , Val1/Val2); Console.WriteLine(Val1%

30、Val2=0 , Val1%Val2); Console.WriteLine( +Val1); Console.WriteLine(-Val2); Console.WriteLine(Val1+); Console.WriteLine(Val2-); 程序的輸出結(jié)果:程序的輸出結(jié)果:四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符2.賦值運算符賦值運算符 賦值運算符用于將一個數(shù)據(jù)賦予一個變量,賦值操賦值運算符用于將一個數(shù)據(jù)賦予一個變量,賦值操作符的左操作數(shù)必須是一個變量,賦值結(jié)果是將一作符的左操作數(shù)必須是一個變量,賦值結(jié)果是將一個新的數(shù)值存放在變量所指示的內(nèi)存空間中。個新的

31、數(shù)值存放在變量所指示的內(nèi)存空間中。 例如例如: int x=8; x=x+x; x=16-x;C#賦值運算符賦值運算符類類 型型符符 號號說說 明明簡單賦值運算符簡單賦值運算符=x=1復合賦值運算符復合賦值運算符+=x+=1等價于等價于x=x+1-=x-=1等價于等價于x=x-1*=1x*=1等價于等價于x=x*1/=x/=1等價于等價于x=x/1%=x%=1等價于等價于x=x%1 可以把表達式的值通過復合賦值運算符賦予變可以把表達式的值通過復合賦值運算符賦予變量,這時復合賦值運算右邊的表達式是作為一個量,這時復合賦值運算右邊的表達式是作為一個整體參加運算的。整體參加運算的。例例: int a

32、=8,b=3; a%=b*2-5; /*相當于相當于a%=(b*2-5),它與,它與 a=a%(b*2-5)是等價的。是等價的。*/ 對變量可以進行連續(xù)賦值。對變量可以進行連續(xù)賦值。例例: int z=3; x=y=z; /等價于等價于x=(y=z)。四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符3.關(guān)系運算符關(guān)系運算符 關(guān)系運算符用于比較兩個值的大小,關(guān)系運算的結(jié)關(guān)系運算符用于比較兩個值的大小,關(guān)系運算的結(jié)果不是果不是true就是就是false。例:例: bool a=a5-2 / a的值為的值為falseC#關(guān)系運算符關(guān)系運算符符號符號意義意義運算結(jié)果類型運算結(jié)果類型

33、運算對象個數(shù)運算對象個數(shù)實例實例大于大于布爾型。如果布爾型。如果條件成立,結(jié)條件成立,結(jié)果為果為true,否,否則結(jié)果為則結(jié)果為false 236,x2,ba小于小于3.143,x=大于等于大于等于3.26=b=小于等于小于等于PIj)&邏輯與邏輯與2xy&x0|邏輯或邏輯或2xy|x0 當需要多個判定條件時,可以很方便地使用邏輯當需要多個判定條件時,可以很方便地使用邏輯運算符將關(guān)系表達式連接起來。運算符將關(guān)系表達式連接起來。例例:xy&x0 如果表達式中同時存在著多個邏輯運算符,邏輯如果表達式中同時存在著多個邏輯運算符,邏輯非的優(yōu)先級最高,邏輯與的優(yōu)先級高于邏輯或。非

34、的優(yōu)先級最高,邏輯與的優(yōu)先級高于邏輯或。例例: 32|!(5-36)&ab四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符5.位運算符位運算符 (1) “”運算符運算符 把二進制數(shù)的把二進制數(shù)的0轉(zhuǎn)換為轉(zhuǎn)換為1,1轉(zhuǎn)換為轉(zhuǎn)換為0。例:例:6的二進制表示:的二進制表示:00000110 6的結(jié)果:的結(jié)果: 11111001 (2) “&”運算符運算符 0&0=0 0&1=0 1&0=0 1&1=1例:例:7的二進制表示:的二進制表示: 00000111 11的二進制表示:的二進制表示:00001011 “&”運算的結(jié)果是

35、:運算的結(jié)果是: 00000011 即:即:7&11=3四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符5.位運算符位運算符 (3) “|”運算符運算符 0| 0=0 0|1=1 1|0=1 1|1=1例:例:7的二進制表示:的二進制表示: 00000111 11的二進制表示:的二進制表示:00001011 “|”運算的結(jié)果是:運算的結(jié)果是: 00001111 即:即:7&11=15 (4) “”運算符運算符 00=0 01=1 10=1 11=0例:例:7的二進制表示:的二進制表示: 00000111 11的二進制表示:的二進制表示:00001011 “”

36、運算的結(jié)果是:運算的結(jié)果是: 00001100 即:即:711=12四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符5.位運算符位運算符 (5) “”運算符運算符二進制位全部按位左移,高位被丟棄,低位順序補二進制位全部按位左移,高位被丟棄,低位順序補0。例:例:7的二進制表示:的二進制表示: 00000111 7”運算符運算符 二進制位全部按位右移。二進制位全部按位右移。例:例:7的二進制表示:的二進制表示: 00000111 71結(jié)果是結(jié)果是00000011(十進制是(十進制是3)四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符6.條件運算符條件運算符

37、 格式:格式:操作數(shù)操作數(shù)1?操作數(shù)操作數(shù)2:操作數(shù)操作數(shù)3 含義:進行條件運算時,首先判斷問號前面的布爾值含義:進行條件運算時,首先判斷問號前面的布爾值是是true還是還是false,如果是,如果是true,則值等于操作數(shù),則值等于操作數(shù)2的值;的值;如果為如果為false,則值等于操作數(shù),則值等于操作數(shù)3的值。的值。例如:條件表達式例如:條件表達式“68?15+a:39”,由于,由于68的值為的值為false,所以整個表達式的值是,所以整個表達式的值是39。 四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符7.其它運算符其它運算符 (1)字符串連接符)字符串連接符(+)

38、 將兩個字符串連接在一起,形成新的字符串。將兩個字符串連接在一起,形成新的字符串。比如:比如: abc+efg /結(jié)果是結(jié)果是abcefg 36812+3.14 / 結(jié)果是結(jié)果是368123.14四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符7.其它運算符其它運算符 (2)is運算符運算符 is運算符用于檢查表達式是否為指定的類型,如果運算符用于檢查表達式是否為指定的類型,如果是,結(jié)果為是,結(jié)果為true,否則結(jié)果為,否則結(jié)果為false。例如:例如: int k=2; bool isTest=k is int; /isTest=true四、四、C#中運算符與表達式中運算

39、符與表達式(一)運算符(一)運算符7.其它運算符其它運算符 (3)sizeof運算符運算符 sizeof運算符用于獲得值類型數(shù)據(jù)在內(nèi)存占用的字運算符用于獲得值類型數(shù)據(jù)在內(nèi)存占用的字節(jié)數(shù)。節(jié)數(shù)。例如:例如:int a=sizeof(double); /a=8四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符運算符優(yōu)先級:運算符優(yōu)先級:四、四、C#中運算符與表達式中運算符與表達式(一)運算符(一)運算符運算符優(yōu)先級:運算符優(yōu)先級: (1)算數(shù)運算符)算數(shù)運算符邏輯運算符邏輯運算符關(guān)系運算符關(guān)系運算符賦值賦值運算符運算符(2)自增運算符和自減運算符的優(yōu)先級別高于其)自增運算符和自減

40、運算符的優(yōu)先級別高于其它的算術(shù)運算符。例如表達式它的算術(shù)運算符。例如表達式8+x+,應看作,應看作8+(x+)。如果。如果x的原值是的原值是6,則表達式,則表達式8+x+的值的值是是14,運算結(jié)束后,運算結(jié)束后x的值是的值是7。(2)邏輯運算符的運算順序為)邏輯運算符的運算順序為“邏輯非邏輯非”最高,最高,其次是其次是“邏輯與邏輯與”,最后為,最后為“邏輯或邏輯或”。例如:。例如:!(36)|(5=9)|(7=1) /結(jié)果為結(jié)果為true四、四、C#中運算符與表達式中運算符與表達式(二)表達式(二)表達式表達式是運算符、常量和變量等組成的符號序列,表達式是運算符、常量和變量等組成的符號序列,包

41、括數(shù)值表達式和邏輯表達式、條件表達式等非數(shù)包括數(shù)值表達式和邏輯表達式、條件表達式等非數(shù)值表達式。值表達式。1.數(shù)值表達式數(shù)值表達式 (1)算術(shù)表達式)算術(shù)表達式 算術(shù)表達式是用算術(shù)運算符將運算對象連接起來算術(shù)表達式是用算術(shù)運算符將運算對象連接起來的符合語法規(guī)則的式子。如:的符合語法規(guī)則的式子。如: 3+i,3.1415*2*r,m%n等。等。 四、四、C#中運算符與表達式中運算符與表達式(二)表達式(二)表達式1.數(shù)值表達式數(shù)值表達式 (2)賦值表達式)賦值表達式 由賦值運算符將變量和表達式連接起來的式子稱由賦值運算符將變量和表達式連接起來的式子稱為賦值表達式。例如:為賦值表達式。例如:y=x=8*8+3這個賦值表達式這個賦值表達式的值是的值是67。由于賦值運算符的結(jié)合性是自右至左。由于賦值運算符的結(jié)合性是自右至左的,所以的,所以y=x=8*8+3和和 y=(x=8*8+3)是等價

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論