首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


Hello World

维库,知识与思想的自由文库

(重定向自Hello World程序)
跳转到: 导航, 搜索

"Hello, World!" 程序是一个在计算机屏幕上,只印出 "Hello, World!"(意为「世界,你好!」)這一行字串的计算机程序。像這樣簡單的程序,通常是计算机程序设计语言的初学者,在学习编写時的第一个程序。它还可以用来确定该语言的编译器程序开发环境,以及运行环境是否已经安装妥當。

把印出 "Hello World" 作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由 Brian Kernighan 和 Dennis Ritchie 写的计算机程序设计教程《C语言程序设计》(The C Programming Language)。

以下是用不同语言写成的 Hello World 程序的几个例子:

目录

[编辑] 打印到终端

[编辑] ActionScript

<source lang="actionscript"> trace("Hello, world!"); </source>

[编辑] Ada

<source lang="ada"> with TEXT_IO;

procedure HELLO is begin

   TEXT_IO.PUT_LINE ("Hello, world!");

end HELLO; </source>

[编辑] 汇编语言

[编辑] x86 CPU,GNU/Linux,NASM

<source lang="asm">

    section .data
msg     db      'Hello, world!',0xA
len     equ     $-msg

    section .text
global  _start
_start:
        mov     edx,len
        mov     ecx,msg
        mov     ebx,1
        mov     eax,4
        int     0x80

        mov     ebx,0
        mov     eax,1
        int     0x80

</source>

[编辑] x86 CPUWindowsMASM32

<source lang="ASM"> .386

       .model   flat,stdcall
       option   casemap:none
==========================================================
   include     windows.inc
   include     user32.inc
   includelib  user32.lib
   include     kernel32.inc
   includelib  kernel32.lib
==========================================================
       .data

szCaption db "A MessageBox!", 0 szText db "Hello, world!", 0

==========================================================
       .code

start:

   invoke   MessageBox, NULL, addr szText, addr szCaption, MB_OK
   invoke   ExitProcess, NULL
==========================================================
   end  start

</source>

[编辑] ASP

<source lang="asp"><% Response.Write("Hello, world!") %></source>

或者:

<source lang="asp"> <% strHelloWorld = "Hello, world!" %> <%= strHelloWorld %> </source>

或者簡單地寫成:

<source lang="asp"><%= "Hello, world!" %></source>

[编辑] AutoIt

<source lang="autoit">MsgBox(1,,'Hello, world!')</source>

[编辑] AWK

<source lang="text"> BEGIN { print "Hello, world!" } </source>

[编辑] Bash (or sh)

<source lang="bash"> echo 'Hello, world!'</source> 或者: <source lang="bash"> printf 'Hello, world!\n'</source>

[编辑] BASIC

传统版 BASIC(例如 GWBASIC): <source lang="qbasic"> 10 PRINT "Hello, world!" 20 END </source> 或在提示符輸入: <source lang="qbasic"> ? "Hello, world!" </source> 现代版 BASIC(例如 Quick BASIC): <source lang="qbasic"> Print "Hello, world!" </source> 以下的语句, 在 Quick BASIC 中同样有效: <source lang="qbasic"> ? "Hello,world!" </source>

[编辑] BCPL

<source lang="text"> GET "LIBHDR"

LET START () BE $(

   WRITES ("Hello, world!*N")

$) </source>

[编辑] Befunge

<source lang="text"> "!dlrow olleH">v

              ,
             ^_@

</source>

[编辑] Brainfuck

<source lang="text"> ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<< +++++++++++++++.>.+++.------.--------.>+.>. </source>

[编辑] BlitzBasic

<source lang=BlitzBasic > Print "Hello, world!" WaitKey </source>

[编辑] C

<source lang="c">

  1. include <stdio.h>

int main(int argc, char* argv[]) {

  printf("Hello, world!\n");
  return 0;

} </source>

或者: <source lang=c>

  1. include <stdio.h>

int main(void) {puts("Hello, world!");} </source>

[编辑] C++

<source lang="cpp">

  1. include <iostream>

int main() {

   std::cout << "Hello, world!" << std::endl;
   return 0;

} </source> 或者: <source lang="cpp">

  1. include <iostream>

using namespace std;

int main() {

   cout << "Hello, world!" << endl;
   return 0;

} </source>

[编辑] C++/CLI

<source lang="cpp"> int main() {

   System::Console::WriteLine("Hello, world!");

} </source>

[编辑] C# (C Sharp)

<source lang="csharp"> class HelloWorldApp {

   static void Main()
   {
       System.Console.WriteLine("Hello, world!");
   }

} </source> 或者(僅用於Microsoft Windows) <source lang="csharp"> class HelloWorldApp {

    [DllImport("user32.dll")]
    static extern MessageBox(string title, string message);
    public static void Main()
    {
         MessageBox(null, "Hello, world!");
    }

} </source> 或者(使用附加的Windows Forms) <source lang="csharp"> using System.Windows.Forms; class HelloWorldApp {

    public static void Main()
    {
         MessageBox.Show("Hello, world!");
    }

} </source>

[编辑] COBOL

<source lang="text"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD.

ENVIRONMENT DIVISION.

DATA DIVISION.

PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </source>

[编辑] Common Lisp

<source lang="lisp"> (format t "Hello world!~%") </source>

[编辑] DOS批处理

<source lang="dos"> @echo Hello, world! </source>

對於MS-DOS 3.0或更低版本: <source lang="dos"> echo off cls echo Hello, world! </source>

[编辑] Eiffel

<source lang="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 </source>

[编辑] Erlang

<source lang="text">

   -module(hello).
   -export([hello_world/0]).
   hello_world() -> io:fwrite("Hello, World!\n").

</source>

[编辑] Forth

<source lang="text"> ." Hello, world!" CR </source>

[编辑] Fortran

<source lang="fortran">

   WRITE(*,10)

10 FORMAT('Hello, World!')

   STOP
   END

</source>

[编辑] HTML

<source lang="html4strict"> <html> <head> <title> Hello World! </title> </head> <body>

Hello World!

</body> </html> </source>

[编辑] HQ9+

<source lang=text> H </source>

[编辑] INTERCAL

<source lang="text"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </source>

[编辑] Java

<source lang="java"> public class Hello {

   public static void main(String[] args)
   {
       System.out.println("Hello, world!");
   }

} </source>

[编辑] JSP

<source lang="java"> <%

   out.print("Hello, world!");

%> </source>

[编辑] Lua

<source lang="lua"> print "Hello, world!" </source>

[编辑] MIXAL

<source lang="text"> 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

</source>

[编辑] Nuva

<source lang="text"> <..直接输出..> Hello, world!

<..或者..>

<.

 // 不带换行
 ?  "Hello, world!"
 // 或者
 // 带换行
 ?? 'Hello, world!'

.> </source>

[编辑] OCaml

<source lang="ocaml"> let main () =

   print_endline "Hello world!";;

</source>

[编辑] Pascal

<source lang="pascal"> program Hello; begin

   writeln('Hello, world!');

end. </source>

[编辑] Perl

<source lang="perl">

  1. !/usr/local/bin/perl

print "Hello, world!\n"; </source>

[编辑] PHP

<source lang="php"> <?php

   echo 'Hello, world!';//通常使用這個, 比 print 少一個字元
   print 'Hello, world!';

?> </source>

[编辑] Pike

<source lang="text">

  1. !/usr/local/bin/pike

int main() {

   write("Hello, world!\n");
   return 0;

} </source>

[编辑] PL/I

<source lang="text"> Test: procedure options(main);

   declare My_String char(20) varying initialize('Hello, world!');
   put skip list(My_String);

end Test; </source>

[编辑] Prolog

<source lang="text"> goal

   write("hello,world!").

</source>

[编辑] Python

<source lang="python">

  1. !/usr/local/bin/python

print "Hello, world!" </source>

[编辑] REXX

<source lang="text"> say "Hello, world!" </source>

[编辑] Ruby

<source lang="ruby">

  1. !/usr/bin/ruby

print "Hello, world!\n" </source>

[编辑] Scheme

<source lang="scheme"> (display "Hello, world!") (newline) </source>

[编辑] sed

(需要至少一行输入) <source lang="text"> sed -ne '1s/.*/Hello, world!/p' </source>

[编辑] Seed7

<source lang="text"> $ include "seed7_05.s7i";

 const proc: main is func
   begin
     writeln("Hello, world!");
   end func;

</source>

[编辑] Smalltalk

<source lang="smalltalk"> Transcript show: 'Hello, world!' </source>

[编辑] SNOBOL

<source lang="text">

   OUTPUT = "Hello, world!"

END </source>

[编辑] SQL

<source lang="sql"> create table MESSAGE (TEXT char(15)); insert into MESSAGE (TEXT) values ('Hello, world!'); select TEXT from MESSAGE; drop table MESSAGE; </source>

[编辑] Tcl

<source lang="tcl">

  1. !/usr/local/bin/tcl

puts "Hello, world!" </source>

[编辑] TScript

<source lang="text"> ? "Hello, world!" </source>

[编辑] Turing

<source lang="text"> put "Hello, world!" </source>

[编辑] UNIX-style shell

程序中的/bin/sh可改为您使用的shell <source lang="bash">

  1. !/bin/sh

echo 'Hello, world!' </source>

[编辑] GUI

[编辑] Delphi

<source lang="delphi"> program HelloWorld; uses

   Dialogs;

begin

   ShowMessage('Hello, World!');

end. </source>

[编辑] Nuva

<source lang="text"> <.

 System.Ui.ShowMessage('Nuva', 'Hello, world!', ['OK'])

.> </source>

[编辑] Visual Basic

<source lang=vb> MsgBox "Hello, world!" '或者 Print "Hello, world!" </source>

[编辑] Visual FoxPro

<source lang="visualfoxpro"> ? "Hello, world!" </source>

[编辑] X11

用一个程序 <source lang="text"> xmessage 'Hello, world!' </source>

用C++和gtkmm 2

<source lang=cpp>

  1. include <iostream>
  2. include <gtkmm/main.h>
  3. include <gtkmm/button.h>
  4. include <gtkmm/window.h>

using namespace std;

class HelloWorld : public Gtk::Window { public:

   HelloWorld();
   virtual ~HelloWorld();

protected:

   Gtk::Button m_button;
   virtual void on_button_clicked();

};

HelloWorld::HelloWorld() : m_button("Hello, world!") {

   set_border_width(10);
   m_button.signal_clicked().connect(SigC::slot(*this, &HelloWorld::on_button_clicked));
   add(m_button);
   m_button.show();

}

HelloWorld::~HelloWorld() {}

void HelloWorld::on_button_clicked() {

   cout << "Hello, world!" << endl;

}

int main (int argc, char *argv[]) {

   Gtk::Main kit(argc, argv);
   HelloWorld helloworld;
   Gtk::Main::run(helloworld);

} </source>

[编辑] Java

<source lang="java"> import java.awt.*; import java.awt.event.*;

public class HelloFrame extends Frame {

   HelloFrame(String title) 
   {
       super(title);
   }
   public void paint(Graphics g)
   {
       super.paint(g);
       java.awt.Insets ins = this.getInsets();
       g.drawString("Hello, World!", ins.left + 25, ins.top + 25);
   }
   public static void main(String args [])
   {
       HelloFrame fr = new HelloFrame("Hello");
       fr.addWindowListener(
           new WindowAdapter() 
           {
               public void windowClosing(WindowEvent e)
               {
                   System.exit( 0 );
               }
           }
       );
       fr.setResizable(true);
       fr.setSize(500, 100);
       fr.setVisible(true);
   }

} </source>

[编辑] Java Applet

Java Applet用于HTML文件。

HTML代码: <source lang="html4strict"> <html> <head> <title>Hello World</title> </head> <body> HelloWorld Program says: <applet code="HelloWorld.class" width="600" height="100"> </applet> </body> </html> </source> Java代码: <source lang=java> import java.applet.*; import java.awt.*;

public class HelloWorld extends Applet {

   public void paint(Graphics g) 
   {
       g.drawString("Hello, world!", 100, 50);
   }

} </source>

[编辑] JavaScript

JavaScript是一种用于HTML文件的脚本语言。要查看以下程序的运行结果,只要将其复制到任何HTML文本即可。 <source lang="html4strict"> <script language="javascript"> function helloWorld() {

   alert("Hello World");

} </script> <a href="javascript:this.location()" onclick="javascript:helloWorld();">Hello World Example</a> </source>

[编辑] PostScript

PostScript是一种专门用来创建图像的语言,常用于打印机。

<source lang=text> /font /Courier findfont 24 scalefont font setfont 100 100 moveto (Hello World!) show showpage </source>

[编辑] XAML

<source lang=xml>

<Page
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 x:Class="XAMLSample.Page1"
>
 <Button Click="HelloWorld" Name="Button1">Click Here</Button>
</Page>

</source> <source lang=csharp>

using System;
using System.Windows;
using System.Windows.Controls;

namespace XAMLSample
{
 public partial class Page1 : Page
 {
   void HelloWorld(object sender, RoutedEventArgs e)
   {
     MessageBox.Show("Hello, world!");
   }
 }
}

</source>

[编辑] 外部链接

其它语言
AD Links