為了了解 Ada 程序的大致結(jié)構(gòu),舉一個(gè)例子是難免的。大部份書籍一般都是用‖hello world‖程序來(lái)開始,我們下面就見識(shí)一個(gè)在終端屏幕上輸出 ―Hello World!‖的簡(jiǎn)例。
000 -- filename:hello.adb;
001 with Ada.Text_IO;
002 procedure Hello is
003 begin
004 Ada.Text_IO.Put ("Hello World!");
005 Ada.Text_IO.New_Line;
006 end Hello;
先介紹一下在本教材中代碼的一些問(wèn)題:每行代碼前的 000,001 等數(shù)字表示該代碼是第幾行,只為了講解方便,在實(shí)際源代碼中是不存在的;with,procedure 等保留字(reserved word)都用粗體表示,以示區(qū)別;有些字是用斜體表示,表示該字是用其它有效字符替換。procedure procedure_name is
statements1;
begin
statements2;
end procedure_name;
statement1 可以是變量、常量、函數(shù)、過(guò)程等的聲明;statements2 是過(guò)程 procedure_name 要執(zhí)行的語(yǔ)句,對(duì)象的聲明不能在這部份;end 后的 procedure_name 不是必需的,但為了程序的可讀性,應(yīng)加上。這樣 Ada 編譯器就能在程序包 Ada.Text_IO 中自動(dòng)搜尋 Put,New_Line,而無(wú)需用戶指定它們所在的準(zhǔn)確位置。000 — filename:hello.adb;
001 with Ada.Text_IO; use Ada.Text_IO; 002 procedure Hello is
003 begin
004 Put (―Hello World!‖); 005 New_Line;
006 end Hello;
000 -- filename:hello.adb
001 with Ada.Text_IO; use Ada.Text_IO;
002 procedure Hello is
003 Str:String := "Hello World!";
004 begin
005 Put(Str);
006 New_Line;
007 end Hello;
在 is 和 begin 之間,聲明了一個(gè)字符串變量 Str,它的初始值為‖Hello World‖。String 是預(yù)定義的字符串類型。上述的聲明方式和 Pascal 差不多。 現(xiàn)在我們對(duì) Ada 程序長(zhǎng)的什么樣已有了基本的認(rèn)識(shí),下面需要了解幾個(gè)術(shù)語(yǔ)。一個(gè) Ada 程序是由一個(gè)或多個(gè)程序單元組成(program unit)。一個(gè)程序單元可以為:“Hello, world"程序是指在計(jì)算機(jī)屏幕上輸出“Hello,world”這行字符串的計(jì)算機(jī)程序,“hello, world”的中文意思是“世界,你好”。這個(gè)例程在Brian Kernighan 和Dennis M. Ritchie合著的《The C Programme Language》使用而廣泛流行。因?yàn)樗暮?jiǎn)潔,實(shí)用,并包含了一個(gè)該版本的C程序首次出現(xiàn)在1974年Brian Kernighan所撰寫的《Programming in C: A Tutorial》
1 printf("hello, world\n");
實(shí)際上將“Hello”和“World”一起使用的程序最早出現(xiàn)于1972年,出現(xiàn)在貝爾實(shí)驗(yàn)室成員Brian Kernighan撰寫的內(nèi)部技術(shù)文件《Introduction to the Language B》之中:
1 main(){
2 extern a,b,c;
3 putchar(a);putchar(b);putchar(c);putchar('!*n');
4 }
5 a'hell';
6 b'o,w';
7 c'orld';
最初的"hello, world"打印內(nèi)容有個(gè)標(biāo)準(zhǔn),即全小寫,有逗號(hào),逗號(hào)后空一格,且無(wú)感嘆號(hào)。不過(guò)沿用至今,完全遵循傳統(tǒng)標(biāo)準(zhǔn)形式的反而很少出現(xiàn)。
更多建議: