考点梳理:
GESP一级考点有:
- 变量与数据类型
- 基本语法结构
- 控制结构
- 函数
- 类
考点讲解:
变量与数据类型
- 知识点:变量的作用、数据类型的作用。
- 使用场景:在编程中,变量用于存储和操作数据。选择合适的变量类型(如int、char、string等)可以提高程序的效率和可读性。
- 常见错误:
1. 错误1:忘记指定变量类型。
c++ int a; a = 5; // 错,a的类型未定义
2. 错误2:混淆了int和string类型。
c++ int a = 5; string b = "5"; // b的类型是 string,不是 int
- 练习:
写一个程序,使用int、char、string不同类型变量并输出结果。int a = 10; char b = 'A'; string c = "Hello"; cout << "a=" << a << endl; cout << "b=" << b << endl; cout << "c=" << c << endl;
基本语法结构:
- 知识点:语句的书写规则、注释的作用。
- 使用场景:编写代码时,使用注释可以帮助他人理解代码逻辑,提高代码的可读性。
- 常见错误:
1. 错误1:忘记使用分号结束语句。
c++ int a = 5; // 正确 int b = 6;
2. 错误2:不正确使用括号。
c++ cout << "Hello" << endl; // 错,应该是 cout << "Hello" << endl;
- 练习:
给以下代码添加注释,解释每行的作用。
int a = 5;
if (a > 3) {
cout << "a is greater than 3" << endl;
}
控制结构:
-
知识点:条件语句(if-else)、循环语句(for、while)。
-
使用场景:控制程序的执行流程,实现逻辑判断和重复操作。
-
常见错误:
1. 错误1:if语句的逻辑错误。
c++ if (a == 5) { cout << "等于5" << endl; } else { cout << "不等于5" << endl; }
如果a是字符类型(如 ‘5’),if语句会正确执行。但如果是整数类型,else部分不会执行。
2. 错误2:循环语句的条件错误。for (int i = 1; i <= 5; i++) { cout << i << endl; // 输出5次,从1到5 }
-
练习:
编写一个程序,输出1到10的数字,并判断是否是偶数。for (int i = 1; i <= 10; i++) { cout << i << endl; if (i % 2 == 0) { cout << "偶数" << endl; } else { cout << "奇数" << endl; } }
函数
-
知识点:函数的定义、调用、返回值。
-
使用场景:函数可以将一组代码封装起来,方便重复使用。
-
常见错误:
1. 错误1:函数调用时参数数量错误。int add(int a, int b); add(3); // 错,缺少第二个参数
2. 错误2:忘记函数返回值的类型。
int add(int a, int b) { add(a, b); // 错,self调用自身
-
练习:
创建一个函数,计算两个整数的和,并调用它。int add(int a, int b) { return a + b; } int result = add(3, 5); // result = 8 ```
类
-
知识点:类的定义、成员变量、成员函数。
-
使用场景:类是封装数据和操作的工具,常用于创建复杂对象。
-
常见错误:
- 错误1:成员变量未声明。
class MyClass { void method() { cout << "未声明的变量" << endl; } };
- 错误2:成员函数调用时参数数量错误。
class MyClass { public: void setColor(string color); void setColor(int color); // 错,color类型不匹配 };
- 错误1:成员变量未声明。
-
练习:
创建一个类,表示一个学生,包含学号、姓名和成绩,并编写方法打印信息。class Student { private: string name; int score; string id; public: void setName(string n) { name = n; } void setScore(int s) { score = s; } void display() { cout << "姓名:" << name << endl; cout << "学号:" << id << endl; cout << "成绩:" << score << endl; } }; Student s; s.setName("小明"); s.setScore(85); s.setId("20230101"); s.display(); // 输出小明的信息
课后作业
- 完成以下练习题,下节课进行讲解:
- 编写一个函数,判断一个数是否是偶数。
- 创建一个类,表示一个矩形,包含长和宽,计算面积和周长。
- 编写一个程序,使用if语句判断一个数是否大于10。