📚 C3-10 导航: 课程学习 知识点回顾 随堂练习 课后拓展 代码填空 OJ练习 拓展解析

🏆 C3-10 阶段测试

C3阶段知识体系总回顾 · 数组 · 循环 · 函数 · 排序 · 凯撒密码

🏆 C3阶段 · 阶段测试
综合检验C3全部知识点 · 为GESP一级考试打好基础
📦

一、数组基础

  • 声明:int a[100]; 创建100个int空间
  • 下标从0开始:a[0]是第一个,a[99]是最后一个
  • 最大下标 = 长度-1:int a[100]最大下标是99
  • 初始化:int a[5]={1,2,3,4,5};
  • 越界危险:下标不能超过长度-1!
🔤

二、字符数组

  • 声明:char s[20]; 存放字符串
  • 整体输入:cin >> s; (字符数组可以!)
  • int数组不能整体输入:必须逐元素输入
  • 字符比较:字符按ASCII码大小比较
  • 遍历输出:for循环逐个cout输出
🔄

三、循环结构

  • for三要素:初始化、条件、更新
  • 边界条件:i<=n 才能包含n!
  • 计数器:累加求和、计数统计
  • 遍历数组:for(i=0; i
  • 嵌套循环:外层控制行,内层控制列
📦

四、自定义函数

  • 格式:返回值类型 函数名(参数列表)
  • return:返回结果并结束函数
  • void:无返回值,不能return值
  • 参数:传入的"原料",可多个可没有
  • 调用:函数名(参数值),如add(3,5)
🔀

五、排序

  • sort函数:sort(a, a+n) 默认升序
  • 头文件:#include <algorithm>
  • 降序:传cmp函数 return zuo > you
  • 奇偶分段:return zuo%2 > you%2
  • 多条件:先if第一关键字,再return第二关键字
🔐

六、凯撒密码

  • 字母加密:(c-'a'+k)%26+'a'(26个)
  • 大写:(c-'A'+k)%26+'A'
  • 数字加密:(c-'0'+k)%10+'0'(10个!)
  • 取模关键:循环移位用%取模
  • 解密:反向移位,k改成-k
🧮

七、数论基础

  • 倍数判断:i % m == 0 就是m的倍数
  • 因数/公因数:a%i==0 && b%i==0
  • 枚举法:从1遍历到n逐一检查
  • 最大最小值:遍历更新max/min
  • 最大跨度:最大值 - 最小值

📝 核心代码模板速查

模板1:找m的倍数

for (int i = 1; i <= n; i++) { if (i % m == 0) { // ★ 是m的倍数 cout << i << endl; } }

模板2:公因数之和

int sum = 0; for (int i = 1; i <= a; i++) { if (a % i == 0 && b % i == 0) { // ★ 同时整除 sum += i; } }

模板3:最大跨度值

int maxV = 0, minV = 1000; for (int i = 0; i < n; i++) { cin >> a[i]; if (a[i] > maxV) maxV = a[i]; // ★ 更新最大 if (a[i] < minV) minV = a[i]; // ★ 更新最小 } cout << maxV - minV << endl;

🔍 C3阶段知识对照表

知识点关键代码易错点
数组下标int a[100] → 最大下标99不是100!从0开始
for循环边界i <= 100写<就漏掉100
字符数组输入cin >> s;int数组不能这样
凯撒密码数字% 10不是%26!只有10个数字
判断倍数i % m == 0==不是=!
公因数a%i==0 && b%i==0两个条件都要满足
找最大最小遍历更新max/min初始值要合理
sort降序return zuo > you>和<方向别反

🗺️ C3阶段学习路线回顾

📦 数组入门→ 🔤 字符数组→ 🔐 凯撒密码→ 📦 自定义函数→ 🔀 排序→ 🏆 阶段测试

⚠️ 阶段测试高频易错点

① 数组最大下标:int a[100] 的最大下标是99,不是100!C++数组永远从0开始。
② for循环边界:输出1到100必须写 i <= 100,写 i < 100 会漏掉100。
③ 凯撒密码数字取模:数字0~9共10个,加密公式用 %10,不是 %26(那是字母用的)。
④ int数组不能整体输入:cin >> 变量名; 对字符数组s可以,对int数组a不行!
⑤ 判断倍数用==:i % m == 0 是判断,一个等号=是赋值,别搞混!
⑥ 公因数要两个都整除:a%i==0 && b%i==0,两个条件缺一不可。
⑦ max/min初始值:找最大不能初始化为0(可能全是负数),找最小不能初始化为太大。