“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 !3~VoNh,
-[-LR }u
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 *"rgK|CM$
OkSJob
以下是用不同语言写成的Hello World程序的几个例子: Z2z"K<Z W
Ada 7%rSo^t,L
with Ada.Text_Io; use Ada.Text_Io; a'R)3:S
procedure Hello is Q_}i8p'
begin Vp3
9`m-W
Put_Line ("Hello, world!"); eF8!}|*N
end Hello; )9_jr(s
&cj/8A5-
%9.]
bd|%F
汇编语言 KX*Hev'K
a
}6Fj&hj
x86 CPU,DOS,TASM \EH:FM}l,
MODEL SMALL u3{gX{so
IDEAL Y-(),k_Q:
STACK 100H EZvB#cuL-
X]'Hz@$N
DATASEG BKoc;20;
HW DB 'Hello, world!$' 1FfdW>ay*
$V"NB`T
CODESEG _!FM^N}|
MOV AX, @data TmS;ybsG
MOV DS, AX aQax85
MOV DX, OFFSET HW _Q<wb8+/
MOV AH, 09H x<)%Gs}tb
INT 21H S312h'K
j
MOV AX, 4C00H ,#^<0u+zrF
INT 21H a/@<KnT
END Sz0M8fYT]
[BS3y`c
y^; =+Z
x86 CPU,GNU/Linux,NASM (]'Q!MjGa
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). ]+\@_1<ZI
;Enter this into "hello.asm" then type: /BWJ)6#H
;"nasm -f elf hello.asm" MWSx8R)PN
;"ld hello.o -o hello" ?f+w:FO
;"./hello" Peha{]U
U_a)g
X
section .data ;data section declaration 8kZ~
msg db 'Hello World!',0AH fn|l9k~ <O
len equ $-msg ;string length #plwK-tPR
4-q7o]%5<
section .text ;code section declaration Uo{h.
.7?
global _start ;entry point (start of execution) V43pZ]YZ>
_start: mov edx,len ;string length H)g:<
mov ecx,msg ;string start #8;|_RU
mov ebx,1 ;file handle: stdout {8M=[4_`l
mov eax,4 ;sys_write s{q)m@
int 80h ;kernel system call { .KCK_ d
*[*E|by
mov ebx,0 ;return value p},6W,f
mov eax,1 ;sys_exit iKB8V<[\T
int 80h ;kernel system call yhr\eiJ@6
7 q<UJIf
)>LQ{X.
x86 CPU,Windows,MASM32 t1HUp dHY
.386 `n8) o %E9
.model flat,stdcall 8$avPD3jx
option casemap:none <i'4EnO
;Include 文件定义 bAeN>~WvY
include windows.inc *(ex:1sW
include user32.inc qE6:`f
includelib user32.lib ie$QKoE
include kernel32.inc :W5*fE(i
includelib kernel32.lib kr7f<;rmJ
;数据段 =
PldXw0
.data AqVTHyCu
szCaption db 'A MessageBox!',0 ogv86d
szText db 'Hello,world!',0 J'.:l} g!1
;代码段 ]s jFj
.code
/U<-N'|
start: uF>I0J#z?
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK ]I"oS?
invoke ExitProcess,NULL p#.B Fy
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> XgKtg-,
end start 9bjjo;A
@f0~a
CAY^ `K!
AWK daBu<0\
BEGIN { print "Hello, world!" } Kzxzz6R?
/ /qTMxn
Vn1k C
BASIC j' -akXo<
传统版BASIC(例如GWBASIC): JnCY O^Qj
.LafP}%
10 PRINT "Hello, world!" f+0dwlIlC$
20 END ?PWD[mQE\
Ze~ a+%Sb
或在提示符输入: 9QJ=?bIC#
b@N|sXt&C
?"Hello, world!":END K&"Yv~h
`Oys&]vb
现代版BASIC(例如Quick BASIC): zsI0Q47\
T4T_32`XR
Print "Hello, world!" '9GHmtdO,
kgK7 T
以下的语句在Quick BASIC中同样有效: AW6]S*rh
v:CYf_
? "Hello,world!" YP~d1BWvf
cl2@p@av
6+IOJtj
BCPL O:q}<ljp
GET "LIBHDR" 1oo'\
p<'mc|hGq
LET START () BE Z!6\KV]
$( }"fP,:n"KN
WRITES ("Hello, world!*N")
$c0SWz
$) mT@UQCG
@Th.=
'2z o
Befunge dk({J
"!dlrow olleH">v ^`YSl*:
, r0QjCFSF=
^_@ FqsG#6|x
3z:
rUhA
qYIBP?`g
Brainfuck Pf)<