数据的存储方式——变量
一、课上练习
编程练习
示例代码
画正16边形代码示例
1//
2#include "CTurtle.hpp"
3#include <bits/stdc++.h>
4using namespace std;
5using namespace cturtle;
6
7int main() {
8 // 创建一个画布屏幕
9 TurtleScreen scr;
10 // 创建一个画图图标
11 Turtle turtle(scr);
12
13 int bianchang;
14 bianchang = 40;
15
16 turtle.forward(bianchang);
17 turtle.right(22.5);
18 turtle.forward(bianchang);
19 turtle.right(22.5);
20 turtle.forward(bianchang);
21 turtle.right(22.5);
22 turtle.forward(bianchang);
23 turtle.right(22.5);
24 turtle.forward(bianchang);
25 turtle.right(22.5);
26 turtle.forward(bianchang);
27 turtle.right(22.5);
28 turtle.forward(bianchang);
29 turtle.right(22.5);
30 turtle.forward(bianchang);
31 turtle.right(22.5);
32 turtle.forward(bianchang);
33 turtle.right(22.5);
34 turtle.forward(bianchang);
35 turtle.right(22.5);
36 turtle.forward(bianchang);
37 turtle.right(22.5);
38 turtle.forward(bianchang);
39 turtle.right(22.5);
40 turtle.forward(bianchang);
41 turtle.right(22.5);
42 turtle.forward(bianchang);
43 turtle.right(22.5);
44 turtle.forward(bianchang);
45 turtle.right(22.5);
46 turtle.forward(bianchang);
47 turtle.right(22.5);
48
49 // 暂停程序
50 system("pause");
51 // 程序结束
52 return 0;
53}用变量画正16边形代码示例
1#include "CTurtle.hpp"
2#include <bits/stdc++.h>
3using namespace std;
4using namespace cturtle;
5
6int main() {
7 // 创建一个画布屏幕
8 TurtleScreen scr;
9 // 创建一个画图图标
10 Turtle turtle(scr);
11
12 int bianchang = 40;
13 double jiaodu = 22.5;
14
15 turtle.forward(bianchang);
16 turtle.right(jiaodu);
17 turtle.forward(bianchang);
18 turtle.right(jiaodu);
19 turtle.forward(bianchang);
20 turtle.right(jiaodu);
21 turtle.forward(bianchang);
22 turtle.right(jiaodu);
23 turtle.forward(bianchang);
24 turtle.right(jiaodu);
25 turtle.forward(bianchang);
26 turtle.right(jiaodu);
27 turtle.forward(bianchang);
28 turtle.right(jiaodu);
29 turtle.forward(bianchang);
30 turtle.right(jiaodu);
31 turtle.forward(bianchang);
32 turtle.right(jiaodu);
33 turtle.forward(bianchang);
34 turtle.right(jiaodu);
35 turtle.forward(bianchang);
36 turtle.right(jiaodu);
37 turtle.forward(bianchang);
38 turtle.right(jiaodu);
39 turtle.forward(bianchang);
40 turtle.right(jiaodu);
41 turtle.forward(bianchang);
42 turtle.right(jiaodu);
43 turtle.forward(bianchang);
44 turtle.right(jiaodu);
45 turtle.forward(bianchang);
46 turtle.right(jiaodu);
47
48 // 暂停程序
49 system("pause");
50 // 程序结束
51 return 0;
52}C++风格输入方式代码示例
1
2#include <iostream>
3#include <string>
4using namespace std;
5
6int main() {
7 // 定义不同类型的变量
8 int number; //创建一个int类型的变量
9 double dnumber; // 创建一个double类型的变量
10 float fnumber; // 创建一个float类型的变量
11 char ch; // 创建一个char类型的变量
12
13 cin >> number >> dnumber >> fnumber >> ch; // 读入数据并存储在相应的变量中
14 cout << fixed << setprecision(2) << number << endl; //确定输出精度
15 cout << dnumber << endl; // 输出小数
16 cout << fnumber << endl; // 输出小数
17 cout << ch << endl; //输出字符
18
19 return 0; // 程序正常结束
20}C风格输入方式代码示例
1//
2#include <iostream>
3//scanf和printf不需要std命名空间
4
5int main() {
6 int number; //创建一个int类型的变量
7 scanf("%d", &number); // 读取一个整数并存入number
8 printf("%d\n", number); // 输出整数
9
10 double dnumber; // 创建一个double类型的变量
11 scanf("%lf", &dnumber); // 读取一个小数并存入dnumber
12 printf("%lf\n", dnumber); // 使用.lf输出小数
13
14 float fnumber; // 创建一个float类型的变量
15 scanf("%f", &fnumber); // 读取一个小数并存入fnumber
16 printf("%.3f\n", fnumber); // 使用.3f输出小数,并使得输出精确到小数点后三位
17
18 char ch; // 创建一个char类型的变量
19 scanf(" %c", &ch); // 读取一个空格和一个字符并存入ch
20 printf("%c\n", ch); // 输出字符
21
22 return 0; // 程序正常结束
23}L1063 a+b问题代码示例
1//
2#include <bits/stdc++.h>
3using namespace std;
4int main() {
5 int a, b;
6 cin >> a >> b;
7 cout << a + b << endl;
8
9
10 return 0;
11}L1062打印ASCII码代码示例
1//
2#include <bits/stdc++.h>
3using namespace std;
4
5int main() {
6 char ch;
7 cin >> ch;
8 cout << int(ch) << endl;
9
10 return 0;
11}L1061输出浮点数代码示例
1//
2#include <bits/stdc++.h>
3using namespace std;
4
5int main() {
6 float number;
7 cin >> number;
8 printf("%.3f", number);
9
10 return 0;
11}二、知识总结
✨ 变量的定义与使用
变量是程序中用来存储数据的容器,每个变量都有自己的名称和数据类型。
定义变量时需要先指定数据类型,再给出变量名。定义和赋值可以分开写,也可以在定义时直接赋值(称为初始化):
变量定义与赋值代码示例
int length; //先定义:创建一个int类型的变量
length = 200; //后赋值:给length赋值为200
double angle = 360.0 / 4; //定义并初始化:创建变量的同时赋值为90.0使用变量时,直接写变量名即可。注意不要在变量名前再加数据类型,否则会被当作重新定义一个新变量:
变量使用代码示例
cout << length << endl; //正确:直接使用变量名输出
cout << angle << endl; //正确:直接使用变量名输出
int length = 100; //错误:重复定义了length变量✨ 常量的定义与使用
常量是一种特殊的变量,定义后值不可修改。使用 const 关键字声明,且必须在定义时就赋值。
常量通常用于存储程序中不会改变的固定值,如数学常数、数组大小等,可以提高代码的可读性和安全性(防止意外修改)。
常量定义与使用代码示例
const int MAX_SIZE = 100; //定义一个整数常量
const double PI = 3.14159; //定义一个小数常量
cout << MAX_SIZE << endl; //正确:可以正常使用常量
cout << PI * 2 << endl; //正确:常量可以参与运算
MAX_SIZE = 200; //错误!常量不可修改,编译报错✨ 变量与常量的命名规则
给变量和常量起名时需要遵循C++的命名规范,好的命名习惯能让代码更易读。
必须遵守的规则:
- 只能使用英文字母、下划线和数字
- 不能以数字开头(如
2num不合法,num2合法) - 不能使用C++关键字(如
int、return等) - 变量名区分大小写,
int a;和int A;是两个不同的变量
推荐的命名习惯:
- 普通变量:使用小写字母开头,多个单词用驼峰命名法(
studentName)或下划线分隔(student_name) - 常量:使用全大写字母,单词之间用下划线分隔,如
MAX_SIZE、PI - 下划线开头的名称一般有特殊含义,建议避免使用
✨ C++关键字清单
以下是C++中的保留关键字,这些词有特殊含义,不能用作变量名或常量名:
| auto | FALSE | static | using | if |
| goto | static_cast | bool | TRUE | public |
| namespace | else | and | const_cast | char |
| enum | protected | inline | for | not |
| dynamic_cast | short | struct | virtual | delete |
| do | xor | static_assert | long | class |
| override | this | switch | return | register |
| float | wchar_t | final | nullptr | case |
| try | explicit | double | sizeof | operator |
| void | default | extern | signed | typeid |
| const | friend | break | throw | unsigned |
| typedef | constexpr | template | continue | noexcept |
✨ C++风格输入方式
C++使用 cin 和提取运算符 >> 读取输入,使用 cout 和插入运算符 << 进行输出。C++风格的优点是不需要指定数据类型,编译器会根据变量类型自动匹配,使用起来更简洁。
C++风格输入方式代码示例
1#include <iostream>
2#include <string>
3using namespace std;
4
5int main() {
6 // 定义不同类型的变量
7 int number; //创建一个int类型的变量
8 double dnumber; // 创建一个double类型的变量
9 float fnumber; // 创建一个float类型的变量
10 char ch; // 创建一个char类型的变量
11
12 cin >> number >> dnumber >> fnumber >> ch; // 读入数据并存储在相应的变量中
13 cout << fixed << setprecision(2) << number << endl; //确定输出精度
14 cout << dnumber << endl; // 输出小数
15 cout << fnumber << endl; // 输出小数
16 cout << ch << endl; //输出字符
17
18 return 0; // 程序正常结束
19}✨ C风格输入方式
C语言使用 scanf 函数读取输入,使用 printf 函数进行输出。与C++风格不同,C风格必须通过格式说明符指定数据类型,写法稍复杂但在控制输出格式(如小数位数)时更方便。
常用格式说明符:
| 格式说明符 | 对应数据类型 | 说明 |
|---|---|---|
%d | int | 读取/输出整数 |
%lld | long long | 读取/输出长整数 |
%f | float | 读取/输出单精度浮点数 |
%lf | double | 读取double(scanf用%lf,printf用%f或%lf均可) |
%c | char | 读取/输出单个字符 |
%s | char[] | 读取/输出字符串 |
C风格输入方式代码示例
1#include <iostream>
2//scanf和printf不需要std命名空间
3
4int main() {
5 int number; //创建一个int类型的变量
6 scanf("%d", &number); // 读取一个整数并存入number
7 printf("%d\n", number); // 输出整数
8
9 double dnumber; // 创建一个double类型的变量
10 scanf("%lf", &dnumber); // 读取一个小数并存入dnumber
11 printf("%lf\n", dnumber); // 使用.lf输出小数
12
13 float fnumber; // 创建一个float类型的变量
14 scanf("%f", &fnumber); // 读取一个小数并存入fnumber
15 printf("%.3f\n", fnumber); // 使用.3f输出小数,并使得输出精确到小数点后三位
16
17 char ch; // 创建一个char类型的变量
18 scanf(" %c", &ch); // 读取一个空格和一个字符并存入ch
19 printf("%c\n", ch); // 输出字符
20
21 return 0; // 程序正常结束
22}