“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 s{c|J#s
Rc93Fb-Zp
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 a$iDn_{
=^zGn+@z
以下是用不同语言写成的Hello World程序的几个例子: 4K~>
Ada E>|fbaN-%
with Ada.Text_Io; use Ada.Text_Io; a&kt!%p:
procedure Hello is f6(1jx"
begin QXa2qxTc
Put_Line ("Hello, world!"); $WRRCB/A6
end Hello; %"#ydOy
P=P']\`p+
G `eU
汇编语言 J`; 9Z
%<|<%~l&
x86 CPU,DOS,TASM klc$n07
MODEL SMALL J}bLp
Z
IDEAL '"hSX=
STACK 100H `Um-Y'KE
L6jwJwD
DATASEG I!lR 7%
HW DB 'Hello, world!$' EIpz-"S
m.gv?
CODESEG SpIiMu(
MOV AX, @data [T3%Xt'4
MOV DS, AX s`yg?CR`,
MOV DX, OFFSET HW 4qd(a)NdY
MOV AH, 09H szqR1A
INT 21H cUw$F{|W
MOV AX, 4C00H ^%\MOjSN
INT 21H p&2d&;Qo0
END 7pyaHe
3<1x>e2nT
05jjLM'e
x86 CPU,GNU/Linux,NASM #g2&x sU
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). ExFz@6@
;Enter this into "hello.asm" then type: F{
C2%
s#
;"nasm -f elf hello.asm" xNRMI!yv
;"ld hello.o -o hello" 0hXx31JN N
;"./hello" \nTV;@F
"F
Etl(
section .data ;data section declaration Zv8GrkK
msg db 'Hello World!',0AH r&F
6ZCw
len equ $-msg ;string length <<Z, 1{3F
d+
[2Sm(7
section .text ;code section declaration 5Z:qU{[
global _start ;entry point (start of execution) N>)Db
_start: mov edx,len ;string length ?jvuTS 2
mov ecx,msg ;string start )tS;gn
mov ebx,1 ;file handle: stdout +A$>F@u
mov eax,4 ;sys_write h$6~3^g:P
int 80h ;kernel system call (Y^tky$9
p3T:Y_
mov ebx,0 ;return value tCwB7c-
mov eax,1 ;sys_exit 'C>sYSL
int 80h ;kernel system call Nz;\PS
[1z.JfC :S
L
gy^^.
x86 CPU,Windows,MASM32 AYp~;@
.386 :s-9@Yl|
.model flat,stdcall |goK@<
option casemap:none 8 tIy"5
;Include 文件定义 uaky2SgN
include windows.inc hp2$[p6O
include user32.inc 47f\
includelib user32.lib 3od16{YH
include kernel32.inc }-u%6KZ
includelib kernel32.lib &H+n0v
;数据段 (qz)3Fa
.data Zp9kxm'
szCaption db 'A MessageBox!',0 ojA !!Ru
szText db 'Hello,world!',0 | :id/
;代码段 j"VDqDDz
.code .;l`VWP
start: sc6NON#
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK |f.,fVVV;
invoke ExitProcess,NULL $TK= :8HY
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >vO+k^'Y
end start 1xh7KBr,
>[~7fxjK-
<td]k%*+
AWK f$vTD ak
BEGIN { print "Hello, world!" } &
Y2xO
fc[_~I'
tCar:p4$
BASIC gFTlP
传统版BASIC(例如GWBASIC): UP%6s:>:
Fmz+ Xb
10 PRINT "Hello, world!" zgH*B*)bj
20 END ^5(d^N
gx?r8
或在提示符输入: ;oDr8a<A
bMNr +N
?"Hello, world!":END )feZ&G]
B;W%P.<.
现代版BASIC(例如Quick BASIC): .`V$j.a
xgpf2y!{
Print "Hello, world!" p8?v
o?^
Hrph>v
以下的语句在Quick BASIC中同样有效: <gfRAeXA
As`=K$^Il.
? "Hello,world!" Pz\K3-
\iP@|ay9
T#*H
BCPL o0|Ex\
GET "LIBHDR" Pd(_
gq/Za/!6
LET START () BE <JU3sXl
$( h:r?:C>n
WRITES ("Hello, world!*N") NY.* S6
$) o[fg:/5)A
't0M+_J
zB~< @
Befunge Hq 3V+$
"!dlrow olleH">v -)VjjKz]8
, }u=Oi@~
^_@ K,,) FM
N&