更新第8周课评与学生档案:新增多班级学生画像及课评汇总归档

- 补全CSP03周六0830/1400班学生课评汇总与profile档案
- 新增AI03周六1900、周日0845/1400、CSP03周日1030、K4周日1900班级结构
- 更新K4周五1900班课评汇总
- 优化课评生成技能规则
- 更新.gitignore与教学输出文档
This commit is contained in:
chengzi
2026-04-25 20:44:49 +08:00
parent 11fecf2b64
commit 68a43eb4af
44 changed files with 979 additions and 290 deletions

View File

@@ -1,12 +1,5 @@
# CSP03班 第8课 课前默写10分钟
**班级**CSP03班周六早/下午、周日早上)
**范围**第7课《string字符串使用
**满分**100分
**建议用时**10分钟
---
## 一、填空题(每空 4 分,共 32 分)
1. 声明一个 `string` 变量 `s` 并初始化为 `"hello"` 的语句是:
@@ -53,18 +46,15 @@
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
_______________(cin, s); // ① 读入一整行
int cnt = 0;
for (int i = 0; i < s.___________(); i++) { // ② 遍历字符串
if (_______(s[i])) { // ③ 判断是否为大写字母
cnt++;
}
}
cout << cnt << endl;
return 0;
}
@@ -98,59 +88,12 @@ int main() {
## 五、简答题(共 30 分)
1. **简述 `cin >> s` 和 `getline(cin, s)` 在读取字符串时的主要区别。**10分
1. **简述 `cin >> s` 和 `getline(cin, s)` 在读取字符串时的主要区别。**30分
答:
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
2. **写出一段代码,遍历字符串 `s`,将其中的所有大写字母转换为小写字母。**20分
答:
```cpp
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
```
---
## 参考答案(教师用,不要发给学生)
### 一、填空题
1. `"hello"`
2. `size` 或 `length`
3. `getline`
4. 空格
5. `find`
6. `string::npos`
7. `2`
8. `substr`
### 二、判断题
1. ``
2. `×``string::npos` 是一个极大值,不是 -1
3. ``
4. ``
### 三、代码填空
① `getline`
② `size` 或 `length`
③ `isupper`(或 `s[i] >= 'A' && s[i] <= 'Z'`
### 四、代码阅读
输出①:`6`
输出②:`YES`
### 五、简答题
1. `cin >> s` 遇到空格会停止,只能读取一个单词;`getline(cin, s)` 会读取整行,包括空格,直到遇到换行符。
2. ```cpp
for (int i = 0; i < s.size(); i++) {
s[i] = tolower(s[i]);
}
```
或范围 for 循环写法亦可。
---