Hello World程序
维基百科,自由的百科全书
Hello, World!程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“你好,世界!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。

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

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

目录 [显示隐藏] 
1 打印到终端

1.1 Ada
1.2 汇编语言

1.2.1 x86 CPU,DOS,TASM
1.2.2 x86 CPU,GNU/Linux,NASM

1.3 AWK
1.4 BASIC
1.5 BCPL
1.6 Befunge
1.7 Brainfuck
1.8 C
1.9 C++
1.10 C# (C Sharp)
1.11 COBOL
1.12 Common Lisp
1.13 DOS batch
1.14 Eiffel
1.15 Erlang
1.16 Forth
1.17 Fortran
1.18 HQ9+
1.19 INTERCAL
1.20 Java
1.21 MIXAL
1.22 OCaml
1.23 Pascal
1.24 Perl
1.25 PHP
1.26 Pike
1.27 PL/I
1.28 Prolog
1.29 Python
1.30 REXX
1.31 Ruby
1.32 Scheme
1.33 sed (requires at least one line of input)
1.34 Smalltalk
1.35 SNOBOL
1.36 SQL
1.37 Tcl
1.38 Turing
1.39 UNIX-style shell

2 GUI

2.1 Delphi
2.2 Visual Basic
2.3 Visual FoxPro
2.4 X11
2.5 Java
2.6 Java applet
2.7 JavaScript
2.8 PostScript

3 外部链接
 
[编辑]
打印到终端
[编辑]
Ada
with Ada.Text_Io; use Ada.Text_Io;
procedure Hello is
begin
    Put_Line ("Hello, world!");
end Hello;
[编辑]
汇编语言
[编辑]
x86 CPU,DOS,TASM
MODEL SMALL
IDEAL
STACK 100H

DATASEG
    HW      DB      'Hello, world!$'

CODESEG
    MOV AX, @data
    MOV DS, AX
    MOV DX, OFFSET HW
    MOV AH, 09H
    INT 21H
    MOV AX, 4C00H
    INT 21H
END
[编辑]
x86 CPU,GNU/Linux,NASM
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax).
;Enter this into "hello.asm" then type:
;"nasm -f elf hello.asm"
;"ld hello.o -o hello"
;"./hello"

section .data                   ;data section declaration
msg     db      'Hello World!',0AH
len     equ     $-msg           ;string length

section .text                   ;code section declaration
global  _start                  ;entry point (start of execution)
_start: mov     edx,len         ;string length
        mov     ecx,msg         ;string start
        mov     ebx,1           ;file handle: stdout
        mov     eax,4           ;sys_write
        int     80h             ;kernel system call

mov     ebx,0           ;return value
        mov     eax,1           ;sys_exit
        int     80h             ;kernel system call
[编辑]
AWK
BEGIN { print "Hello, world!" }
[编辑]
BASIC
传统版BASIC:

10 PRINT "Hello, world!"
20 END
现代版BASIC:

Print "Hello, world!"
[编辑]
BCPL
GET "LIBHDR"

LET START () BE
$(
    WRITES ("Hello, world!*N")
$)
[编辑]
Befunge
"!dlrow olleH">v
               ,
              ^_@
[编辑]
Brainfuck
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<
+++++++++++++++.>.+++.------.--------.>+.>.
[编辑]
C
#include <stdio.h>

int main(void)
{
    printf("Hello, world!/n");
    return 0;
}
[编辑]
C++
#include <iostream.h>

int main()
{
    std::cout << "Hello, world!" << std::endl;
}
[编辑]
C# (C Sharp)
class HelloWorldApp
{
    public static void Main()
    {
        System.Console.WriteLine("Hello, world!");
    }
}
[编辑]
COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID.     HELLO-WORLD.

ENVIRONMENT DIVISION.

DATA DIVISION.

PROCEDURE DIVISION.
DISPLAY "Hello, world!".
STOP RUN.
[编辑]
Common Lisp
(format t "Hello world!~%")
[编辑]
DOS batch
@echo off
echo "Hello, world!"
[编辑]
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
[编辑]
Fortran
    WRITE(*,10)
10  FORMAT('Hello, World!')
    STOP
    END
[编辑]
HQ9+
H
[编辑]
INTERCAL
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
[编辑]
Java
public class Hello
{
    public static void main(String[] args)
    {
        System.out.println("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
[编辑]
OCaml
let main () =
    print_endline "Hello world!";;
[编辑]
Pascal
program Hello;
begin
    writeln('Hello, world!');
end.
[编辑]
Perl
#!/usr/local/bin/perl
print "Hello, world!/n";
[编辑]
PHP
<?php
    print("Hello, world!");
?>
[编辑]
Pike
#!/usr/local/bin/pike
int main()
{
    write("Hello, world!/n");
    return 0;
}
[编辑]
PL/I
Test: procedure options(main);
    declare My_String char(20) varying initialize('Hello, world!');
    put skip list(My_String);
end Test;
[编辑]
Prolog
goal
    write("hello,world!").
[编辑]
Python
#!/usr/local/bin/python
print "Hello, world!"
[编辑]
REXX
say "Hello, world!"
[编辑]
Ruby
#!/usr/bin/ruby
print "Hello, world!/n"
[编辑]
Scheme
(display "Hello, world!")
(newline)
[编辑]
sed (requires at least one line of input)
sed -ne '1s/.*/Hello, world!/p'
[编辑]
Smalltalk
Transcript show: 'Hello, world!'
[编辑]
SNOBOL
    OUTPUT = "Hello, world!"
END
[编辑]
SQL
create table MESSAGE (TEXT char(15));
insert into MESSAGE (TEXT) values ('Hello, world!');
select TEXT from MESSAGE;
drop table MESSAGE;
[编辑]
Tcl
#!/usr/local/bin/tcl
puts "Hello, world!"
[编辑]
Turing
put "Hello, world!"
[编辑]
UNIX-style shell
#!/bin/sh
echo 'Hello, world!'
[编辑]
GUI
[编辑]
Delphi
program HelloWorld;
uses
    Dialogs;
begin
    ShowMessage('Hello, World!');
end.
[编辑]
Visual Basic
MsgBox "Hello, world!"
[编辑]
Visual FoxPro
? "Hello, world!"
[编辑]
X11
用一个程序

xmessage 'Hello, world!'
用C++和gtkmm 2

#include <iostream.h>
#include <gtkmm/main.h>
#include <gtkmm/button.h>
#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);
}
[编辑]
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);
    }
}
[编辑]
Java applet
Java applet用于HTML文件。

<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY>

HelloWorld Program says:

<APPLET CODE="HelloWorld.class" WIDTH=600 HEIGHT=100>
</APPLET>

</BODY>
</HTML>

import java.applet.*;
import java.awt.*;

public class HelloWorld extends Applet
{
    public void paint(Graphics g)
    {
        g.drawString("Hello, world!", 100, 50);
    }
}
[编辑]
JavaScript
JavaScript是一种用于HTML文件的脚本语言。要查看以下程序的运行结果,只要将其复制到任何HTML文本即可。

<script language="javascript">
function helloWorld()
{
    javascript: alert("Hello World");
}
</script>

<a href="javascript:this.location()"
οnclick="javascript:helloWorld();">Hello World Example</a>
[编辑]
PostScript
PostScript是一种专门用来创建图像的语言,常用于打印机。

/font /Courier findfont 24 scalefont
font setfont
100 100 moveto
(Hello World!) show
showpage

39种语言编写的Hello World程序相关推荐

  1. paho | 支持10种语言编写mqtt客户端,总有一款适合你!

    1. 轻量级物联网协议 - MQTT MQTT全称 Message Queuing Telemetry Transport,即消息队列遥测传输协议,是一种基于发布/订阅(publish/subscri ...

  2. c语言程序命令行,ttyd(C语言编写的命令行程序) v1.3.1 免费版

    ttyd是一个C语言编写的命令行程序,可以把任意命令行程序分享到网页上操作,可以看做是个网页版的远程终端,支持 Linux.macOS 系统,还可以运行在 OpenWrt 之类的嵌入式系统上. 功能特 ...

  3. c语言编写51单片机中断程序,执行过程是怎样的?

    Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序: #include<reg52.h>   void main(void)   {    EA=1;      //开放总中断 ...

  4. C语言编程编制职工档案管理程序,C语言 编写一个职工档案程序.doc

    C语言 编写一个职工档案程序 一.实验项目: 实验6 课程设计 (时间安排:6课时) 二.实验内容: 编写一个职工档案程序,设计实现如下功能: 建立一个职工数据结构,结构包含姓名.序号.性别和年龄信息 ...

  5. 单片机c语言程序编写步骤,用c语言编写单片机流水灯程序详解

    用C语言编写的流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口, ...

  6. (3)verilog与Systemverilog两种语言编写二分频

    3 verilog与Systemverilog两种语言编写二分频 1 本节目录 1)Verilog简介 2)Systemverilog简介 3)二分频verilog编码 4)二分频Systemveri ...

  7. (3)verilog与VHDL两种语言编写二分频

    3 verilog与VHDL两种语言编写二分频 1 本章目录 1)Verilog简介 2)VHDL简介 3)二分频verilog编码 4)二分频VHDL编码 5)本节结语 2 Verilog简介 Ve ...

  8. 如何用c语言编写炫酷烟花程序,C语言实现放烟花的程序

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...

  9. 利用C语言编写放烟花的程序(同时也可以播放音乐)

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐) 代码如下 #pragma once #include<stdio.h> #include<graphics.h> // ...

最新文章

  1. 700页的机器学习笔记火了!完整版开放下载
  2. Loadrunner在post请求的cookie中插入其它多个值
  3. 斯坦福大学深度学习与自然语言处理第一讲:引言
  4. c语言获取当前日期和时间
  5. 人工智能中的局部搜索算法
  6. c语言1000行代码,【图片】【标题党】论我是如何一分钟写1000行代码的【c语言吧】_百度贴吧...
  7. 苹果中国大出血! AirPods 2免费送了
  8. js高程笔记1-3章
  9. MongoVUE 使用教程
  10. 无法登录苹果开发者_利用Apple Developer申请苹果开发者账号(解决支付授权失败问题)...
  11. 硬盘打不开了的修复方法?
  12. Gauss 求积公式及代码
  13. ajax 传参json字符串
  14. 火灾自动报警系统学习心得
  15. 一个算法模型搞定千万种场景,人工智能领域出现一匹黑马
  16. 2020ICPC 昆明热身赛 C.Statues(小思维)
  17. DFS:寻路问题(Roads)
  18. 内地酒量排行榜山东居首 东北三省无一进前三
  19. 现代信号处理教程第二版(胡广书)学习笔记
  20. Android P适配以太网功能开发指南

热门文章

  1. python爬虫新闻网页的浏览量转载量,Python爬取新闻网标题、日期、点击量
  2. Quick-cocos2d-x3.3 Study (五)--------- 添加按钮
  3. java快速排列马桶,马桶Java :6.高性能MySQL语句(二)
  4. sqlserver2000换成mysql_MS SQL Server2000转换成MySQL
  5. java使用重绘实现拖动_【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸...
  6. mysql-front5.1的注册码
  7. 从Myeclipe转向Idea,各种遇坑与填坑经验,持续更新(图文)
  8. 嵌入式Linux内核优化裁剪
  9. 填表法解“银行家算法”问题
  10. 收集4:文件打开方式