“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 `Vb
Y%s:oHt
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 tnRf!A;m
hmO2s/~
以下是用不同语言写成的Hello World程序的几个例子: )/H;5 cn
Ada C82_)@96
with Ada.Text_Io; use Ada.Text_Io; g* q#VmE
procedure Hello is ~t`^|cr|
begin 21uK&nVf^l
Put_Line ("Hello, world!"); =ejj@c
end Hello; K}~$h,n
!eLj +0
x sryXex;
汇编语言 9y7N}T6
`8:)? 0Ez
x86 CPU,DOS,TASM m&UP@hUV-
MODEL SMALL =3e7n2N)
IDEAL eUyF<j
STACK 100H U0~_'&Fe
(#Y~z',I
DATASEG 9%!h/m>rW
HW DB 'Hello, world!$' 6>>; fy2
CRb8WD6.
CODESEG bx0.(Nv/X
MOV AX, @data !#tVQ2O
MOV DS, AX h)KHc/S
MOV DX, OFFSET HW *]6g-E?:@
MOV AH, 09H K:PH:e
INT 21H ~ZHjP_5Q
MOV AX, 4C00H ^|]&"OaB
Z
INT 21H 1K72}Gj)ZL
END \iuR+I
$^Fl*:6
"s2_X+4oY
x86 CPU,GNU/Linux,NASM 'solCAy
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). b+rxin".
;Enter this into "hello.asm" then type: i]JTKL{\q
;"nasm -f elf hello.asm" ~f/|bcep
;"ld hello.o -o hello" D!<F^mtl
;"./hello" *$tXm4
O[
rPV
Q#iB
section .data ;data section declaration +>ju,;4WK
msg db 'Hello World!',0AH ,6)N.
len equ $-msg ;string length -9Q(3$}
vB:\ZX4
section .text ;code section declaration Y0LZbT3
global _start ;entry point (start of execution) YW}$e W*
_start: mov edx,len ;string length =~D? K9o
mov ecx,msg ;string start !b8V&<
mov ebx,1 ;file handle: stdout ^QK`z@B
mov eax,4 ;sys_write om3
%\
int 80h ;kernel system call nzq
}LHYcNw^z
mov ebx,0 ;return value ?Oyo /?/
mov eax,1 ;sys_exit UhxM85M;x
int 80h ;kernel system call LUOjaX
--yF%tRMP
'-iEbE
x86 CPU,Windows,MASM32 SSK}'LQ
.386 2qMiX|Y
.model flat,stdcall bLqy7S9x
option casemap:none p|>*M\LE#
;Include 文件定义 _&gi4)q
include windows.inc Y:^hd809
include user32.inc _~kw^!p>Kr
includelib user32.lib lqDCK&g$E#
include kernel32.inc ,Qj G|P
includelib kernel32.lib uD\R3cY
;数据段 3efOgP=L
.data n,N->t$i
szCaption db 'A MessageBox!',0 L/k35 x8
szText db 'Hello,world!',0 jqUVERbc
;代码段 0'^M}&zCi
.code !np_B0`
start: -@v^. @[Z&
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK (tK_(gO
invoke ExitProcess,NULL ~9 >H(c
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> )nUdU
= m
end start 5 jrR]X
B=SA
+{o
r~b.tpH
AWK {FJMcO=
BEGIN { print "Hello, world!" } $LP(\T([
d$ouH%^cGu
RdCGK?s
BASIC u>XXKlW:
传统版BASIC(例如GWBASIC): >a;a8EA<O
xP8/1wd.
10 PRINT "Hello, world!" mnt&!X4<
20 END .k#PrT1C
oj 8r*
或在提示符输入: K1
f1T
SKG
U)Rn;
?"Hello, world!":END gS(3 m_
j.M]F/j
现代版BASIC(例如Quick BASIC): ZflB<cI
6
AO(A
*
Print "Hello, world!" =dXHQU&Q
p$,7qGST
以下的语句在Quick BASIC中同样有效: RDps{),E;d
L*0YOE%=]
? "Hello,world!" Z%~}*F}7X
_L,~WYRo
!t% 1G.
BCPL /_{-~0Z=@B
GET "LIBHDR" ju2H0AQ
Zma;An6
LET START () BE r^k+D<k[7
$( 7mtx^
WRITES ("Hello, world!*N") d=1\= d/K
$) :7{GOx
R0t!y3r&N
%YVPm*J~
Befunge 6 ;'s9s"
"!dlrow olleH">v .7.G}z1
, G}U <^]c
^_@ ^"Bhp:o2
Q g/Rw4[
II'.vp
Brainfuck mJ%^`mrI
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<< 7\@c1e*e
+++++++++++++++.>.+++.------.--------.>+.>. >p&"X 2
@
<gPM/4$G
vhZXgp0X
C CG uuadNI
#include <stdio.h> +B{u,xgg
"Lvk?k
)hx
int main(void) z/#,L!Z3
{ p$"~vA .
printf("Hello, world!\n"); }a OBQsnO
return 0; H~*N:$C
} +<