1 of 192

2021/2022 APCS C++

2 of 192

第 1 章

輸出入與算術運算

3 of 192

4 of 192

console - 主控台

cout - console output - 螢幕

console - 主控台

<< - 輸出

cout << 輸出到螢幕

5 of 192

字串

字串常數:兩個 " 括起來的內容為一段文字資料,C++ 負責處理 (輸出) 這段文字,不會以 C++ 的文法來檢查其內容。

6 of 192

其他注意事項

  1. 識別字不可拼錯
  2. 大小寫視為不同
  3. 空白數量可依視覺需要調整
  4. 陳述式結尾為 ; ,因此程式碼可以隨意換行,任何可以加空白的地方都可以換行。

7 of 192

8 of 192

算術運算子

+:加法

-:減法

*:乘法

/:除法 (整數除法-商)

37 ÷ 8 = 4 … 5

%:整數除法-餘數

9 of 192

10 of 192

int integer 整數

變數名稱:�英文字母大小寫, 數字, _

11 of 192

12 of 192

13 of 192

d063. 0 與 1

y

x

(0, 1)

(1, 0)

14 of 192

d063. 0 與 1

15 of 192

整數除法 (小三除法)

37 ÷ 8 = 4 … 5

/ (商, 無條件捨去)

37 / 8 = 4

% (餘數)

37 % 8 = 5

16 of 192

d063. 0 與 1

17 of 192

d827. 買鉛筆

18 of 192

19 of 192

20 of 192

21 of 192

22 of 192

23 of 192

24 of 192

第 2 章

比較運算子與條件分支

25 of 192

比較運算子 (關係運算子)

算術運算子�+, -, *, /, %

比較運算子�>, <, >=, <=, ==, !=

回傳值�1: true�0: false

(n > 0) - (n < 0)

true - false

26 of 192

d063. 0 與 1

27 of 192

28 of 192

29 of 192

30 of 192

APCS 加分方式 (高一)

110/11 APCS

加分方式

2 級分

s * 0.2 + 80

3 級分

s * 0.05 + 95

4, 5 級分

100

31 of 192

if 陳述式

if (<cond>) 陳述式

32 of 192

33 of 192

34 of 192

35 of 192

36 of 192

Code::Blocks

Source File�Object File�Executable File

37 of 192

38 of 192

d063. 0 與 1

39 of 192

40 of 192

41 of 192

儒略法

4 的倍數

平年 (300)

閏年 (100)

42 of 192

格瑞哥里法

4 的倍數

平年 (300)

閏年 (96)

平年 (4)

100 的倍數

43 of 192

格瑞哥里法

4 的倍數

平年 (300)

閏年 (96)

平年 (3)

100 的倍數

400 的倍數

閏年 (1)

44 of 192

45 of 192

46 of 192

邏輯運算子

  • 算術運算子�+, -, *, /, %
  • 比較 (關係) 運算子�>, <, >=, <=, ==, !=
  • 邏輯運算子�&&, ||

47 of 192

&& 真值表 (Truth Table)

a && b

&&

b

b == 0

b != 0

a

a == 0

0

0

a != 0

0

1

48 of 192

|| 真值表

a || b

||

b

b == 0

b != 0

a

a == 0

0

1

a != 0

1

1

49 of 192

50 of 192

  • 如果外面在下雨,出門帶雨傘。
  • 如果氣象說會下雨,出門帶雨傘。

如果外面在下雨氣象說會下雨,出門帶雨傘。

51 of 192

52 of 192

6 <= a < 12 //錯誤

a >= 6 && a < 12 //正確

53 of 192

短路運算

short circuit

54 of 192

55 of 192

56 of 192

第 3 章

迴圈

57 of 192

58 of 192

59 of 192

a058. MOD3

60 of 192

61 of 192

62 of 192

63 of 192

100000000 ≤ a, b ≤ 999999999, a, b ∈ Z

a = kb, k ∈ Z

a 可以被 k 整除, b = a/k ≥ 100000000

64 of 192

65 of 192

66 of 192

67 of 192

68 of 192

69 of 192

第 4 章

字串

70 of 192

71 of 192

72 of 192

a001. 哈囉 (char)

73 of 192

a001. 哈囉 (string)

74 of 192

75 of 192

數列的下標

A1

下標 Subscript

A1 + A2 + A3 + … + An

76 of 192

77 of 192

78 of 192

79 of 192

g384. 數秘術

80 of 192

81 of 192

82 of 192

83 of 192

84 of 192

85 of 192

第 5 章

陣列

86 of 192

87 of 192

88 of 192

89 of 192

a058. MOD3

90 of 192

91 of 192

92 of 192

93 of 192

94 of 192

95 of 192

96 of 192

97 of 192

98 of 192

99 of 192

100 of 192

101 of 192

102 of 192

103 of 192

104 of 192

第 6 章

自定義函數

105 of 192

106 of 192

107 of 192

STL 內的比較運算

比較運算子�>, <, >=, <=, ==, !=

a < b

a < b

a > b

b < a

a <= b

!(b < a)

a >= b

!(a < b)

a == b

!(a < b || b < a)

a != b

a < b || b < a

108 of 192

109 of 192

110 of 192

111 of 192

112 of 192

113 of 192

114 of 192

115 of 192

116 of 192

117 of 192

110 APCS 課程挑戰賽

118 of 192

第 7 章

測試資料輸入輸出

119 of 192

120 of 192

121 of 192

122 of 192

123 of 192

124 of 192

125 of 192

d141. Linearity

126 of 192

double n = 1234.56789;� cout << fixed << setprecision(3) << n << endl;

127 of 192

128 of 192

寒假營隊

129 of 192

130 of 192

131 of 192

a024. 最大公因數(GCD)

d693. 最小公倍數

132 of 192

133 of 192

134 of 192

135 of 192

f637. DF-expression (30%)

136 of 192

137 of 192

f638. 支點切割 (50%)

138 of 192

139 of 192

140 of 192

141 of 192

142 of 192

143 of 192

144 of 192

145 of 192

146 of 192

147 of 192

148 of 192

149 of 192

150 of 192

151 of 192

152 of 192

153 of 192

#include <bits/stdc++.h>�using namespace std;��int main () {� int d, c;� char ch;� while (cin >> d >> ch >> c, c += d*100) {� // 你的 DP 程式碼� cout << setw(3) << d << '.'� << setfill('0') << setw(2) << c%100� << setfill(' ') << setw(17) << c << endl;� }�}

154 of 192

a522: 12455 - Bars (DP)

155 of 192

156 of 192

157 of 192

158 of 192

159 of 192

學生報名開始練習賽

考古題:

160 of 192

APCS

161 of 192

2022 寒假營隊報名表

162 of 192

暑假營隊

資料結構--挑戰 5 級分

163 of 192

std::vector

164 of 192

d244. 一堆石頭 (陣列)

165 of 192

d244. 一堆石頭 (vector)

166 of 192

167 of 192

std::set

168 of 192

169 of 192

170 of 192

a541. 字典

171 of 192

f250: ugly ++

172 of 192

173 of 192

174 of 192

175 of 192

std::map

176 of 192

e281: 完美彩帶 (20%, 70%)

177 of 192

e281: 完美彩帶 (map)

e289. 美麗的彩帶�d194. 11572 - Unique Snowflakes

178 of 192

179 of 192

180 of 192

d767. 血緣關係 (LCA 97%)

a584: 2. 親等關係

d767. 血緣關係 (100%)

181 of 192

std::priority_queue

182 of 192

d221. 10954 - Add All�b606. Add All

183 of 192

Floyd-Warshall

184 of 192

185 of 192

186 of 192

187 of 192

BFS & queue

188 of 192

189 of 192

190 of 192

Dijkstra

191 of 192

192 of 192