“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 |2=@8_am
&Dt=[yqeG
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 DK? Z
4TI`
以下是用不同语言写成的Hello World程序的几个例子: U)M&AYb
Ada `-e9#diQe
with Ada.Text_Io; use Ada.Text_Io; ^s#+`Y05/
procedure Hello is BNF*1JO
begin 6oq5CD oq
Put_Line ("Hello, world!"); |
TG 6-e_
end Hello; F!phTu
j
sD]v)LB
-\USDi(
汇编语言 w?zy/+N~
p>i8aN
x86 CPU,DOS,TASM KLW>O_+
MODEL SMALL +_k A&Q(t
IDEAL 6"o=`Sq
STACK 100H c&P/v#U_
1V9A nzwX
DATASEG S?6-I,]h
HW DB 'Hello, world!$' s)fahc(@E
Q@W!6]*\
CODESEG =)G]\W)m
MOV AX, @data Caz5q|Oo
MOV DS, AX d#XgO5eyO
MOV DX, OFFSET HW <.Pt%Kg^BS
MOV AH, 09H $P#x>#+[A
INT 21H i=*H|)
MOV AX, 4C00H >tPf.xI|l
INT 21H "]uPke@
END .vctuy&
>kxRsiKV
U?d
I
x86 CPU,GNU/Linux,NASM #t;]s<
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). 2 S~( P
;Enter this into "hello.asm" then type: 2@lGY_O!m
;"nasm -f elf hello.asm" !*L)v
;"ld hello.o -o hello" $U.|
;"./hello"
x`FTy&g
+ kT ]qH
section .data ;data section declaration pdR\Ne0P*
msg db 'Hello World!',0AH G[JWG
len equ $-msg ;string length N UvVhy]{
#rF`Hk:
section .text ;code section declaration _WvVF*Q"k
global _start ;entry point (start of execution) J}[[tl
_start: mov edx,len ;string length maDWV&Db
mov ecx,msg ;string start %gs?~Xl)]
mov ebx,1 ;file handle: stdout mj ?Gc
mov eax,4 ;sys_write M]p-<R\
int 80h ;kernel system call ZgG~xl\My
9) ,|h
mov ebx,0 ;return value {aq)Y>o5:T
mov eax,1 ;sys_exit ~c<8;,cjYR
int 80h ;kernel system call m<)`@6a/
cfilH"EK
:hs~;vn)
x86 CPU,Windows,MASM32 U]gUGD!5x
.386 mv #hy
.model flat,stdcall Z1I.f"XY
option casemap:none 37kVJQcA1
;Include 文件定义 ^+CWo@.
include windows.inc 6pSTw\/6
include user32.inc 49M1^nMvoo
includelib user32.lib [T,^l#S1
include kernel32.inc eUZk|be
includelib kernel32.lib #) :.1Z?
;数据段 n[gE[kw
.data d{Jk:@.1
szCaption db 'A MessageBox!',0 1++g@8
szText db 'Hello,world!',0 Ex
z B{"
;代码段 "^6Fh"]
.code ZLxa|R7
start: .MG83Si
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK g hmn3
invoke ExitProcess,NULL -e}(\
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ` 6*]c n#(
end start lH`TF_
HUD0
@HQI
J<+f7L
AWK =?0v,;F9|
BEGIN { print "Hello, world!" } !L9OJ1F
s5{=lP
{pH# zs4Y
BASIC ,lA@C2c
传统版BASIC(例如GWBASIC): -JF^`hBD-
VqV [ @[P
10 PRINT "Hello, world!" aIFlNS,y
20 END ih/E,B"
/ @"{u0
或在提示符输入: po*8WSl9c[
6];3h>c]N
?"Hello, world!":END r!dWI
.!KsF
h,pK
现代版BASIC(例如Quick BASIC): KzO"$+M
YwET.(oo
Print "Hello, world!" H}5WglV.
s$>n U
以下的语句在Quick BASIC中同样有效: <^Vj1s
:=;{w~D
? "Hello,world!" '7el`Ff
jw=PeT|
GW;%~qH[,
BCPL "}qs+
GET "LIBHDR" aH{)|?
eIalcBY
LET START () BE CA0XcLiFt
$( rX?ZUw?u&
WRITES ("Hello, world!*N") 9/{ zS3h3
$) eNK
+)<PK(
.>F4s_6l
\ m~?yq8H
Befunge uStAZ~b\
"!dlrow olleH">v Dho6N]86r
, 3._
ep
^_@ ;\2Z?Kq
4\&Y;upy+
F!EiF&[\J
Brainfuck hA5')te<