修改密码

【2024课程】零基础学会C++编程课程

成品课程

陈远龙老师主讲 & 答疑

课程题单 - T1000

未购买 · 可先试学25节课

课程目录展开/折叠

第6课 数据类型和运算符

播放快捷键

播放/暂停:空格(或鼠标单击)      全屏:F(或鼠标双击)      退出全屏:Esc

快进10 / 30 / 60秒:方向键→ / Ctrl + 方向键→ / Shift + 方向键→

快退10 / 30 / 60秒:方向键← / Ctrl + 方向键← / Shift + 方向键←

本节课讲解配套PPT&板书:

本节课讲解到的源代码

源代码下载:第6课 数据类型和运算符-源代码下载

1. cin-cout
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a, b;
    /*
    C语言风格输入输出 
    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
    */

    // C++风格输入输出 
    cin >> a >> b;
    cout << a << ' ' << b << endl;

    // cout << a + b << endl;
    cout << (a + b) << endl;

    // cout << endl; 
    // printf("%d %d\n", a, b);

    return 0;
}
2. cin-cout-2
#include <bits/stdc++.h>
using namespace std;

int main()
{
    // speed io 加速纯C++的方式读写 
    const char endl = '\n';
    ios::sync_with_stdio(0); // 关同步 
    cin.tie(0);

    // C语言风格输入输出与C++输入输出混用会出现问题 
    // 不要这样使用 
    int a, b;
    // cin >> a >> b;
    // printf("%d\n", a + b);
    scanf("%d%d", &a, &b);
    cout << a + b << endl;

    return 0;
}
3. cin-cout-3
#include <bits/stdc++.h>
using namespace std;

int main()
{
    /*
    double d1, d2;
    cin >> d1 >> d2;
    cout << d1 + d2 << endl;
    */

    /*
    scanf("%lf%lf", &d1, &d2);
    printf("%f\n", d1 + d2);
    */

    /*
    char c1;
    cin >> c1;
    cout << c1 << endl;
    cout << int(c1) << endl;
    printf("%d\n", c1);
    */

    double d1 = 3.1415;
    // printf("%.2f\n", d1);
    cout << fixed << setprecision(2) << d1 << endl;

    return 0;
}
4. 数据类型-1
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a;
    int b;
    a = 3;
    b = 4.5;

    cout << a << ' ' << b << endl;

    // short s = 100000;
    // short两个字节: -32768  ~ 32767
    short s = -32768; // short int s = 100;
    cout << s << endl;

    // 数据类型的表示范围
    cout << (short)0x7fff << endl;
    cout << (short)0x8000 << endl;

    cout << "------------------" << endl;
    // int类型的数据类型范围 
    // int c = ;
    // -21亿 - 21亿,-2.1 x 10(9) - -2.1 x 10(9)  
    cout << INT_MAX << endl; // #define INT_MAX (int)0x7fffffff
    cout << INT_MIN << endl; // #define INT_MIN (int)0x80000000

    cout << "------------------" << endl;
    cout << (int)0x7fffffff << endl;
    cout << (int)0x80000000 << endl;

    cout << "------------------" << endl;
    // long long数据类型范围 
    // -9 x 10(18) - 9 x 10(18) 
    cout << LONG_LONG_MAX << endl;
    cout << LONG_LONG_MIN << endl;

    cout << "------------------" << endl;
    cout << sizeof(short) << endl; 
    cout << sizeof(int) << endl;
    cout << sizeof(long) << endl;
    cout << sizeof(long long int) << endl; // long long

    // 有符号、无符号整数 
    // 有符号:-100 , +100(100)
    // 无符号: 0, 1, 2100

    return 0;
}
5. 数据类型-2
#include <bits/stdc++.h>
using namespace std;

int main()
{
    // 浮点数:数据范围,精度 
    float f1 = 3.14;
    double d1 = 3.14;
    long double ld1 = 3.14;

    cout << f1 << ' ' << d1 << ' ' << ld1 << endl;

    cout << fixed << setprecision(100) << f1 << endl;
    cout << fixed << setprecision(100) << d1 << endl;
    cout << fixed << setprecision(100) << ld1 << endl;

    return 0;
}
6. 数据类型-3
#include <bits/stdc++.h>
using namespace std;

int main()
{
    // (有符号)char的数据范围:-128 - 127,看做是一个字节的整型 
    char c1 = 'a'; // 占1个字节的整型  'a' => 97
    cout << c1 << endl;

    char c2 = 97;
    cout << c2 << endl;
    cout << int(c2) << endl;

    char c3 = 65;
    cout << c3 << endl; // A

    cout << "------------" << endl;
    char minc = 0x80;
    char maxc = 0x7f;

    cout << int(minc) << endl;
    cout << int(maxc) << endl;

    // 无符号char:0 - 255 
    unsigned char uc = 0xff;
    cout << int(uc) << endl;

    return 0;
}
7. 数据类型-4
#include <bits/stdc++.h>
using namespace std;

int main()
{
    bool b = true; // 1(true) => 逻辑真,0(false) => 逻辑假 
    cout << b << endl; 
    cout << boolalpha << b << endl;

    cout << sizeof(bool) << endl;

    cout << int(b) << endl;

    bool b2 = false;
    cout << int(b2) << endl; // 0

    return 0;
}

本节课课后练习题

本节课的课后练习就是将课堂中讲解过的代码自己动手写一遍,掌握C++风格输入输出、数据类型等相关知识

本节课答疑

建议大家有问题先通过AI答疑(比如:DeepSeek 等),AI时代需要学会使用AI辅助学习

陈远龙老师视频讲解:如何使用DeepSeek进行答疑?

通过AI未能获得满意解答的,可以联系陈远龙老师答疑

目录