把一个人的信息放进一张卡
这一课只练一件事:用 把姓名、分数这些相关信息放进同一张记录卡。完成四个小任务:选出该用 struct 而不是一堆散变量,按顺序填写 stu.name 和 stu.score,再认识 和 。这里不会在浏览器里运行 C++。
任务 1:用结构体表示一条记录
题目要记一名学生的姓名和分数。先判断该用 把它们放进同一张卡,再判断读写分数时写成 stu.score。点不认识的词可看基础解释。
必会:能定义一条学生记录,能用点号读写 。这里不会在浏览器里运行 C++,只练习选择。
姓名和分数该怎么放?结构体 · 必会
读写这位同学的分数?成员访问 · 必会
任务 2:给这张卡填上名字和分数
最小示例:struct Student { string name; int score; }; 再声明 Student stu;。用 写入 stu.name 和 stu.score。按顺序点三步。这里不会在浏览器里运行 C++。
必会:能读写成员。边界:只改一个叫 score 的变量,不会改这张卡上的分数;要写 stu.score。
- struct Student { string name; int score; };
- Student stu;
- stu.name = "小明";
- stu.score = 95; // 同一张卡上的两格
对照走完了,现在亲手把这个成员访问敲出来。这张卡上的两格要用 分别读写:先写下标找到第 1 位同学,再用半角点号接上要读的 。下面是只读脚手架,只留一空给你敲键盘。
- struct Student { string name; int score; };
- Student a[3];
- a[0].name = "小明"; a[0].score = 95;
- int best = ; // 读出第 1 位同学的分数
int best = a[0].score; // 点号读的是这张卡上的分数那一格
任务 3:结构体数组和按字段比较
建议掌握:多名学生用 Student a[n]。找最高分时 a[i].score 这一格。
必会 / 建议掌握 / 拓展:必会是一张卡和点号。结构体数组和按某一字段找最佳是建议掌握。嵌套结构体、指针和 class 是拓展,现在不用当硬门槛。
- Student a[3];
- a[0].name = "小明"; a[0].score = 95;
- a[1].score = 88; a[2].score = 95;
- // 找最高分:比较 a[i].score,不要只看下标
先选出三名学生该怎么存:
再选出找最高分该看什么:
任务 4:随机小测,看看你是否真的懂了
每次从本课题库抽出三道不同的选择题。题目与解析已通过校验,答完后看解析,不要只看分数;拿不准就回到对应任务再看一遍。