基礎程式-C++

Text

Index

首先,在你的C++環境下輸入下面這一段程式碼

#include<iostream>
using namespace std;
int main()
{
	cout << "Hello World!";
}

此時,程式應該會輸出Hello World!的字樣

其中 #include <iostream> 代表所引用的檔案

(iostream是c++的標準函式庫)

 

using namespace std; 則代表使用的命名空間,像是cout就是在std這個命名空間裡

 

int main() 主函式,丟了之後程式會執行的函式

cout是c++的輸出指令,加上<<後會輸出後面的東西

程式舉例如下:

cout << "Hi";            // Hi

cout << 12345;           // 12345

cout << "Hello World!\n";//輸出Hello World!並換行

題目練習:

zerojudge d483

變數

在程式中,我們需要告訴電腦東西的類別才能進行對應的運算,以下是一些常見的變數:

int

long long

char

string

double

bool

整數,佔4byte,範圍為 -2^31~2^31-1

整數,佔8byte ,範圍為 -2^63~2^63-1

字元,會是'a'的形式

字串,會是"string"的形式(Hello World的輸出就是這個!)

可以用來儲存非整數的數值

布林值,判斷true or false

變數

在程式中,我們會使用=來為變數賦值,通常格式如下:

變數型態 變數名稱 = 變數的值

int number = 10;

long long largeNumber = 20;

char ch = 'a';

string str = "hi";

double num = 1.3;

bool is = true;

陣列

如果有時候我們想要存多個值,一種作法是使用多個變數,像是

int a, b, c, d, e;

而在程式中,我們有另外一個方法來儲存:陣列

語法為 變數型別 變數名稱[長度]

例如: int arr[5];

在電腦的世界中,是從0開始,上面的陣列裡面會有

arr[0], arr[1], arr[2], arr[3], arr[4]這五個元素

而陣列是可以有多個維度的,像是arr[2][2]

就會有arr[0][0], arr[0][1], arr[1][0], arr[1][1]

四個元素

輸入/輸出

設定好變數以後,可以使用

cin >> a >> b;

來輸入你想要輸入的值

題目要輸出的時候,使用

cout << a << b;

就可以進行輸出

Hint: 要記得箭頭的方向!

自定義型態類別-struct

struct name
{
	//自定義的內容(data member)
    int age;
    string school;
}; // 要記得最後分號

name lin; // 資料型別為name 的lin

運算

int a = 3 + 5;                # 8 加法

a += 1;                       # 9

a = a - 7;                    # 2 減法

a -= 1;                       # 1

a = a * 2;                    # 2 乘法

a *= 4;                       # 8

a = a / 2;                    # 4 除法

a /= 4;                       # 1

a = 17 % 5;                   # 2 取餘數

a %= 2;                       # 0

運算-判斷

>=  >  <=  <  ==    !=           比較大小

||                       or

&&                       and

^                        xor

 

if-else

if(條件式1)
{
	條件式1成立執行這個;
}
else if(條件式2)
{
	條件式1成立,條件式2不成立執行這個;
}
else
{
	條件式均不成立執行這個;
}

運算題目

if-else題目

迴圈-for

有時候,我們會重複做一件事很多次,此時就可以用迴圈來重複多次的運作。

像是for 迴圈,下面是一個迴圈的舉例:

for (int i = 0; i <= n; i++)

{

    cout << i << endl;     //迴圈執行的內容

}

 

先看第一行程式碼:for (int i = 0; i <= n; i++)

int i = 0;     執行到迴圈時,第一件要做的事

i <= n;     迴圈持續進行的條件

​i++         迴圈跑到最後的時候,要執行的動作

迴圈-while

int i = 0;

while(i <= n)       // 括號內放迴圈繼續進行的條件

{

cout << i << endl;

i++;

}

題目練習

函式

在hello world中,我們的程式被main包住,又稱為主函式

這裡要來介紹其他函式

先看下列程式

int f(int x)
{
	return x * 3 + 1;
}
int main()
{
	cout << f(3);
}

函式回傳型態 函式名稱(參數)

{ // 你要的內容

return 你要回傳的內容;

}

函式

常用到的函式有以下內容:

min(a, b) / max(a, b)

abs(a)

swap(a, b)

sqrt(a)

pow(a, b)

sort(arr, arr + n)

而函式型別多了一個void
是可以不用回傳東西的函式

 

遞迴

先看費式數列

第n項為第n - 1項和第n-2項之和

可以以下列函數的形式來表示

f(n) = f(n - 1) + f(n - 2)

其中f是一個函數

遞迴的精妙處在於

你先假設這個狀態是好的,再由這個狀態繼續推導式子

遞迴

一些題目 (未依照難度排序)

題單紀錄

可以在這裡記錄自己的解題紀錄喔!
 

Made with Slides.com