- UID 38 的博客
上课笔记(一)
- @ 2024-12-7 13:30:48
日期
2024年12月07日 C++课程
编程框架
- 包含头文件(拿到一些工具)
- 使用命名空间 std
- 主函数
- 大括号
- return 0 表示程序正常结束
#include <iostream> // cin cout
#include <cstdio> // scanf printf
using namespace std; //使用命名空间
int main() {
return 0; // 程序正常退出
}
数据类型
关键字 -- 英文名
数字类型
浮点数:带小数点
- 双精度(单精度)浮点数 --
double(float)
整数:不带小数点
- 标准整数 --
int - 长整数 --
long long - 区别
布尔类型
bool,值有 true 和 false。 也可以用 1 和 0 表示 true 和 false。
字符类型
字符 -- char -- ''
字符串 -- string -- ""
注意:空字符串也是字符串,空集也是集合的一种。
变量
一个东西变成另一个东西。(x)
一个“盒子”,里面可以装不同的东西(√)
"盒子"的特点:只能装特定的东西,并且有名字。
更正式地来说,定义一个变量的框架如下:
// 数据类型 变量名字;
int a;
double x, y; // 同种类型变量一次可以定义多个
对于不同的类型,要分两次定义(不表示写两行)
int a; double x,y;
上面所有的变量,内部的值都未知。
初始化一个变量:定义一个变量的同时,赋值。 使用的框架如下:
int a = 10;
double x = 1.0, y = 2.4;
类型转换
直观区别:一个看得到,一个看不到。
显式类型转换
使用框架:数据类型(要转换的变量)
int a = 10, b = 5;
double x = b / a; // 0
double y = double(b) / a; // 0.2
隐式类型转换
通常出现:表达式里有不同类型的变量。
类型转换的方向:低精度向高精度转换
char >> long long/int >> double
int x = 10;
double y = 5;
double div = y / x; // 0.2
顺序结构
代码按照自顶向下逐行运行。
#include <iostream>
using namespace std;
int main() {
cout <<" / !!! /\n";
cout <<"@@@@@@@@@@@@@@@@@@@@@@\n";
cout <<"@@@@@@@@@@@@@@@@@@@@@@\n";
cout <<"@@@@@@@@@@@@@@@@@@@@@@\n";
cout <<"@@@@@@@@@@@@@@@@@@@@@@\n";
cout <<"@@@@@@@@@@@@@@@@@@@@@@\n";
cout <<"@@@@@@@@@@@@@@@@@@@@@@\n";
return 0;
}
分支结构
通过一定的条件选择不同的代码块执行。
使用框架:
if (条件语句) {
//代码内容
}
if (条件语句) {
/// 1
} else {
/// 2
}
if (条件1) {
} else if (条件2) {
} else if(条件3) {
}
例子:
int x = 10;
if (x > 0) {
cout << "YES";
} else {
cout << "NO";
}
if () {
if () {
}
}