跳至正文
View Categories

1 min read

主要内容 #

cout 对应的输入是 cin。

printf 也对应有一个输入函数,scanf

和 printf 类似,scanf 的使用方法,也和格式控制符(%+格式符号)有关。

1. 一般形式的输入 #

先看一下基本使用方法。

  • 注意,% 后面的字母所代表的意义,和 printf 中相同。
  • 注意,变量 a 的前面有一个“&”符号。这里被称为“引用符号”
  • 注意,不添加 &,不会报错。但是输入的值,无法赋值给变量 a
  • 输入规则同 cin。一个数,回车表示结束;两个数之间,使用空格/回车间隔开来。
  • 请阅读示例程序

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

    请阅读示例程序

    #include < cstdio > 
    int main()
    {
        int a(0), b(0);
        printf("请输入 2 个数:");      // 两个数,使用空格/回车间隔开来。(空格的数量可以任意)
        scanf("%d%d", &a, &b);
        printf("输入的是:%d,%d", a, b); 
        return 0;
    }

    2. 自定义格式的输入 #

    请阅读示例程序(固定格式)

    #include < cstdio > 
    int main()
    {
        int a(0), b(0);
        printf("请输入 2 个数:");    // 两个数,输入格式举例:10,5
        scanf("%d,%d", &a, &b);
        printf("输入的是:%d,%d", a, b); 
        return 0;
    }

    请阅读示例程序(指定跳过某个数)

    #include < cstdio > 
    int main()
    {
        int a(0), b(0);
        printf("请输入 3 个数:");    // 两个数,输入格式举例:10,5,6
        scanf("%d%*d%d", &a, &b);    // 中间那个数会被跳过。写法是 %*d 
        printf("输入的是:%d,%d", a, b); 
        return 0;
    }

    请阅读示例程序(指定输入位数)

    #include < cstdio > 
    int main()
    {
        int a(0), b(0);
        printf("输入1个数");
        scanf("%2d%3d", &a, &b);
        printf("输入的是:%d,%d", a, b); 
        return 0;
    }

    输入说明:

    ----------------------------------
    输入:// 正好 5 位
    12345  回车
    
    输出:
    12   345
    ----------------------------------
    输入:// 只有 4 位
    1234  回车
    
    输出:
    12   34
    ----------------------------------
    输入:// 多 1 位
    123456  回车
    
    输出:
    12   345
    ----------------------------------

    3. 单个字符 #

    C语言中,还有一个专门处理输入一个字符的函数:getchar()

    char a = getchar(); // 获得一个输入字符

    习题 #

    课后练习