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
常用編譯器:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
}#include就是引入一個函式庫
函式庫可以當作一個已經寫好的工具集
而iostream是一個輸入和輸出的函式庫
<bits/stdc++.h>萬用函式庫
指引入一個命名空間,而std是標準函式庫的命名空間的名稱
如果沒有加上這一行,
在使用函式庫中的函式就需要加上它的命名空間
命名空間的作用是可以區分不同函式庫中相同名稱的函式
std::cout這是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;
//210int a=5,b;
b=++a;
cout<<b;
//6int a=5;
cout<<a++;
//5int a=5;
cout<<++a;
//6算術運算子的簡寫:
int a=5,b=3;
b+=a;
cout<<b;
//8a=a+1 a+=1
a=a-1 a-=1
邏輯運算子:在邏輯運算中只會有true或false兩種結果
| 符號 | 意義 | 達成true條件 |
|---|---|---|
| && | 且AND | 兩個都是 1 |
| || | 或OR | 至少一個 1 |
| ^ | 異或XOR | 兩個相異 |
| ! | 否NOT | 與原本相反 |
比較運算子:在比較運算中只會有true或false兩種結果
| 符號 | 意義 |
|---|---|
| >= | 大於等於 |
| <= | 小於等於 |
| > | 大於 |
| < | 小於 |
| == | 等於 |
| != | 不等於 |