BY企鵝

C++基礎語法-2

複習

Hello World!

#include <iostream>
using namespace std;

int main(){
    cout << "Hello World!" << endl;
    return 0;
}

//單行註解

/*
多行
註解
*/

cout

#include <iostream>
using namespace std;

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

/*
cout輸出是std命名空間底下的函式
用法:cout << "想輸出的東東1 " << "想輸出的東東2 ";

\n是跳脫字元,表示換行
雙引號""包住的東東代表讓電腦不要思考這是什麼,直接輸出就對了
最後一定要加上分號,代表這個動作結束
*/

變數與運算

變數

  • Hello world! 便是只有一個輸出的程式。而有了輸入的程式在使用上能更符合當時需求。

  • 變數,是一個能隨時變動的值(不是未知數)。變數就像個箱子,可以讓電腦放東西進去。但可以放進箱子的物品很多,所以在宣告變數時就要說明你要放什麼型態的東西進去。

  • 宣告變數(告訴電腦你有一個變數),而變數名稱只能由數字、英文、與底線構成

  • 用法:型態 變數名稱;

變數的資料型態

補充:string(字串),存取文字

變數

#include <iostream>
using namespace std;

int main(){
    int a; //宣告一個整數型態的變數a
    float sum, max; //一次宣告兩個變數,用逗號隔開
    long long A; //大小寫在變數裡代表的意義不相同
    int 1a; //不成立,數字不可以放在開頭
    return 0;
}

設定變數值

#include <iostream>
using namespace std;

int main(){
    int a, b, c; //宣告整數變數a, b
    a = 10; //'='在程式中是賦值(assign)的意思
    cin >> b; //將b設為輸入值
    c = a + b; //將c設為a+b的和
    cout << c << endl; //輸出c的值 
    return 0;
}

Question

Q:如果不宣告變數值,直接輸出會怎樣?

A:會輸出亂數

使用變數前

要記得初始化

(EX: int a = 0)

運算子

#include <iostream>
using namespace std;

int main(){
    int a, b;
    cin >> a >> b;
    cout << "a + b = " << a + b << endl; //a + b = 25
    cout << "a - b = " << a - b << endl; //a - b = 5
    cout << "a * b = " << a * b << endl; //a * b = 150
    cout << "a / b = " << a / b << endl; //a / b = 5
    cout << "a % b = " << a % b << endl; //a % b = 5
    return 0;
}

運算子

#include <iostream>
using namespace std;

int main(){
    int a, b;
    cin >> a >> b;
    a += b; //a = a + b
    a -= b; //a = a - b
    a *= b; //a = a * b
    a /= b; //a = a / b
    a %= b; //a = a % b
    a++ //a = a + 1
    a-- //a = a - 1
    return 0;
}

Question

Q:交換a與b的值

//範例一:輸出交換(錯誤)
#include <iostream>
using namespace std;

int main(){
    int a, b;
    cin >> a >> b;
    cout << b << ' ' << a;
}

a和b的值實際上

並沒有交換

只是調換輸出順序

//範例二:a, b值交換 直覺解(錯誤)
#include <iostream>
using namespace std;

int main(){
    int a, b;
    cin >> a >> b;
    a = b;
    b = a;
    cout << a << ' ' << b;
}

a, b值相同

因為a已經被改成b了

所以b維持原值

Question

Q:交換a與b的值

//範例三:暫存變數
#include <iostream>
using namespace std;

int main(){
    int a, b, temp;
    cin >> a >> b;
    temp = a;
    a = b;
    b = temp;
    cout << a << ' ' << b;
}

使用一個暫存變數

儲存a的值

解決a被新值覆蓋的問題

使用swap( )

可以達成與範例三

相同的效果

//範例四:函數
#include <iostream>
using namespace std;

int main(){
    int a, b;
    cin >> a >> b;
    swap(a, b);
    cout << a << ' ' << b;
}

題目們

測資

  • 通常題目會要求某種計算後的結果,並提供輸入和輸出的資料
  • 會提供範例輸入與輸出作為測試資料
  • 要完全依照題目的輸出方式輸出
  • 正式執行時,通常會多出更多資料,必須全部通過才會算通過(AC)

關於題目測資

結束啦~

下次小社是選擇結構 (if else) 喔

記得來上小社!

C++中午小社第二堂

By d11130110周月蘅

C++中午小社第二堂

  • 491