freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ada參考手冊-在線瀏覽

2025-02-18 15:22本頁面
  

【正文】 基于 ISO10646)字符,在非標準模式下也可用本地字符集,具體情況取決于當前的系統(tǒng)。 39。 = _ | { } [ ])。 其它控制符則是除了格式控制符以外的控制符。 Ada 是大小寫忽略的 (除了字符和字符串中的實際內(nèi)容,如字符 39。和39。不相同,但標識符 z 和 Z 相同),但為了可讀性,一般來說變量名或 函數(shù)名首字母都會大寫,其余小寫,縮近格式也需要引起注意。 為了兼容性, Ada95 要求編譯器最少支持一行字符串和一個詞法元素的長度為 200 個字符(不包括行尾符)。 標識符 (Identifier) Ada 中不管是變量、函數(shù)還是其它對象都需要一個名稱,這就叫做標識符。 Ada 中的標識符有以下一些注意點: 1. 標識符一定要 是字母開頭,接下去可以是數(shù)字和下劃線,結(jié)尾不能為下劃線。 2. 兩個連續(xù)的下劃線不能在一起,因為有些打印機可能會將兩個下劃線當作一個處理。 4. 不能將保留字作為標識符。 5. .如上節(jié)所提及的, 標識符是不分大小寫的,但為 了可讀性,請注意你對標識符的命名。 Ada 95 中的保留字如下: abort abs abstract accept access aliased all and array at begin body case constant declare delay delta digits do else elsif end entry exception exit for function generic goto if in is limited loop mod new not null of or others out package pragma private procedure protected raise range record rem renames requeue return reverse select separate subtype tagged task terminate then type until use when while with xor 在以后的內(nèi)容中,我們會逐個解釋它們的含義及作用。 分隔符 (Separator and Delimiter) Ada 程序中,各元素之間需要空格符、格式控制符或 EOF 隔開。 39。當分隔符作為注釋、字符串、字符、數(shù)值的一部分時,就不再是分隔符了。 Ada 和 Pascal 相同,將數(shù)字分為實數(shù)型 (real literal)和整數(shù)型 (integer literal)兩大類。如 , 是實數(shù)型,而 882,5441,1 是整數(shù)型。如 56886515645125615,可寫為 56_886_515_645_125_615 或5_6886_5156_4512_5615,下劃線并不改變數(shù)字的值。 字 母 E 作為數(shù)字的指數(shù),同時適用于實型和整型。E 大小寫皆可以 。 21001_1001,表示 2進制數(shù) 1001 1001,中間的下劃線可取消,其 10進值為 153。 a39。K39。 39。表示一個單引號 ,39。表示一個空格。如 What I said.就是一個字符串。如果字符串中有雙引號, 一個雙引號要用兩個 來表示 。至于其它字符,如 $ %之類可以 直接出現(xiàn)在兩個雙引號間。 注釋 (Comment) 注釋由兩個連字號 (hyphen)()開始,直到行尾。例如: the ment。 processing of Line is plete. Pragmas Pragma 是編譯指示 (pile directive),給編譯器指令如優(yōu)化程序,列表控制等。 Pragma 是些預先定義的指令,如 pragma Page,pragma List(OFF) ,編譯器也可擴展 RM 95 中 pragma。更多內(nèi)容我們會在以后接觸。 pragma Page。 pragma List 將 identifier On 或 Off 作為它的參數(shù)。 pragma Page 指定在 pragma 后的程序 正文在新頁開始(如果編譯器正在列表) pragma Optimize 有 Time, Space 或 Off 3 個參數(shù) ,它的影響區(qū)域直到 pragama 所在編譯單元的底部。 下面是簡單的例子: pragma List(Off); --關(guān)閉列表生成 pragma Optimize(Off); --關(guān)閉可選的優(yōu)化 不過,上述3個 pragma 是影響編譯過程用的,基本上用戶也用不著,以后涉及的 inline, Pure 等 pragma 使用頻率倒挺高。一個數(shù)據(jù)類型定義了變量可接受的值以及所能執(zhí)行的操作。 Ada 中的數(shù)據(jù)類型,包括預定義類型,都是按照一定的格式在程序包中創(chuàng)建的。 創(chuàng)建新的數(shù)據(jù)類型 創(chuàng)建一個新類型,需要使用保留字 type, is,range。 type_name 為新類型的名稱,是一個合法標識符; range_specifcation 表示 該類型的取值范圍,表示方式為 First .. Last,如 1..100 , 9 ..10 。 這樣就有了一個數(shù)據(jù)類型 Age, 取值范圍 1 .. 100。 如 type months is range 12 .. 0, 實際上 months 是一個空集 (null),而不是所期望的 0..12。 use 。 use 。 005 type Wage is range 1 .. 100。 007 Bill_Wage: Wage := 56。 010 Put (Bill_Wage * Bill_Age)。 012 end putwage。兩個軟件包分別處理字符類輸出和整數(shù) 輸出。 [004][005]: 定義新的數(shù)據(jù)類型 Age,Wage,它們?nèi)≈捣秶紴? 1..100。 [009][011]:依次輸出字符串 Total wage is,整數(shù) Bill_Wage 和 Bill_Age 的乘積,和一個新行符 (EOL)。首先, 沒 有定義類型Age 和 wage 的 * 操作 ,因此 Bill_Age 和 Bill_Wage 無法相乘;第二,兩者數(shù)據(jù)類型不同,即使定義了 *操作,還是無法相乘。但如果改成 Put (Integer(Bill_wage * 56)),看上去也行的通,但實際結(jié)果卻不是 3136。(Integer 是預先定義的一個整型, Integer(Bill_Wage)是將 Bill_Wage 強制轉(zhuǎn)換為整型 )。 因此,往往是派生現(xiàn)有的類型 ,其格式為 : type type_name is new old_type {range range_specification}。如將上例改為: 000 filename: 001 with 。 002 with 。 003 procedure putwage is 004 type Age is new Integer range 1 .. 100。 006 Bill_Age : Age := 56。 008 begin 009 Put (Total wage is)。 011 New_Line。 上例還是不能編譯通過, 因為派生類型只繼承母類型的屬性,如運算符,不同的派生類型即使母類型相同也還是屬于不相同的類型 。但是派生類型使用還是麻煩了一點,不同類型之間即使都是數(shù)字類型也無法混合使用 ,只是自己不用創(chuàng)建運算符省力了點。這時子類型(subtype)就相當有用,子類型的定義格式為 : subtype type_name is old_type {range range_specification}。再將先前的例子改一下: 000 001 with 。 002 with 。 003 procedure putwage is 004 subtype Age is Integer range 1 .. 100。 006 Bill_Age : Age := 56。 008 begin 009 Put (Total wage is)。 011 New_Line。 編譯通過,輸出值為 3136。 在前面的例子中的,我們都提到了取值范圍,這也是 Ada 的一項 “ 特色 ” : Ada 不同于 C 和 Pascal 賦給一個變量超過其取值范圍的值或進行不合法運算,會輸出錯誤的值而不報錯,與此相反, Ada 程序在編譯時會提示錯誤,或在運行 Ada 程序時產(chǎn)生 Constraint_Error 異常(異常和 C 中的信號Signal 差不多,詳見 第 9章 異常 (Exception)),掛起程序,來減少程序的調(diào)試時間。在程序包 Standard 中預定義了一些簡單數(shù)據(jù)類型,例如 Integer,Long_Integer, Float, Long_Float, Boolean, Character, Wide_Character,以及這些數(shù)據(jù)類型的運算符。 由于 Ada 中布爾型和字符型都是由枚舉類型實現(xiàn)的,因此也可將這兩種類型認為是枚舉類型。預定義的整型有 Integer,Short_Integer, Short_Short_Integer, Long_Integer, Long_Long_Integer還有 Integer 的子類型 Positive , Natural。只規(guī)定了沒多大意思的最小取值范圍,如要求一個 Integer 至少要為 16 位數(shù),最小取值范圍為 32767..32767( 2 ** 15+1 .. 2**151)。在 RM95 里,也就 是編譯器實現(xiàn)里,以上類型聲明格式為 : type Integer is range implementation_defined(Long_Integer它們也一樣) subtype Positive is Integer range 1..Integer39。 subtype Natural is Integer range 0..Integer39。 (Integer39。First。Last。如果將 Integer 整型與 C 中的 signed int 相類比,它們的取值范圍可包括負數(shù);那么 Modular 類型就是 unsigned int,不能包含負數(shù)。 其中的 range_specification 應為一個正數(shù) 。 如下面類型 Byte: type Byte is mod 256。 Modular 類型在程序包 System 也有常量限制, range_specification 如是 2 的冪則不能大于 Max_Binary_Modulus ,如不是冪的形式則不能大于Max_Nonbinary_Modulus。Size。Last。 RM95 關(guān)于這點的解釋是 ,2進制兼容機上, Max_Nonbinary_Modulus 的值大于 Max_int 很難實現(xiàn)。實型分為兩大類 : 浮點類型(floating point) 和定點類型 (fixed point)。定點類型則有一個界定誤差,該誤差的絕對值稱為 delta。 浮點類型 (Floating Type) 浮點類型預 定義的有 Float, Short_Float, Short_Short_Float,Long_Float, Long_Long_Float 等 ,它們的聲明格式入下 : type type_name is digits number [range range_specification] 。下面是幾個例子: type Real is digits 8。 subtype Probability is Real range .. 。 Mass 是表示精度為 7位的符點型,取值范圍為 00.. 。 程序包 System 定義了精度的兩個上限: Max_Base_Digits 和 Max_Digits ,一般來說應為 Max_Base_Digits : constant := Long_Long_Float39。(即Long_Long_Float 的精度) Max_Digits : constant := Long_Long_Float39。 當 range_specification 指定時,所定義類型的精度不能大于 Max_Base_Digits。 定點類型 定點類型主要是多了一個 delta,它表示該浮點類型的絕對誤差。 定點型的聲明格式有兩種: 普通定點型: type type_name is delta delta_number_range range_specification; 十進制定點型: type type_name is delta delta_number digits digit_number [range range_specification]; 除 delta delta_number 外,各部份意義與浮點型相同。定點數(shù)由一個數(shù)字 的整數(shù)倍組成,這個數(shù)字就稱為該定點
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1