Level 1 · Day 2

变量、数据类型与输入输出

程序就做三件事:算(运算)、记(变量)、说话(输入输出)。今天一次讲清。

一、程序的三件事

① 计算

用运算符算出结果,比如 2 + 319 * 33

② 存储

变量把算出来的结果记住,下次还能用。

③ 交流

cin>> 从键盘读,cout<< 往屏幕说。

二、变量是带名字的盒子

五种常用类型
int    n    = 35;      // 整数
double pi   = 3.14;    // 小数
char   c    = 'a';     // 单个字符,单引号
string name = "Bob";   // 字符串,双引号
bool   isOK = true;    // 真 / 假
变量名规则

只能用字母、数字、下划线不能数字开头;不能和关键字(intif…)重名。

下面哪些合法?(绿=合法,红=非法)

xiaowulaoshi _1apple iPhone11 8apple kkk@SH char

三、互动演示:交换两个变量

a = 15b = 30,要把它们的值互换。 直接 a = b; b = a; 行不行?点“下一步”看看为什么需要一个临时盒子 temp

a15 
b30 
temp(临时) 

四、自己选答案

问题 1

7 / 2 在 C++ 里等于多少?

问题 2

变量名 2cup 合法吗?

五、算术运算符与两个坑

名称符号例子结果
+2 + 35
-5 - 41
*19 * 33627
/1024 / 1664
取余%7 % 21
坑 1 · 整数除法丢小数:7 / 2 = 3(不是 3.5!)要小数就写 7.0 / 2
坑 2 · 取余只对整数:% 常用来判奇偶、算余数,不能用于 double

六、参考代码

#include <iostream>
using namespace std;

int main() {
    int a = 15, b = 30;

    // 交换:借助临时盒子 temp
    int temp = a;   // temp 接住 a
    a = b;          // a 拿到 b
    b = temp;       // b 拿到原来的 a
    cout << a << " " << b << endl;   // 30 15

    // 分肥宅水:n 瓶分给 people 人
    int n, people;
    cin >> n >> people;
    cout << "每人 " << n / people << " 瓶,";
    cout << "还剩 " << n % people << " 瓶";
    return 0;
}

读代码只抓三件事:变量装了什么、什么时候被改、答案从哪来。