hello world作为所有编程语言的起始阶段,占据着无法改变的地位,所有中/英/法/德/美……版本的编程教材中,hello world总是作为第一个TEST记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!hello world。
hello world_hello world[编程语言] -简介
“Hello,world"程序是指在计算机屏幕上输出“Hello,world”这行字符串的计算机程序,“hello,world”的中文意思是“世界,你好”。这个例程在BrianKernighan和DennisM.Ritchie合著的《TheCProgrammeLanguage》使用而广泛流行。因为它的简洁,实用,并包含了一个程序所应具有的一切,因此为后来的编程类图书的作者提供了范例,一直待续到今。HelloWorld!
该版本的C程序首次出现在1974年BrianKernighan所撰写的《ProgramminginC:ATutorial》中:
1、main()
2、{
3、printf("hello,worldn");
4、}
实际上将“Hello”和“World”一起使用的程序最早出现于1972年,出现在贝尔实验室成员BrianKernighan撰写的内部技术文件《IntroductiontotheLanguageB》之中:
1、main(){
2、externa,b,c;
3、putchar(a);putchar(b);putchar(c);putchar('!*n');
4、}
5、a'hell';
6、b'o,w';
7、c'orld';
最初的"hello,world"打印内容有个标准,即全小写,有逗号,逗号后空一格,且无感叹号。不过沿用至今,完全遵循传统标准形式的反而很少出现。[2]
我们刚开始接触计算机语言大多从Helloworld开始,下面是各种语言的Helloworldprogram:
hello world_hello world[编程语言] -控制台版
AAuto
1、importwin;//导入窗口支持库
2、importconsole;//导入控制台支持库
3、//两个斜杠开始表示注释语句:在控制台显示信息
4、console.log("Hello,world!");
5、//弹出一个消息对话框
6、win.msgbox("Hello,world!","我的第一个程序")
7、//关闭控制台
8、console.close();
Ada
1、withAda.Text_Io;useAda.Text_Io;
2、procedureHellois
3、begin
4、Put_Line("Hello,world!");
5、endHello;
AmigaE
1、PROCmain()
2、WriteF('Hello,World!')
3、ENDPROC
APL
1、'HelloWorld'
ASP
<%response.write"Hello,world!"%>D语言
1、importstd.stdio;
2、intmain(char[][]args)
3、{
4、writefln("
5、Hello
6、
7、World
8、!");
9、return0;
10、}
汇编
Accumulator-onlyarchitecture:DECPDP-8,PAL-IIIassembler
SeetheExamplesectionofthePDP-8article.
Accumulator+indexregistermachine:MOS6502,CBM,ca65asm
1、MSG:.ASCIIZ"Hello,world!"
2、LDX#0
3、LDAMSG,X;loadinitialchar
4、@LP:JSR$FFD2;CHROUTCBMKERNAL
5、INX
6、LDAMSG,X
7、BNE@LP
8、RTS
9、Accumulator/Indexmicrocodedmachine:DataGeneralNova,RDOS
10、SeetheexamplesectionoftheNovaarticle.
11、Expandedaccumulatormachine:Intelx86,MS-DOS,TASM
12、MODELSMALL
13、IDEAL
14、STACK100H
15、DATASEG
16、MSGDB'Hello,world!$'
17、CODESEG
18、MOVAX,@data
19、MOVDS,AX
20、MOVDX,OFFSETMSG
21、MOVAH,09H;DOS:outputASCII$string
22、INT21H
23、MOVAX,4C00H
24、INT21H
25、ENDGeneral-purpose-registerCISC:DECPDP-11,RT-11,MACRO-11
1、.MCALL.REGDEF,.TTYOUT,.EXIT
2、.REGDEF
3、HELLO:MOV#MSG,R1
4、MOVB(R1),R0
5、LOOP:.TTYOUT
6、MOVB+(R1),R0
7、BNELOOP
8、.EXIT
9、MSG:.ASCIZ/HELLO,WORLD!/
10、.ENDHELLO
11、CISC:VAX,VMS,MACRO32
12、.titlehello
13、term_name:.ascid/SYS$INPUT/
14、term_chan:.blkw1
15、out_iosb:.blkq1
16、msg:.asciz/Hello,world!/
17、.entrystart,0
18、;establishachannelforterminalI/O
19、$assign_sdevnam=term_name,-
20、chan=term_chan
21、blbcr0,error
22、;queuetheI/Orequest
23、$qio_schan=term_chan,-
24、func=#io$_writevblk,-
25、iosb=out_iosb,-
26、p1=msg,-
27、p2=#13
28、blbcr0,error
29、$exit_s;normalexit
30、error:halt;errorcondition
31、.endstart
AWK
1、BEGIN{print"Hello,world!"}
BASIC
1、PRINT"HELLOWORLD"
MSBASIC
(traditional,unstructured)1、PRINT"Hello,world!"
2、END
TI-BASIC
1、isp"Hello,world!"
StructuredBASIC
1、print"Hello,world!"
BCPL
1、GET"LIBHDR"
2、LETSTART()BE
3、$(
4、WRITES("Hello,world!*N")
5、$)
BF
1、++++++++++[>+++++++>++++++++++>+++>+<<<<-]
2、>++.>+.+++++++..+++.>++.<<+++++++++++++++.
3、>.+++.------.--------.>+.>.
C/C++
1、main(){puts("HelloWorld");}
C
1、#include<stdio.h>
2、
3、intmain(void)
4、{
5、printf("Hello,world!n");
6、return0;
7、}
C++
1、#include<iostream>
2、
3、usingnamespacestd;
4、
5、intmain()
6、{
7、cout<<"Hello,world!"<<endl;
8、return0;
9、}
C#
1、usingSystem;
2、
3、classHelloWorldApp
4、{
5、publicstaticvoidMain()
6、{
7、Console.WriteLine("Helloworld!");
8、}
9、}
Clean
1、modulehello
2、Start::String
3、Start="Hello,world"
CLIST
PROC0
WRITEHello,World!
COBOL
IDENTIFICATIONDIVISION.
PROGRAM-ID.HELLO-WORLD.
ENVIRONMENTDIVISION.
DATADIVISION.
PROCEDUREDIVISION.
DISPLAY"Hello,world!".
STOPRUN.
CommonLisp
(formatt"Helloworld!~%")
Eiffel
classHELLO_WORLD
creation
make
feature
makeis
local
io:BASIC_IO
do
!!io
io.put_string("%NHello,world!")
end--make
end--classHELLO_WORLD
Erlang
-module(hello).
-export([hello_world/0]).
hello_world()->io:fwrite("Hello,world!n").
Forth
."Hello,world!"CR
Fortran
1、PROGRAMHELLO
2、WRITE(*,10)
3、10FORMAT('Hello,world!')
4、STOP
5、END
GoogleGo
packagemain
import"fmt"
funcmain(){
fmt.Println("Hello,world!")
}
Haskell
moduleHelloWorld(main)where
main=putStr"HelloWorldn"
Iptscrae
ONENTER{
"Hello,""World!"&SAY
}
Java
1、publicclassExample{
2、publicstaticvoidmain(String[]args){
3、System.out.println("Hello,world!");
4、}
5、}
JavaScript
1、(function(){
2、
3、alert("HelloWorld!");
4、
5、})();
Logo
print[helloworld!]
Lua
1、print"Hello,world!"
MIXAL
TERMEQU19theMIXconsoledevicenumber
ORIG1000startaddress
STARTOUTMSG(TERM)outputdataataddressMSG
HLThaltexecution
MSGALF"MIXAL"
ALF"HELL"
ALF"OWOR"
ALF"LD"
ENDSTARTendoftheprogram
MSDOSbatch
@echooff
echoHello,world!
OCaml
let_=print_endline"Helloworld!";;
OPL
PROChello:
PRINT"Hello,World"
ENDP
Objective-C
#import<Foundation/Foundation.h>
intmain(intargc,constchar*argv[])
{
@autoreleasepool{
NSLog(@"Hello,World!");
}
return0;
}
Pascal
1、programhello_world;
2、begin
3、writeln('HelloWorld!');
4、end.
Perl
print"Hello,world!n";PHP
1、<?php
2、print("Hello,world!");
3、?>
或者:
1、<?php
2、echo"Hello,world!";
3、?>
Pike
1、#!/usr/local/bin/pike
2、
3、intmain(){
4、write("Hello,world!n");
5、return0;
6、}
PL/I
Test:procedureoptions(main);
declareMy_Stringchar(20)varyinginitialize('Hello,world!');
putskiplist(My_String);
endTest;
Python
#3.0以下版本:
1、print"Hello,world!"
#3.0及其以上版本:
1、print('Hello,world')
REXX
alsoNetRexxandObjectREXX
say"Hello,world!"
Ruby
1、/print"Hello,world!n"
RGLE
DVc_Hellos100A
CEvalVc_Hello='HelloWorld!'
CDSPLYVc_Hello
Sather
classHELLO_WORLDis
mainis
#OUT+"HelloWorldn";
end;
end;
Scheme
(display"Hello,world!")
(newline)
Sed
(requiresatleastonelineofinput)sed-ne'1s/.*/Hello,world!/p'
Self
'Hello,World!'uppercaseprint.
Smalltalk
Transcriptshow:'Hello,world!'
SML
print"Hello,world!n";SNOBOL
OUTPUT="Hello,world!"
END
SQL
数据库操作版
1、createtableMESSAGE(TEXTchar(15));
2、insertintoMESSAGE(TEXT)values('Hello,world!');
3、selectTEXTfromMESSAGE;
4、droptableMESSAGE;
简单版
1、print'Hello,World.'
StarOfficeBasic
submain
print"Hello,World"
endsub
Tcl
puts"Hello,world!"
Turing
put"Hello,world!"
UNIX-styleshell
echo'Hello,world!'
Romanianpseudocode
(UBBCluj-Napoca)AlgoritmulSaluteste:
fies:="Hello,world";
tiparestes;
sf-Salut
习语言
#包含“习语言系统.接口”
整数类型主函数()
{
格式输出(“Hello,world!n”);
暂停();
返回0;
}
中文汇编
[处理器486]
[指令模式双字模式]
[外部的__fltused]
[外部的__ftol]
[外部的__chkstk]
;=========数据段定义===========
段声明.数据
短语_0定义字节'Hello,world!',0aH,00H
;=========代码段定义===========
段声明.代码
外部的_格式输出
外部的_暂停
全局的_主函数
_主函数:
入栈基址指针32
入栈基址寄存器32
入栈源变址寄存器32
入栈终变址寄存器32
移动基址指针32,堆栈指针32
减堆栈指针32,4
取有效地址累加器32,[短语_0]
入栈双字类型累加器32
调用_格式输出
加堆栈指针32,4
调用_暂停
加堆栈指针32,0
移动累加器32,0
移动堆栈指针32,基址指针32
出栈终变址寄存器32
出栈源变址寄存器32
出栈基址寄存器32
出栈基址指针32
返回
闪电脚本引擎
入口
{
信息框(“你好,世界(Helloworld)!”,0,);
}
hello world_hello world[编程语言] -图形界面版
习语言
#包含"习语言系统.接口"
#包含“习语言视窗.接口”
【主程序】
整数类型主函数(整数类型参数个数,字符类型*参数表[])
{
图形初始化显示器(空指针,320,240,空指针,0,空指针);
图形打开显示器(0);
图形输出文字(100,100,“Hello,world!”);
图形输出文字(10,200,“按任意键退出”);
获取按键();
图形关闭显示器(1);
返回0;
}
Autoit
guicreate("hello,word")
guisetstate()
msgbox(48,"test","hello,word")
whileguigetmsg()+3
wend
C++bindingsforGTKgraphicstoolkit
#include
#include
#include
#include
usingnamespacestd;
classHelloWorld:publicGtk::Window{
public:
HelloWorld();
virtual~HelloWorld();
protected:
Gtk::Buttonm_button;
virtualvoidon_button_clicked();
};
HelloWorld::HelloWorld()
:m_button("Hello,world!"){
set_border_width(10);
m_button.signal_clicked().connect(SigC:lot(*this,
&HelloWorld::on_button_clicked));
add(m_button);
m_button.show();
}
HelloWorld::~HelloWorld(){}
voidHelloWorld::on_button_clicked(){
cout<<"Hello,world!"<<endl;
}
intmain(intargc,char*argv[]){
Gtk::Mainkit(argc,argv);
HelloWorldhelloworld;
Gtk::Main::run(helloworld);
return0;
}
Pascal
1、programhelloworld;
2、begin
3、writeln('helloworld!');
4、readln;
5、end.
Java
1、importjava.awt.*;
2、importjava.awt.event.*;
3、
4、publicclassHelloFrameextendsFrame{
5、
6、HelloFrame(Stringtitle){
7、super(title);
8、}
9、
10、publicvoidpaint(Graphicsg){
11、super.paint(g);
12、java.awt.Insetsins=this.getInsets();
13、g.drawString("Hello,world!",ins.left+25,ins.top+25);
14、}
15、
16、publicstaticvoidmain(Stringargs[]){
17、HelloFramefr=newHelloFrame("Hello");
18、fr.addWindowListener(
19、newWindowAdapter(){
20、publicvoidwindowClosing(WindowEvente){
21、System.exit(0);
22、}
23、}
24、);
25、fr.setResizable(true);
26、fr.setSize(500,100);
27、fr.setVisible(true);
28、}
29}
Qttoolkit(inC++)
1、#include<QApplication>
2、#include<QWidget>
3、
4、classHelloWorld:publicQWidget
5、{
6、Q_OBJECT
7、QApplicationapp(argc,argv);
8、HelloWorldhelloWorld;
9、app.setMainWidget(&helloWorld);
10、helloWorld.show();
11、returnapp.exec();
12、}
Delphi
1.信息框
1、ShowMessage('helloWorld!');
2.输出到标签
1、Lebl1.Caption:='HelloWorld';
VisualBasic
1.信息框
1、MsgBox"Hello,world!"
2.输出到窗体
1、Print"Hello,world!"
易语言
窗体程序:
.子程序__启动窗口_创建完毕
信息框(“Hello,world!”,0,)
控制台程序:
.版本2
.程序集程序集1
.子程序_启动子程序,整数型,,本子程序在程序启动后最先执行
标准输出(,“HelloWorld!”)'输出HelloWorld
标准输入()'达到暂停程序的效果以便于查看HelloWorld
返回(0)'可以根据您的需要返回任意数值
O
O汇编语言
.包含文<*oasm32.oah>
.包含文<*user32.oah>
.包含文<*kernel32.oah>
.引用库<*user32.lib>
.引用库<*kernel32.lib>
.代码段
{
入口主函数()
{
提示框(0,&"Hello,world!",&"helloworld!",0)
退出进程(0);
}
}
O中间语言
.包含文<*视窗32.omh>
入口主函数()
{
提示框(0,取地址"Helloworld!",取地址"",0);
退出进程(0);
}
WindowsAPI(C语言版)
#include<windows.h>
#include<tchar.h>
/*使类名成为全局变量*/
TCHARszClassName[]=TEXT("WindowsApp");
/*这个函数由Windows内部函数DispatchMessage()调用*/
LRESULTCALLBACKWindowProcedure(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
HDChdc;
PAINTSTRUCTps;
RECTrect;
switch(message)/*处理信息*/
{
caseWM_DESTROY:
PostQuitMessage(0);/*发送WM_QUIT到消息队列*/
break;
caseWM_PAINT:
hdc=BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rect);
DrawText(hdc,TEXT("HelloWorld!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hWnd,&ps);
break;
default:/*不处理的消息*/
returnDefWindowProc(hWnd,message,wParam,lParam);
}
return0;
}
/*下面是主函数*/
intWINAPI_tWinMain(HINSTANCEhThisInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnFunsterStil)
{
HWNDhWnd;/*这是窗口的句柄*/
MSGmessages;/*应用程序的消息保存在这里*/
WNDCLASSEXwincl;/*窗口类的数据结构*/
/*窗口结构*/
wincl.hInstance=hThisInstance;
wincl.lpszClassName=szClassName;
wincl.lpfnWndProc=WindowProcedure;/*这个函数由Windows操作系统调用*/
wincl.style=CS_DBLCLKS;/*获取双击指令*/
wincl.cbSize=sizeof(WNDCLASSEX);
/*使用默认图标和鼠标指针*/
wincl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wincl.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
wincl.hCursor=LoadCursor(NULL,IDC_ARROW);
wincl.lpszMenuName=NULL;/*没有菜单*/
wincl.cbClsExtra=0;/*窗口类后面没有多余的字节*/
wincl.cbWndExtra=0;/*结构或者窗口实例*/
/*使用窗口的默认颜色作为窗口的背景色*/
wincl.hbrBackground=(HBRUSH)COLOR_BACKGROUND;
/*注册窗口类。如果注册失败,那么就退出程序*/
if(!RegisterClassEx(&wincl))
return0;
/*窗口类已被注册。创建它的程序*/
hWnd=CreateWindowEx(
0,
szClassName,/*类名*/
TEXT("WindowsApp"),/*窗口标题栏的文字*/
WS_OVERLAPPEDWINDOW,/*默认窗口*/
CW_USEDEFAULT,/*窗口左上角的位置*/
CW_USEDEFAULT,/*窗口右下角的位置*/
544,/*窗口宽度(以“像素”位单位)*/
375,/*窗口高度(以“像素”位单位)*/
HWND_DESKTOP,/*窗口是桌面的子窗口*/
NULL,/*该窗口无菜单*/
hThisInstance,/*程序实例的句柄*/
NULL/*没有窗口创建的数据*/
);
/*显示窗口*/
ShowWindow(hWnd,nFunsterStil);
/*重写窗口*/
UpdateWindow(hWnd);
/*运行消息循环。循环到GetMessage()函数返回0*/
while(GetMessage(&messages,NULL,0,0))
{
/*把虚拟信息翻译成字符信息*/
TranslateMessage(&messages);
/*发送信息到窗口过程*/
DispatchMessage(&messages);
}
/*返回PostQuitMessage()函数的返回值*/
returnmessages.wParam;
}
hello world_hello world[编程语言] -4Web版
Javaapplet
JavaappletsworkinconjunctionwithHTMLfiles.HelloWorldProgramsays:
1、importjava.applet.*;
2、importjava.awt.*;
3、
4、publicclassHelloWorldextendsApplet{
5、publicvoidpaint(Graphicsg){
6、g.drawString("Hello,world!",100,50);
7、}
8、}
JavaScript
1、window.alert('Hello,world!')
ASCII码
48656C6C6F2C20776F726C64210D0A
HTML
1、<html>
2、<head>
3、<title>Hello,world!</title>
4、</head>
5、<body>
6、<p>Hello,world!</p>
7、</body>
8、</html>
PostScript
/font/Courierfindfont24scalefont
fontsetfont
100100moveto
(Helloworld!)show
showpage
TeX
fontHW=cmr10scaled3000
leftline{HWHelloworld}
bye
LaTeX
documentclass{article}begin{document}
Hello,world!
end{document}
GML
draw_text(0,0,"HelloWorld")
hello world_hello world[编程语言] -c版详解
下面是C语言helloworld的源代码.
1、#include<stdio.h>
2、
3、intmain(intargc,char**argv)
4、{
5、printf("helloworld!");
6、return0;
7、}
以下为详解[3](下面涉及很多其他指针,如果你不懂,请你先看完这篇文章再去查找资料,不要看到“参见”就转到别的地方,因为知识网络是很复杂的,这样你可能一无所获!):
#include表示将一个文件包含到源代码文件中.
这个预处理指令(不是代码,因为它是在编译前执行的,不会变成最后的exe或者dll的一部分)表示将stdio.h文件包含(或者理解为复制)到此处,stdio.h文件包含各种库函数的申明(也写作声明,即告诉编译器函数的参数列表。请参看关于函数的文章,这里不过多的延伸。这里的函数不是数学里的函数!),其中一个就是下面使用到的输出函数printf.此外,以后你还会遇到包含计算开方结果等函数的声明的math.h,还有很多其他文件。在学习过程中你会自然的学到,这里不用提前记忆。
int是个数据类型,在C语言中为整型数据.在intmain中表示,main函数的返回值为整型(关于返回值参见函数).
main表示一个函数,这个函数为C语言程序的入口函数,所有代码都是从main函数开始执行的.所以main函数为C语言的主函数.如是一个程序没有main,则最后编译连接时,会提示.
在(intargc,char**argv)中,表示main函数有两个参数,一个为int整型,一个为char**.其实你也可以忽略他们,把它们替换成void,void表示空,在数据类型中也表示尚未确定(这种情况一般用于指针,参见指针)。
char**是一个指针类型,它指向一个字符串数据.(参见指针).C程序运行前,用户可以通过命令行向程序传递一些参数(例如你使用"shutdown-t60",就向shutdown程序传递了-t60这个参数。参见命令行,即命令提示符),参数以字符串的形式都保存在argv中,每个参数都以空格分割,argc记录着参数的个数.如果没有传递参数,则系统也会把字符串形式的程序名当做参数传递给程序.所以,argc的值大于等于1.学习完后面的知识,你就可以通过分析这两个参数来允许用户在命令行里给你设定参数了。
printf是C语言中最常用的格式化输出函数.用户通过向printf函数传递各种参数,然后转化成字符串,最终在命令行上输出.这里使用了它的最简单形式:直接在里面写上要显示的字符。请不要在里面使用百分号,因为后面你会知道百分号会给printf函数传递特殊的信息。
return0;用来在函数要退出时,返回给函数的调用者一个值.一般情况下,意思不大.习惯上,如果程序执行正确,返回一个0,错误则返回1,或者-1.C程序中有各种各样的函数,每个函数之间互相通信,为了知道函数的执行情况,一般都要返回一个值给调用者,或者把函数返回类型写成void(上文介绍了,void表示空、未确定).