C++基礎概論

10^11

目錄

  • 社團介紹及宣傳
  • 程式語言
  • 編譯器
  • 第一個程式
  • 變數
  • 輸入輸出
  • 運算子

不重要的講師介紹

姓名:陳芊邑(10^11)

職位:社長x教學

用戶名:C.Y/愛錢成癡,嗜賭成癮

綽號:千億姊姊、小清

興趣:休眠、寫文、跟數學嗨、看小說、音樂、心理學、桌遊

專長:壓線不遲到

附註:以後教學簡報可能會丟一堆梗圖,見諒一下

然後我很喜歡跟其他幹部們偷抱抱,但我是異性戀

這是我DC頭像

對這是情頭

程式語言

程式語言

定義(維基百科):

程式語言(英語:programming language)

是用來定義電腦程式的形式語言

它是一種被標準化的交流技巧,用來向電腦發出指令

一種能夠讓程式設計師準確地定義電腦所需要使用資料的電腦語言

並精確地定義在不同情況下所應當採取的行動。

程式語言

來點白話文:

簡單來說

就是可以透過程式語言對電腦下達指令

讓電腦知道它要如何執行

程式語言

程式語言又分成三種:

  • 機器語言
  • 組合語言
  • 高階語言

程式語言

電腦是透過二進位(0、1)進行資料的儲存和計算

而機器語言就是以二進位的方式直接對電腦下達指令

 

硬體能夠直接理解並執行機器語言的指令

所以不同廠牌或種類所使用的機器語言都有所不同

機器語言 (Machine Language):

程式語言

每個文字指令都對應到一個機器語言指令

所以在執行指令前需要把它翻譯成機器語言

這個動作就稱為組譯

 

但由於組合語言依然對應到機器語言

所以仍然會有無法在不同處理器共通的問題

組合語言 (Assembly Language):

程式語言

為了讓同一個程式可以在不同的處理器上運行

同時又能更貼近人類日常用語、讓程式更好理解

所以產生了高階語言

高階語言 (High-Level Programming Language):

包含Python、Java、C#、JavaScript

程式語言

高階語言又分成直譯 (Interpreted) 和 編譯 (Compiled)

編譯語言 直譯語言
工具 編譯器 直譯器
執行方式 先經編譯器轉換再執行 逐行翻譯並執行
速度
語言 Python、JavaScript C、C++

程式語言

嗯?高階語言?那有沒有低階、中階語言?

有的!

程式語言

該類程式語言之所以被稱為低階

是因為它很少提供或不提供電腦的指令集體系結構

被描述為「接近硬體」

低階語言:

包含機器語言、組合語言

程式語言

結合了高階語言的抽象特性和低階語言的硬體控制能力

適合需要高效能且一定程度控制硬體的應用場景

中階語言:

包含C語言

程式語言

那我們平常在資研學習的C++是?

高階語言!

程式語言

APCS程式檢定會考什麼語言?

可以接受用什麼語言寫實作?

C語言、C++、Java、Python

編譯器

編譯器

常用編譯器:

 

1. Dev-C++

2. Code::Blocks

3. Visual Studio

4. 線上編譯器

    online gdb

    progamiz

第一個程式

第一個程式

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

第一個程式

#include<iostream>

#include就是引入一個函式庫

函式庫可以當作一個已經寫好的工具集

而iostream是一個輸入和輸出的函式庫

<bits/stdc++.h>萬用函式庫

第一個程式

using namespace std;

指引入一個命名空間,而std是標準函式庫的命名空間的名稱

如果沒有加上這一行,

在使用函式庫中的函式就需要加上它的命名空間

 

命名空間的作用是可以區分不同函式庫中相同名稱的函式

std::cout

第一個程式

int main()

這是main函式,它是C++定義一個程式的起點

當執行一個程式時,就會從main函式開始

而大括號{ }內就是main函式的內容

資料型別與變數

變數

變數是程式放資料的空間,每個變數佔有特定的記憶體空間。

程式將資料進行運算,就是對變數與記憶體進行運算。

變數:y

資料:x+1

y=x+1

變數

1.開頭不能為數字。

2.只能使用大小寫英文字母(A-Z,a-z)、數字(0-9)與底線(_)所組成。

3.不能使用保留字(如if、for、while)。

4.變數大小寫有差別,例如:A與a是不同的變數。

5.使用有意義的單字命名,如score命名成績變數。

變數命名規則:

變數

資料型態 變數;

變數=值;

變數宣告公式:

資料型態 變數=值;

等等,資料型態是什麼?

資料型態

資料型態是程式語言中的一個基本概念,

它定義了變數可以存儲的資料的種類、大小、以及如何處理這些資料

每個變數在程式中都有一個指定的資料型態,

這決定了變數能夠儲存什麼類型的值,以及如何對這些值進行操作

資料型態?

資料型態

資料型態?

整數 長整數
寫法 int a=1; long long a=100000000;
記憶體空間 4Bytes 8Bytes
範圍 -2^31~2^31-1 -2^63~2^63-1

資料型態

資料型態?

浮點數 倍精度浮點數
寫法 float a=0.1; double a=3.111111111;
記憶體空間 4Bytes 8Bytes
範圍 小數點後第七位 小數點後第十五位

資料型態

資料型態?

字元 布林值
寫法 char a='?';
char b='g';
bool yes=true;
bool no=false;
記憶體空間 1Bytes 1Bytes
範圍 0~255(ASCII)
說明 大小寫英文字母、數字、英文標點符號 false(0)/true(1)

資料型態

字元一次只能一個符號,那如果想要一句話呢?

字串(string):

string a="zsisc._.31st";
string a="猜猜我是誰";

輸入&輸出

輸入輸出

cin(輸入):

cin是C++用來輸入的物件,格式為
如果要輸入多個值可以使用

cin >> 變數;
cin >> 變數 >> 變數;
int x,y;
cin>>x>>y;
int x;
int y;
cin>>x>>y;

輸入輸出

cout(輸出):

cout是C++用來輸出的物件,格式為
如果要輸入多個值可以使用

cout << 變數或值;
cout << 變數或值 << 變數或值;
cout<<100<<x<<endl;

在需要換行的地方可以輸出endl"\n"

cout<<"Hello world!"<<"\n"<<100;

endl除了換行以外還會清空輸出緩衝區

輸入輸出

註解:不會被編譯器執行,讓程式碼更容易理解和維護

單行註解://內容

多行註解:/*內容*/

/*
建中資訊
中山資研
成功電研
景美電資
*/
//中山資研

運算子

運算子

指定運算子:將等號右邊計算結果儲存到等號左邊

int a=209;

運算子

算術運算子:

負責數值的運算,跟數學四則運算一樣,先乘除後加減

符號 意義
+
-
*
/
% 取餘數
++ 遞增1
-- 遞減1
int a=209,b;
b=a+1;
cout<<b;
//210
int a=5,b;
b=++a;
cout<<b;
//6
int a=5;
cout<<a++;
//5
int a=5;
cout<<++a;
//6

運算子

算術運算子的簡寫:

int a=5,b=3;
b+=a;
cout<<b;
//8

a=a+1            a+=1

a=a-1             a-=1

運算子

邏輯運算子:在邏輯運算中只會有true或false兩種結果

符號 意義 達成true條件
&& 且AND 兩個都是 1
|| 或OR 至少一個 1
^ 異或XOR 兩個相異
! 否NOT 與原本相反

運算子

比較運算子:在比較運算中只會有true或false兩種結果

符號 意義
>= 大於等於
<= 小於等於
> 大於
< 小於
== 等於
!= 不等於

KAHOOT!

C++基礎概論

By 愛錢成癡,嗜賭成癮