
Hello World 来自,中文意思:你好,世界。放投防望世界上的第一个程序就是Hello World,由Brian Kernighan创作。
- 中文名 你好,世界
- 外文名 Hello,World
- 创造者 Brian Kernighan
简介
"Hello, world"程序是指在计算机屏幕上输出"Hello,world"这行字符串的计算机程序,"hello, world"的中文意思是"世界,你好"。这个例程在Brian Kernighan 和Dennis M. Ritchie合著的《T权律敌吗说菜节掌供he C Programme Language》使用而广泛流行。因为它的简洁,实用,并包含了一个该版本的C程序首次出现来自在1974年Brian Kernighan所撰写的《Programming in C: A Tutorial》
实际上将"Hello"和"World"一起使用的程序最早出现于1972年,出现在贝尔实验室成员Brian Kernighan撰各写的内部技术文件《Introduction to the Language B》之中:
最初的"hello, wor死找苗ld"打印内容有个标准,即全小写,有逗号,逗号后空一格,且无感叹号。不过沿用至负能单粒检映祖兰美今,完全遵循传统标准形式的反而很少出现。
我们刚开始接触计算机语言大多从Hello world 开始,也用于测试开发、编译环境是否能够正常工作,下面是各种语言的Hello worl现色d program:
控制360百科台版
AutoIt
sgBox(0,'title','Hello,world!')
ASP
<%response.write "Hello,worl高觉多板d!"%>
汇编
Acc级通械损氢乡困白umulator-only architect什药凯ure: DEC PDP-8, PAL-III assem特静广理开bler
See the Example section of the PDP-8 article.
Accumulator + index register machine: MOS 6502, CBM, ca65 asm
Gener品克查银al-purpose-register CISC: DECPDP-11, RT-11, MACRO-11
MSBASIC
(traditional, unstru棉ctured)
C
#include <stdio.h>
int 们动吗再小main()
{
printf("Hello优缩承群营量难粮手英补,world");
}
CLIST
PRO十爱微压士计粒去负军C 0
WRIT派马济座印员结E Hello, World!
Microsoft CMD
@echo off
echo hello,world!
pause
COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. HEL还心管命LO-WORLD.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DI那余上却落该延根精适VISION.
DISPLA年地否激氢态湖眼前Y "Hello, world!".
STOP RUN.
Common Lisp
(format t "Hello world!~%")
CSS
*:before, *:after { content:'Hello,word' }
C++
#include <iostream>
using namespace std;
int main()
{
std::cout << "hello,world" << std::endl;
return 0;
}
Eiffel
class HELLO_WORLD
creation
make
feature
make is
local
io:BASIC_IO
do
!!io
io.put_string("%N Hello, world!")
end -- make
end -- class HELLO_WORLD
Erlang
-module(hello).
-export([hello_world/0]).
hello_world() -> io:fwrite("Hello, world!\n").
Forth
." Hello, world!" CR
Google Go
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
Haskell
module HelloWorld (main) where
main = putStr "Hello World\n"
Iptscrae
ON ENTER {
"Hello, " "World!" & SAY
}
java
public class hellowold {
public static void main(String[] args) {
System.out.println("Hello,world!");
}
}
LOGO
PR "HELLO,WORLD
MIXAL
TERM EQU 19 the MIX console device number
ORIG 1000 start address
START OUT MSG(TERM) output data at address MSG
HLT halt execution
MSG ALF "MIXAL"
ALF " HELL"
ALF "O WOR"
ALF "LD "
END START end of the program
MSDOS patch
@echo Hello, world!
@pause
OCaml
let _ =
print_endline "Hello world!";;
OPL
PROC hello:
PRINT "Hello, World"
ENDP
pascal
begin
writeln('hello, world');
end.
Perl
print "Hello, world!\n";
或者:
PL/I
Test: procedure options(main);
declare My_String char(20) varying initialize('Hello, world!');
put skip list(My_String);
end Test;
PHP
echo 'Hello,world'
Python
#3.0以下版本:print "Hello, world!"
#3.0及其以上版本:print("Hello, world!")
REXX
alsoNetRexxand Object REXX
say "Hello, world!"
RPGLE
D Vc_Hello s 100A
C Eval Vc_Hello = 'Hello World!'
C DSPLY Vc_Hello
Sather
class HELLO_WORLD is
main is
#OUT+"Hello World\n";
end;
end;
Scheme
(display "Hello, world!")
(newline)
Sed
(requires at least one line of input)
sed -ne '1s/.*/Hello, world!/p'
Self
'Hello, World!' uppercase print.
Shell
printf"Hello world"
Smalltalk
Transcript show: 'Hello, world!'
SML
print "Hello, world!\n";
SNOBOL
OUTPUT = "Hello, world!"
END
SQL
数据库操作版
简单版
StarOffice Basic
sub main
print "Hello, World"
end sub
swift
println("Hello,world")
Tcl
puts "Hello, world!"
Turing
put "Hello, world!"
UNIX-style shell
echo 'Hello, world!'
Romanian pseudocode
(UBB Cluj-Napoca)Algoritmul Salut este:
fie s:="Hello, world";
tipareste s;
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
返回
闪电脚本引擎
入口
{
信息框("你好,世界(Hello world)!",0,);
}
图形界面版
习语言
#包含 "习语言系统.接口"
#包含 "习语言视窗.接口"
【 主程序 】
整数城切民极差类型主函数( 整数类来自型 参数个数, 字符类型 *参数360百科表[])
{
图形初始化显示器( 空指针, 320, 240,空指针, 0, 空指针);
图形打开显示器(0);
图形输出文字感以凯倒劳呢面因助给积(100, 100 ,"Hello, world以校报赶商!");
图形输出文字(10, 200 ,"按任意键退出");
获取按键();
图形关闭显示器(1);
返回 0;
}
Autoit
GuiCreate("hello, word")
GuiSetState()
MsgBox(48,"test","hello, word!")
While 1
Sleep(100)
WEnd
C++ bind简掉ings for GTK g快raphics toolkit
受哪蛋来兰地区径球任 #include
#模剂块绝排互升冷械需include
#include
#incl之货现ude
using namespace std;
class HelloWorld : 情坏够种极省样public Gtk::Window {
public:
He突将独题移半负lloWorld();
virtual ~He弱才晚因妈据互即lloWorld();
protected:
Gtk::Button m_button;
virtual void on_button_clicked();
};
HelloWorld::HelloWorld()
: m_button("Hello, world!") {
set_bor杀主der_width(10);
m_button.signal_clicked().connect(SigC:lot劳(*this,
&HelloWorld::o谈村举黑n_button_clicked));
add(m_button);
m_button.show();
}
He剂胜源考地吧lloWorld::~HelloWorld() {}
void HelloWorld::o流首旧轮究增真铁号银n_button_clicked() {
cout << "Hello, world!" << endl;
}
int main (int argc, char *argv[]) {
Gtk::Main kit(argc, argv);
HelloWo首知定离今某在rld hellowo后帮压rld;
Gtk::Main::run(helloworld);
return 0;
}
Delphi
1.信息框
2.输出到标签
Visual Basic
1.信息框
2.输出到窗体
易语言
窗体程序:
.子程序 __启动窗口_创建完毕
信息框 ("Hello, world!", 0, )
控制台程序:
.版本 2
.程序集程序集1
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
标准输出 (, "Hello World!") ' 输出Hello World
标准输入 () ' 达到暂停程序的效果以便于查看Hello World
返回 (0) ' 可以根据您的需要返回任意数值
O
O汇编语言
.包含文<*oasm32.oah>
.包含文<*user32.oah>
.包含文<*kernel32.oah>
.引用库<*user32.lib>
.引用库<*kernel32.lib>
.代码段
{
入口主函数()
{
提示框(0,&"Hello, world!",&"hello world!",0)
退出进程(0);
}
}
O中间语言
.包含文<*视窗32.omh>
入口 主函数()
{
提示框(0,取地址 "Hello world!",取地址 "",0);
退出进程(0);
}
Web版
Java applet
Java applets work in conjunction with HTML files.
HelloWorld Program says:
ASCII码
48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A
PostScript
/font /Courier findfont 24 scalefont
font setfont
100 100 moveto
(Hello world!) show
showpage
TeX
\font\HW=cmr10 scaled 3000
\leftline{\HW Hello world}
\bye
LaTeX
\documentclass{article}
\begin{document}
Hello, world!
\end{document}
GML
draw_text ( 0 , 0 , "Hello World")
java8
System.out.print("hello world");
C版详解
下面是C语言 hello world 的源代码.
以下为详解(下面涉及很多其他指针,如果你不懂,请你先看完这篇文章再去查找资料,不要看到"参见"就转到别的地方,因为知识网络是很复杂的,这样你可能一无所获!):
#include 表示将一个文件包含到源代码文件中.
这个预处理指令(不是代码,因为它是在编译前执行的,不会变成最后的exe或者dll的一部分)表示将stdio.h文件包含(或者理解为复制)到此处,stdio.h文件包含各种库函数的申明(也写作声明,即告诉编译器函数的参数列表。请参看关于函数的文章,这里不过多的延伸。这里的函数不是数学里的函数!),其中一个就是下面使用到的输出函数printf.此外,以后你还会遇到包含计算开方结果等函数的声明的math.h,还有很多其他文件。在学习过程中你会自然的学到,这里不用提前记忆。
int 是个数据类型,在C语言中为整型数据.在int main中表示,main函数的返回值为整型(关于返回值参见函数).
main表示一个函数,这个函数为C语言程序的入口函数,所有代码都是从main函数开始执行的.所以main函数为C语言的主函数.如是一个程序没有main,则最后编译连接时,会提示.
在(int argc,char** argv)中,表示main函数有两个参数,一个为int整型,一个为char** .其实你也可以忽略他们,把它们替换成void,void表示空,在数据类型中也表示尚未确定(这种情况一般用于指针,参见指针)。
char** 是一个指针类型,它指向一个字符串数据.(参见指针).C程序运行前,用户可以通过命令行向程序传递一些参数(例如你使用"shutdown -t 60",就向shutdown程序传递了-t 60这个参数。参见命令行,即命令提示符),参数以字符串的形式都保存在argv中,每个参数都以空格分割,argc记录着参数的个数.如果没有传递参数,则系统也会把字符串形式的程序名当做参数传递给程序.所以,argc的值大于等于1.学习完后面的知识,你就可以通过分析这两个参数来允许用户在命令行里给你设定参数了。
printf是C语言中最常用的格式化输出函数.用户通过向printf函数传递各种参数,然后转化成字符串,最终在命令行上输出.这里使用了它的最简单形式:直接在里面写上要显示的字符。请不要在里面使用百分号,因为后面你会知道百分号会给printf函数传递特殊的信息。
return 0;用来在函数要退出时,返回给函数的调用者一个值.一般情况下,意思不大.习惯上,如果程序执行正确,返回一个0,错误则返回1,或者-1.C程序中有各种各样的函数,每个函数之间互相通信,为了知道函数的执行情况,一般都要返回一个值给调用者,或者把函数返回类型写成void(上文介绍了,void表示空、未确定).
评论留言