0%

0-0:Hello World! 標頭檔與命名空間

Hello World!

我們直接來看一下,要如何在螢幕上輸出 Hello World 吧!

學完後,就可以說:我會C++喔

1
2
3
4
5
6
#include<iostream>
using namespace std;

int main(){
cout<<"Hello World!\n";
}

程式應該會輸出:

1
Hello World!

下面,我們就一個一個來看,每一行在做什麼吧!

標頭檔

#include 這句,意思是引入名為 iostream 的標頭檔。

標頭檔wiki

簡單來說,是存放你要使用的功能的地方。

例如,假如你想要使用 cout 這個功能,便需要在程式的開頭加上這行,因為 cout 是 iostream 裡的功能,所以必須 include 後才能使用。

1
#include<iostream>

命名空間

using namespace std 這句,意思是使用名為 std 的命名空間。

教學

若有兩個人同名,我們不知道要如何分辨時,我們可能會說:X年X班的XXX….

在這裡概念是類似的!using namespace std 就是跟程式說,我接下來叫的人,是在 std 這個班級裡,這樣就不用每次叫人都加上班級了!

在 include 後,main 前打上這一段。

1
using namespace std;

若沒有這一行,每次使用 cout 以及其他在 std 命名空間下的功能時,將需要寫成如下形式,十分麻煩。

1
2
3
4
5
6
7
8
9
#include<iostream>

int main(){
int x,y;
std::cin>>x>>y;
std::cout<<"HI\n";
x = std::min(x,y);
std::cout<<x<<"\n";
}

main 函式

函式,可以想成一個機器,工作在函式裡執行。之後將有函式的詳細介紹

一個 C++ 程式裡,開始執行的地方,我們叫它 main 函式。

語法是:

1
2
3
int main(){

}

由大括號包覆起來的區塊,就是我們要寫程式的地方!

cout

C++ 裡的輸出指令,cout後面加上<<,再加上你要輸出的東西,就可以將它顯示在螢幕上!

“Hello World” 是一個字串,以雙引號包覆。

‘\n’ 為換行字元,雖然看不到,但可以將輸出換行,在 Online Judge 裡非常重要。

1
cout << "Hello World\n";

這句的意思,就是輸出 Hello World 後換行!

組合

將上面全部拼合在一起,就是我們的第一個 C++ 程式啦。

1
2
3
4
5
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"Hello World!\n";
}

複製到自己的 Dev C++ 裡,按下 F11 試試看吧!

之後,自己試著寫一次!

競程上

競程上,我們通常使用萬用標頭檔 bits/stdc++.h,並且使用 std 命名空間。bits/stdc++.h 包含了如 iostream 以及 algorithm 等競程上 99% 你所需要的標頭檔,直接用就對了,namespace std 也是,你需要的所有東西都在裡面了。

練習題

zerojudge d483

AC code

在多數的Online Judge中的共識,是輸出後要換行。且因為輸出是嚴格比對的,即使只少一個換行字元,解答都會被視為完全錯誤。

因此,請記得一定要在輸出結尾加上一個換行符號(“\n”)!

1
2
3
4
5
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"hello, world\n";
}