“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 dsw^$R}
s7yKxg+`{
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 #"6l+}
Ru`afjc
以下是用不同语言写成的Hello World程序的几个例子: ?H8w;Csq-
Ada je$H}D
with Ada.Text_Io; use Ada.Text_Io; LNJKf6:
procedure Hello is gtH^'vFZ
begin Ch?yk^cY
Put_Line ("Hello, world!"); WrwbLl E
end Hello; kq=Htbv7
L$c 1<7LU
4}D&=0IZ
汇编语言 I`B ZZ-
O=U,x-Wl
x86 CPU,DOS,TASM *H/)S 5
MODEL SMALL <P1nfH
IDEAL W\B@0Is o
STACK 100H NUiv"tAY
$o+@}B0)
DATASEG G?F!Z"S
HW DB 'Hello, world!$' "8a
V~]~Dj
1y[~xxgE
CODESEG }6LcimQyK
MOV AX, @data Yw=@*CK'
MOV DS, AX ~Fvz&dO
MOV DX, OFFSET HW 6$PQ$
MOV AH, 09H fR;[??NH
INT 21H A\ mSS
MOV AX, 4C00H @&HLm^j2O
INT 21H I@N/Y{y#
END d>J
+7ex+
71(ppsHk
g[b;1$
x86 CPU,GNU/Linux,NASM -;Mh|!yg
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). 3J4OkwqD
;Enter this into "hello.asm" then type: hT=E~|O
;"nasm -f elf hello.asm" ?jO<<@*2S
;"ld hello.o -o hello" %A
`9[icy
;"./hello" $!'Vn)Z7
Tw/7P~*
section .data ;data section declaration C.=%8|Zy
msg db 'Hello World!',0AH p/ZgzHyF
len equ $-msg ;string length siuDg,uqK5
)@B!
section .text ;code section declaration vG}\Amx+
global _start ;entry point (start of execution) y\6C9%.
_start: mov edx,len ;string length ~EDO< O>3
mov ecx,msg ;string start _NuHz
mov ebx,1 ;file handle: stdout Nsy>qa7
mov eax,4 ;sys_write bneP>Bd
int 80h ;kernel system call $\oe}`#o
IH=%%AS
mov ebx,0 ;return value K#v @bu:'
mov eax,1 ;sys_exit H-&
ktQWK3
int 80h ;kernel system call nm|"9|/
v~^*L iP+
A9HgABhax
x86 CPU,Windows,MASM32 w&^Dbme
.386 #B$_ily)
.model flat,stdcall $KRpu<5i}
option casemap:none =6'D/| 3
;Include 文件定义 g>?,,y6/w
include windows.inc gU@.IOg
include user32.inc @`sZV8
includelib user32.lib S`spUq1o
include kernel32.inc 7BgA+Fz
includelib kernel32.lib }N3Ur~X\
;数据段 ,-1taS
.data +P*,i$MV
szCaption db 'A MessageBox!',0 a^L'- (
szText db 'Hello,world!',0 6:bvq?5a5
;代码段 pKL^<'w0
.code 44h z,
start: XR)I,@i`'
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK 4y9n,~Qgw
invoke ExitProcess,NULL J{#C<C
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> :e4[isI
end start 4d]T`
pc_$,RkN
/#4BUfY
f
AWK / ='/R7~
BEGIN { print "Hello, world!" } ~F]If \b
w W;!L=j
KA{Y*m^7
BASIC !7kca#,X
传统版BASIC(例如GWBASIC): T$xY]hqr
F;dUqXUu
10 PRINT "Hello, world!" gcs8Gl2
20 END Y'i_EX|
A?OaP
或在提示符输入: 8:0.Pi(ln@
#%tN2cFDN
?"Hello, world!":END >/F,Z%!&q
O!\\m0\e
现代版BASIC(例如Quick BASIC): A&QO]8
,U/ZG|=v
Print "Hello, world!" DJhCe==$v
T#sKld
以下的语句在Quick BASIC中同样有效:
liq9P,(
H@,(
? "Hello,world!" $nbZ+~49
My!<_Hp-W
7[W!Nx
BCPL PYz^9Ud 6g
GET "LIBHDR" s|Acv4| V
sjV>&eb
LET START () BE $n?@zd@53
$( OL|UOG
WRITES ("Hello, world!*N") _(s|@UT#
$) &iD