8.1日CSP-J初賽內容總結

yucheng0630發表於2024-08-04

8.1日CSP-J初賽內容總結

補充知識點:

假設結構體為 Point 型別

struct Point
{
    int x, y;
}

兩種賦值方式

  1. Point A;
    A.x = ......;
    A.y = ......;
    
  2. Point A = Point{1, 2};
    

整體賦值,將 {} 裡的按先後賦值給 x, y

小於號重寫:優先佇列之中

bool operator < (const 結構體型別 &A) const
{
    //左邊的不要寫名字,但是右邊的現在是A
    return t > A.t;
}

從2022年開始,NOIP不支援 Pascal

補充知識點 完

執行一個程式碼的流程

  1. 編譯解釋

    高階語言 \(\to\) 機器語言(高階語言 \(\to\) 低階語言)

    機器語言 \(\neq\) 低階語言,\(\because\) 低階語言有很多

    cpp \(\to\) exe

  2. 執行


計算機語言

  1. 高階語言和低階語言,越貼近人越高階
  2. 機器語言、組合語言、高階語言依次接近人的使用方式
  3. 編譯性語言:高階語言 \(\to\) 機器語言 \(\to\) 執行
  4. 解釋性:對程式逐條執行
  5. 面嚮物件語言:C++ Java C# Python Objectve-C

C++中各類資料型別的大小

\(int = 4位元組=32位元\)

\(int [-2^{31},2^{31}-1]\)

\(long\) \(long=8位元組=64位元\)

\(long\) \(long[-2^{63},2^{63}-1]\)

\(unsigned\) \(long\) \(long=4位元組=32位元\)

\(unsigned\) \(long\) \(long[0,2^{64}-1]\)

\(short=2位元組\)

\(bool=1位元組\)

\(char=1位元組\)

\(float=4位元組\)

\(double=8位元組\)

\(long\) \(double=1位元組\)

一個漢字\(=2位元組\)

\(1KB = 1024bytes\)

\(1MB = 1024KB=1024^{2}bytes\)

\(1GB = 1024MB\)

\(1TB = 1024GB\)

一份C++程式碼大約1KB,一首歌曲大約5MB,一部電影大約10GB,一個硬碟大約1TB