📖 学习信息
学习课程:黑马C++零基础教程
本日学习:C++常用关键字、全量基础数据类型(int、实型、字符型等)、转义字符、字符串类型、布尔类型、数据输入(cin)
学习目标:掌握常用关键字的用法、区分各类数据类型的适用场景,学会用cin实现数据输入,能独立写出包含输入输出的简单程序
一、C++常用关键字(基础必记)
关键字是C++预先定义好、具有特殊含义的单词,不能用作变量名、常量名、函数名等,编译器会自动识别并执行对应功能。
基础阶段重点掌握以下常用关键字(后续逐步扩展),牢记:关键字全部小写,不可自定义修改。
1. 核心常用关键字(必背)
int:定义整型变量/常量(最常用),比如int a = 10;float:定义单精度浮点型变量/常量,用于存储小数double:定义双精度浮点型变量/常量,精度高于float,更常用char:定义字符型变量/常量,用于存储单个字符bool:定义布尔类型变量,用于表示“真”或“假”const:定义常量,使变量的值不可修改(Day2已学,重点回顾)using:用于使用命名空间,比如using namespace std;return:用于函数返回值,比如main函数中的return 0;void:表示“无类型”,后续用于无返回值函数、无参数函数
2. 关键字使用禁忌
❌ 禁止用关键字作为变量名、常量名,否则编译器直接报错:
// 错误示例:int是关键字,不能用作变量名
int int = 20;
// 错误示例:const是关键字,不能用作常量名
#define const 100;
✅ 正确做法:避开所有关键字,命名见名知意,比如用 int num = 20;、const int MAX = 100;
二、全量基础数据类型(详解+对比)
数据类型用于规定变量/常量存储的数据种类和占用内存大小,Day2已初步了解4种,今日补充完整,结合sizeof运算符(计算内存大小),彻底吃透。
1. 整型(int)—— 存储整数
✅ 用途:存储正整数、负整数、0(比如年龄、人数、分数整数部分)
✅ 占用内存:通常4个字节(不同编译器可能有差异,用sizeof验证)
✅ 示例+sizeof用法:
#include <iostream>
using namespace std;
int main()
{
int age = 20;
int score = 98;
// sizeof(数据类型/变量):计算占用的字节数
cout << "int类型占用内存:" << sizeof(int) << "字节" << endl;
cout << "age变量占用内存:" << sizeof(age) << "字节" << endl;
return 0;
}
运行结果:int类型占用内存:4字节(固定输出,新手无需纠结差异)
2. 实型(浮点型)—— 存储小数
实型分为两种,重点掌握double(更常用),float仅作了解:
float:单精度浮点型,占用4字节,精度较低(约6-7位有效数字)double:双精度浮点型,占用8字节,精度较高(约15-16位有效数字),优先使用
✅ 示例:
#include <iostream>
using namespace std;
int main()
{
float pi1 = 3.1415926; // 精度不足,会丢失部分数据
double pi2 = 3.141592653589793; // 精度足够,完整存储
cout << "float pi1 = " << pi1 << endl; // 输出约3.141593(自动保留6位有效数字)
cout << "double pi2 = " << pi2 << endl; // 输出完整精度
cout << "float占用内存:" << sizeof(float) << "字节" << endl;
cout << "double占用内存:" << sizeof(double) << "字节" << endl;
return 0;
}
3. 字符型(char)—— 存储单个字符
✅ 用途:存储单个字母、数字、符号(比如性别、符号标记)
✅ 语法:用单引号 ' ' 包裹单个字符,不可用双引号
✅ 占用内存:1字节
✅ 示例:
#include <iostream>
using namespace std;
int main()
{
char gender = '男'; // 正确:单个字符,单引号包裹
char symbol = '+';
char numChar = '0'; // 注意:'0'是字符,不是数字0
// 错误示例:char c = "A"; // 双引号用于字符串,单个字符用单引号
cout << "gender = " << gender << endl;
cout << "char类型占用内存:" << sizeof(char) << "字节" << endl;
return 0;
}
4. 转义字符 —— 特殊字符(重点)
转义字符以 `` 开头,用于表示无法直接输入的特殊字符(比如换行、制表符),基础阶段必记3个:
| 转义字符 | 含义 | 示例 |
|---|---|---|
\n | 换行(最常用) | cout << "第一行\n第二行"; |
\t | 制表符(类似按Tab键,对齐输出) | cout << "姓名\t年龄"; |
\ | 输出一个反斜杠 `` | cout << "路径:C:\test"; |
✅ 实操示例:
#include <iostream>
using namespace std;
int main()
{
cout << "姓名\t年龄\t分数" << endl; // \t 制表符对齐
cout << "张三\t20\t98" << endl;
cout << "李四\t19\t95" << endl;
cout << "路径:C:\Program Files\C++" << endl; // \ 输出反斜杠
return 0;
}
5. 字符串类型 —— 存储多个字符
✅ 用途:存储一串字符(比如姓名、地址、句子),C++中有两种常用写法:
(1)C语言兼容写法(字符数组)
语法:char 字符串名[] = "字符串内容";(双引号包裹)
(2)C++推荐写法(string类型)
语法:string 字符串名 = "字符串内容";,需额外包含头文件 #include <string>
✅ 示例:
#include <iostream>
#include <string> // 使用string类型必须包含该头文件
using namespace std;
int main()
{
// 1. 字符数组写法(C语言兼容)
char name1[] = "张三";
// 2. string写法(C++推荐,更简洁)
string name2 = "李四";
cout << "name1 = " << name1 << endl;
cout << "name2 = " << name2 << endl;
return 0;
}
重点提醒:string类型必须包含 #include <string>,否则编译器报错。
6. 布尔类型(bool)—— 表示真/假
✅ 用途:用于判断条件(比如“是否及格”“是否登录成功”),只有两个取值:
true:表示“真”,等价于数字1false:表示“假”,等价于数字0
✅ 占用内存:1字节
✅ 示例:
#include <iostream>
using namespace std;
int main()
{
bool isPass = true; // 及格:真
bool isFail = false; // 不及格:假
cout << "isPass = " << isPass << endl; // 输出1
cout << "isFail = " << isFail << endl; // 输出0
cout << "bool类型占用内存:" << sizeof(bool) << "字节" << endl;
return 0;
}
三、数据输入 —— cin(与cout对应)
Day2学习了 cout(输出数据到控制台),今日学习 cin(从控制台输入数据到变量),两者配合使用,实现“输入+输出”的完整程序。
1. cin基础语法(必掌握)
✅ 格式:cin >> 变量名;(>> 是输入流向运算符,从键盘流向变量)
✅ 核心:输入的数据类型,必须与变量的数据类型一致,否则会出错。
2. 实操示例(单个输入+多个输入)
#include <iostream>
#include <string>
using namespace std;
int main()
{
// 1. 单个输入
int age;
cout << "请输入你的年龄:";
cin >> age; // 从键盘输入一个整数,赋值给age
cout << "你输入的年龄是:" << age << endl;
// 2. 多个输入(用空格/回车分隔)
string name;
double score;
cout << "请输入你的姓名和分数(用空格分隔):";
cin >> name >> score; // 依次输入字符串和小数,赋值给对应变量
cout << "姓名:" << name << ",分数:" << score << endl;
return 0;
}
运行说明:输入时,多个数据用空格或回车分隔,cin会自动匹配对应变量的类型。
3. 输入注意事项
- ❌ 禁止输入与变量类型不匹配的数据,比如:给int变量输入小数,会导致输入失败,变量值异常。
- ✅ 输入字符串时,cin遇到空格、回车会停止读取,比如输入“张三 李四”,只会读取“张三”。
- ✅ 无需手动添加头文件,cin和cout一样,包含
#include <iostream>即可使用。
四、常见错误与避坑点
- ❌ 错误1:使用string类型忘记包含
#include <string>,导致编译器报错。 - ❌ 错误2:字符型变量用双引号包裹,比如
char c = "A";,正确应为char c = 'A';。 - ❌ 错误3:cin输入类型不匹配,比如
int num; cin >> num;时输入“3.14”,导致num值异常。 - ❌ 错误4:混淆转义字符,比如想换行用
/n(错误),正确应为\n(反斜杠)。 - ❌ 错误5:用sizeof时,语法错误,比如
sizeof int(错误),正确应为sizeof(int)或sizeof(变量名)。
五、今日学习总结
-
关键字:掌握int、double、char、bool、const等常用关键字,不可用作变量/常量名;
-
数据类型:
- 整型int(4字节)、实型float(4字节)/double(8字节);
- 字符型char(1字节,单引号包裹)、转义字符(\n、\t、\);
- 字符串类型(char数组、string类型,string需包含头文件);
- 布尔类型bool(1字节,true=1,false=0)。
-
sizeof运算符:用于计算数据类型/变量占用的字节数,语法
sizeof(数据类型/变量); -
数据输入:用cin实现,语法
cin >> 变量名,注意输入类型与变量类型一致; -
能独立写出“输入+输出”的简单程序,规避常见语法错误。
✍️ 下节预告
下一篇将学习 C++ 运算符(算术运算符、赋值运算符、比较运算符等),继续跟着黑马教程稳步推进,夯实零基础基础,为后续写逻辑判断、循环代码打牢根基。