• C++
  • C++ 零基础教程:scanf / printf 超详细用法

  • @ 2026-4-17 18:49:30

C++ 零基础教程:scanf / printf 超详细用法

(比 cin / cout 更快、更稳,竞赛、刷题最常用)


一、先记住一句话

  • scanf:用来输入(从键盘读数据)
  • printf:用来输出(在屏幕打印数据)

它们是 C 语言的输入输出,但 C++ 完全能用


二、必须写的头文件

#include <cstdio>   // 只有写了这个,scanf/printf 才能用
using namespace std; // 可写可不写,写了更方便

int main() {
    // 代码写这里
    return 0;
}

三、最常用:整数 int 输入输出

1)定义整数

int a;

2)输入整数

scanf("%d", &a);
  • %d = 整数格式
  • &a = 变量地址 必须写 &

3)输出整数

printf("%d", a);
  • 输出时 不用 &

四、完整例子(复制就能跑)

#include <cstdio>
using namespace std;

int main() {
    int age;
    printf("请输入年龄:");   // 输出文字
    scanf("%d", &age);        // 输入年龄
    printf("你的年龄是:%d", age); // 输出结果

    return 0;
}

五、小数 float / double 输入输出

double(最常用)

double num;
scanf("%lf", &num);   // 输入用 %lf
printf("%lf", num);   // 输出用 %lf

保留 2 位小数

printf("%.2lf", num);

六、字符 char 输入输出

char c;
scanf("%c", &c);
printf("%c", c);

七、字符串 char[] 输入输出

char name[100];
scanf("%s", name);   // 字符串不用 &
printf("%s", name);

八、一次输入/输出多个变量

int a, b;
scanf("%d %d", &a, &b);   // 输入两个整数
printf("%d %d", a, b);    // 输出两个整数

九、换行怎么写

printf("\n");

printf("Hello\nWorld");

十、最常用格式表(背会这 4 个就够)

类型 格式 例子
整数 int %d scanf("%d", &a);
小数 double %lf scanf("%lf", &b);
字符 char %c scanf("%c", &c);
字符串 %s scanf("%s", str);

十一、0 基础最容易犯的错

  1. 输入忘记写 & 错误:scanf("%d", a); 正确:scanf("%d", &a);

  2. 输出多写了 & 错误:printf("%d", &a); 正确:printf("%d", a);

  3. 格式写错 %d 对应整数 %lf 对应小数

1 条评论

  • @ 2026-4-17 18:50:25

    0基础入门|5道超简单练习题(做完就会用)

    我给你最简单、最直接的5道题,你照着写,写完就彻底会 scanf / printf 了。


    第1题:输入一个整数,输出它

    要求:

    • 输入一个数字,比如 10
    • 屏幕输出:你输入的是:10

    模板(填空):

    #include <cstdio>
    int main() {
        int a;
        scanf("%d", &a);
        printf("你输入的是:%d", a);
        return 0;
    }
    

    第2题:输入两个整数,求和

    输入:3 5 输出:和是:8

    #include <cstdio>
    int main() {
        int a, b;
        scanf("%d %d", &a, &b);
        int sum = a + b;
        printf("和是:%d", sum);
        return 0;
    }
    

    第3题:输入小数,输出小数

    输入:3.14 输出:你输入的小数是:3.14

    #include <cstdio>
    int main() {
        double x;
        scanf("%lf", &x);
        printf("你输入的小数是:%lf", x);
        return 0;
    }
    

    第4题:保留两位小数

    输入:1.2345 输出:1.23

    #include <cstdio>
    int main() {
        double num;
        scanf("%lf", &num);
        printf("%.2lf", num);
        return 0;
    }
    

    第5题:输入名字,输出名字

    输入:小明 输出:你好,小明

    #include <cstdio>
    int main() {
        char name[100];
        scanf("%s", name);
        printf("你好,%s", name);
        return 0;
    }
    
    • 1