hello world是编程入门的经典语句,我来给你们讲一讲关于hello world的知识吧。
hello world作为所有编程语言的起始阶段,占据着无法改变的地位,所有中/英/法/德/美……版本的编程教材中,hello world总是作为第一个TEST记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!
hello world!
"Hello, world"程序是指在计算机屏幕上输出Hello, world这行字符串的计算机程序,“hello, world”的中文意思是“世界,你好”。这个例程在Brian Kernighan和Dennis M. Ritchie合著的The C Programming Language中被使用而广泛流行。因为它的简洁、实用,并包含了一个程序所应具有的一切,因此为后来的编程类图书的作者提供了范例,一直待续到今。
hello world程序全集
ActionScript
trace("Hello, world!");
Ada
with TEXT_IO;
procedure HELLO is
begin
TEXT_IO.PUT_LINE ("Hello, world!");
end HELLO;
汇编语言
x86 CPU,GNU/Linux,NASM
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
x86 AT&T、Gas
.data
msg : .string "Hello, world!\n"
len = . - msg
.text
.global _start
_start:
movl $len, %edx
movl $msg, %ecx
movl $1 , %ebx
movl $4 , %eax
int $0x80
movl $0 , %ebx
movl $1 , %eax
int $0x80
x86 CPU、Windows、MASM32
.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
8086操作系统
[BITS 16]
org 0x7c00
mov ax,cs
mov ds,ax
mov es,ax
call DispStr
jmp $;End Hear
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16;How long is the String
mov ax, 0x1301
mov bx, 0x000c
mov dl, 0
int 0x10
ret
BootMessage: db "Hello, world!"
times 510-($-$$) db 0x0
dw 0xaa55; Bootable Mark
ASP
<% Response.Write("Hello, world!") %>
或者简单地写成:
<%= "Hello, world!" %>
AutoIt
MsgBox(1,'','Hello, world!')
AWK
BEGIN { print "Hello, world!" }
Bash (or sh)
echo 'Hello, world!'
或者:
printf 'Hello, world!\n'
BASIC
传统版 BASIC(例如 GWBASIC):
10 PRINT "Hello, world!"
20 END
或在提示符输入:
? "Hello, world!"
现代版 BASIC(例如 Quick BASIC):
PRINT "Hello, world!"
以下的语句,在 Quick BASIC 中同样有效:
? "Hello, world!"
BCPL
GET "LIBHDR"
LET START () BE
$(
WRITES ("Hello, world!*N")
$)
Brainfuck
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
BlitzBasic
Print "Hello, world!"
WaitKey
BOO
print "Hello, world!"
C
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
或者:
#include <stdio.h>
int main(void)
{
puts("Hello, world!");
return 0;
}
C++
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
或者:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
C++/CLI
int main()
{
System::Control::WriteLine("Hello, world!");
}
C# (C Sharp)
class HelloWorldApp
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello, world!");
}
}
或者(仅用于Microsoft Windows)
class HelloWorldApp
{
[DllImport("user32.dll")]
static extern MessageBox(string title, string message);
public static void Main()
{
MessageBox(null, "Hello, world!");
}
}
或者(使用附加的Windows Forms)
using System.Windows.Forms;
class HelloWorldApp
{
public static void Main()
{
MessageBox.Show("Hello, world!");
}
}
COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hello, world!".
STOP RUN.
Common Lisp
;直接输出
"Hello world!"
;或者
(format t "Hello world!~%")
DOS批处理
@echo Hello, world!
对于MS-DOS 3.0或更低版本:
echo off
cls
echo Hello, world!
Linux Shell
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(*,*) 'Hello, world!'
STOP
END
HTML
<!-- 直接輸出... -->
Hello World
<!-- 或者 -->
<html>
<head>
<title> Hello World </title>
</head>
<body>
Hello World
</body>
</html>
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!");
}
}
or in tinystruct2.0:
package tinystruct.examples;
import org.tinystruct.AbstractApplication;
import org.tinystruct.Application;
import org.tinystruct.ApplicationException;
import org.tinystruct.system.ApplicationManager;
public class hello extends AbstractApplication {
@Override
public void init() {
// TODO Auto-generated method stub
this.setAction("say", "say");
}
@Override
public String version() {
// TODO Auto-generated method stub
return null;
}
public String say(String words){
System.out.println(words);
return words;
}
/**
* @param args
* @throws ApplicationException
*/
public static void main(String[] args) throws ApplicationException {
// TODO Auto-generated method stub
// Praise to the Lord!
ApplicationManager.install(new hello());
// to print 'Hello World'
ApplicationManager.call("say/Hello World", null); // Hello World
// or...
Application app=ApplicationManager.get( hello.class.getName());
app.invoke("say", new Object[]{"<h1>Hello, World!</h1>"}); // <h1>Hello, World!</h1>
app.invoke("say", new Object[]{"<h2>Bye!</h2>"}); // <h2>Bye!</h2>
// or...
// http://localhost:8080/?q=say/Hello World
// https://github.com/m0ver/tinystruct2.0
}
}
JSP
<%
out.print("Hello, world!");
%>
或者简单地写成:
<%="Hello, world!"%>
Lisp
;直接输出
"hello, world"
;或者
(format t "hello, world~%")
Lua
print "Hello, world!"
Malbolge
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
Metapost
beginfig(1);
draw (0,0)--(0,10);
draw (0,5)--(5,5);
draw (5,0)--(5,10);
draw (12,0)--(7,0)--(7,10)--(12,10);
draw (12,5)--(7,5);
draw (14,10)--(14,0)--(19,0);
draw (21,10)--(21,0)--(26,0);
draw (28,5)...(30.5,0)...(33,5)...(30.5,10)...cycle;
draw (38,10)--(39.25,0)--(40.5,10)--(41.75,0)--(43,10);
draw (45,5)...(47.5,0)...(50,5)...(47.5,10)...cycle;
draw (52,0)--(52,10);
draw (52,10)..(57,4)..(52,6.5);
draw (52,5)--(57,0);
draw (61,10)--(61,0)--(66,0);
draw (68,10)--(68,0)..(73,5)..cycle;
endfig;
end
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
Nuva
<..直接输出..>
Hello, world!
<..或者..>
<.
// 不带换行
? "Hello, world!"
// 或者
// 带换行
?? 'Hello, world!'
.>
OCaml
let main () =
print_endline "Hello world!";;
Pascal
program Hello;{此行可以省略}
begin
writeln('Hello, world!');
end.
Perl
#!/usr/bin/env perl
print "Hello, world!\n";
Perl 5.10(含)以后版本:
#!/usr/bin/env perl
use 5.010;
say "Hello, world!";
PHP
<?php
echo 'Hello, world!';//通常使用這個,比 print 少一個字元
print 'Hello, world!';
?>
或者
<?= "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
适用于Python 2:
#!/usr/bin/env python
print "Hello, world!"
适用于Python 3:
#!/usr/bin/env python
print("Hello, world!")
REXX
say "Hello, world!"
Ruby
#!/usr/bin/ruby
puts "Hello, world!"
Sbyke Laborana
INIT min:1001
Om:"Hello, world!"
Scheme
(display "Hello, world!")
(newline)
sed
(需要至少一行输入)
sed -ne '1s/.*/Hello, world!/p'
Seed7
$ include "seed7_05.s7i";
const proc: main is func
begin
writeln("Hello, world!");
end func;
Smalltalk
Transcript show: 'Hello, world!'
Small Basic
TextWindow.WriteLine("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;
第二种
SELECT 'hello, world';
第三种
print 'hello,world!'
Tcl
#!/usr/local/bin/tcl
puts "Hello, world!"
TScript
? "Hello, world!"
Turing
put "Hello, world!"
UNIX-style shell
程序中的/bin/sh可改为您使用的shell
#!/bin/sh
echo 'Hello, world!'
bc
#!/usr/bin/bc -q
print "Hello World"
quit
dc
#!/usr/bin/env dc [Hello World]p
GUI
Delphi
program HelloWorld;
uses
Dialogs;
begin
ShowMessage('Hello, World!');
end.
Nuva
<.
System.Ui.ShowMessage('Nuva', 'Hello, world!', ['OK'])
.>
Visual Basic
MsgBox "Hello, world!"
或者
Print "Hello, world!"
Visual FoxPro
? "Hello, world!"
X11
用一个程序
xmessage 'Hello, world!'
使用Qt
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel label("Hello, world!");
label.show();
return app.exec();
}
C 和 GTK+
#include <gtk/gtk.h>
int main(int argc, char * args[])
{
GtkWidget * win, * label;
gtk_init(& argc, & args);
label = gtk_label_new("Hello, world!");
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_add(GTK_CONTAINER(win), label);
gtk_widget_show_all();
gtk_main();
return 0;
}
用C++和gtkmm 2
#include <iostream>
#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代码:
<html>
<head>
<title>Hello World</title>
</head>
<body>
HelloWorld Program says:
<applet code="HelloWorld.class" width="600" height="100">
</applet>
</body>
</html>
Java代码:
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文件中,也可以用在其它宿主环境下,比如Microsoft Windows 脚本宿主(WSH)和一些Web服务环境。
用于HTML中:
alert("Hello, World!");
//或者
document.write("Hello, World!");
用于WSH中:
WScript.Echo("Hello, World!");
PostScript
PostScript是一种专门用来创建图像的语言,常用于打印机。
/font /Courier findfont 24 scalefont
font setfont
100 100 moveto
(Hello World!) show
showpage
XAML
<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>
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!");
}
}
}
易语言
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
信息框
(“Hello, World!”, 0, )
|