“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 Bv*VNfUm
7n;a_Z0s$
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 qM^y@B2MO
?"}U?m=
以下是用不同语言写成的Hello World程序的几个例子:
#^-'q`)
Ada {JKG-0)z?
with Ada.Text_Io; use Ada.Text_Io; fR2,NKM@
procedure Hello is 1T,Bd!g
begin l<"B[
Put_Line ("Hello, world!"); >A6PH*x
end Hello; Cf<TDjU`|
% 1<@p%y/
kAxJ#RG
汇编语言 F[v^43-^_
fl_a@QdB#
x86 CPU,DOS,TASM K TE*Du
MODEL SMALL (YmIui>
IDEAL @ <'a0)n>
STACK 100H * _,yK-et
LzB*d
DATASEG {+9t!'
HW DB 'Hello, world!$' %a-fxV[
')fIa2dO/
CODESEG
pG /g
MOV AX, @data hH?ke(&=f
MOV DS, AX ,zBc-Cm
MOV DX, OFFSET HW ZU9Rvtb KB
MOV AH, 09H Y$3liDeL=
INT 21H L#_QrR6Sny
MOV AX, 4C00H M|$A)D1
INT 21H 7 :u+-U
END MF::At[4
MB.LHIo
U4e9[=q`'
x86 CPU,GNU/Linux,NASM f5nAD
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). # kmI#W"^
;Enter this into "hello.asm" then type: `zcpaE.@
;"nasm -f elf hello.asm" (L<G=XC
;"ld hello.o -o hello" -r{]9v2j
;"./hello" 0@#d($'1?Z
2|+4xqNJm
section .data ;data section declaration _ 1\H{x
msg db 'Hello World!',0AH ".fnx8v,
len equ $-msg ;string length ??P>HVx
-n$hm+S
section .text ;code section declaration maQOU1
global _start ;entry point (start of execution) ^`(3X
_start: mov edx,len ;string length !AL?bW
mov ecx,msg ;string start ~eGtoEY
mov ebx,1 ;file handle: stdout sJLJVSv8c
mov eax,4 ;sys_write LoS%FI
int 80h ;kernel system call gf|&u4D
P-\T BS_O
mov ebx,0 ;return value ;cWFh4_
mov eax,1 ;sys_exit \,b_8^
int 80h ;kernel system call }j#c#''i
wQ9fPOm
s.@DI|Gnf
x86 CPU,Windows,MASM32 n11eJEtm
.386 }nNCgH
.model flat,stdcall %X Wb|-=
option casemap:none J,wpY$93
;Include 文件定义 zDA;FKZPp
include windows.inc xV5eKV
include user32.inc #c2JWDH1F
includelib user32.lib pS)/yMlVj
include kernel32.inc qznd'^[
includelib kernel32.lib N7qSbiRf<
;数据段 rIF6^?
.data E.rfS$<1
szCaption db 'A MessageBox!',0 9m_Hm')VG
szText db 'Hello,world!',0 p%y|w
;代码段 B976{;QvXV
.code Z6r_T
start: yi3Cd@t({{
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK u+vUv~4A6
invoke ExitProcess,NULL "zBYhZr
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yf,U2A\
end start |<1
9mH/xP:y
H!dg(d^
AWK ,Tc598D
BEGIN { print "Hello, world!" } th(<S
41jx+
0\Z
'}NQ`\k
BASIC =;^#5dpt$
传统版BASIC(例如GWBASIC): 8!{F6DG
re\&'%~K
10 PRINT "Hello, world!" elf2!
20 END oefhJM!y
-5t.1/
或在提示符输入: n[pW^&7x
!r*Ogv[
?"Hello, world!":END U#W9]il$
V/}g'_E
现代版BASIC(例如Quick BASIC): N
v,Yikf
h"{Z%XPX#
Print "Hello, world!" D|p`~(
?oX.$E?(
以下的语句在Quick BASIC中同样有效: ~4fjFo&