• C语言之输入(scanf)输出(printf)


    输出 printf

    • puts():只能输出字符串,并且输出结束后会自动换行
    • putchar():只能输出单个字符, 不换行
    • printf():可以输出各种类型的数据
      printf() 是最灵活、最复杂、最常用的输出函数,可以取代上面两种:
      在这里插入图片描述

    小数的输出

    在这里插入图片描述

    #include 
    #include 
    int main()
    {
        float a = 0.00001;
        float b = 3000000;
        float c = 12345678.84;
        float d = 11.229338455;
        printf("a=%g \nb=%g \nc=%g \nd=%g\n", a, b, c, d);
        printf("c=%e\n", c);
        /*
            %g以最短的方式来输出小数,让输出结果更加简练。所谓最短,就是输出结果占用最少的字符。
            但是比较长时有损失数据的问题出现
    
            %e是科学计数法输出数字,最多八位底数,多余8位会损失数据
        */
    
        /*
            小数赋值给整数类型时,会丢掉小数部分
            整型赋值给小数会在,小数点后加0
            %f 和 %lf 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。
        */
        int f = 123.0123f;
        printf("%d\n", f);
        double g = f;
        printf("%lf\n", g);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    printf() 的高级用法

    %[flag][width][.precision]type
    
    • 1
    • type 表示输出类型,必须有
      在这里插入图片描述

    • .precision 表示输出精度,也就是小数的位数

    • width 表示最小输出宽度,占几位

    • flag 是标志字符。
      在这里插入图片描述

    #include 
    int main()
    {
      int a1 = 20, a2 = 345, a3 = 700, a4 = 22;
      int b1 = 56720, b2 = 9999, b3 = 20098, b4 = 2;
      int c1 = 233, c2 = 205, c3 = 1, c4 = 6666;
      int d1 = 34, d2 = 0, d3 = 23, d4 = 23006783;
    
      printf("%-9d %-9d %-9d %-9d\n", a1, a2, a3, a4);
      printf("%-9d %-9d %-9d %-9d\n", b1, b2, b3, b4);
      printf("%-9d %-9d %-9d %-9d\n", c1, c2, c3, c4);
      printf("%-9d %-9d %-9d %-9d\n", d1, d2, d3, d4);
    
      printf("\n");
      printf("%9d %9d %9d %9d\n", a1, a2, a3, a4);
      printf("%9d %9d %9d %9d\n", b1, b2, b3, b4);
      printf("%9d %9d %9d %9d\n", c1, c2, c3, c4);
      printf("%9d %9d %9d %9d\n", d1, d2, d3, d4);
    
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    %-9d中,d表示以十进制输出,9表示最少占9个字符的宽度,宽度不足以空格补齐,-表示左对齐。综合起来,%-9d表示以十进制输出,左对齐
    在这里插入图片描述

    输入 scanf

    • scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。
    • getchar()、getche()、getch():这三个函数都用于输入单个字符。
    • gets():获取一行数据,并作为字符串处理。

    • scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入,和 printf 的功能正好相反。
    • scanf() 不会跳过不符合要求的数据,遇到不符合要求的数据会读取失败,而不是再继续等待用户输入。
    • 对于 scanf(),输入数据的格式要和控制字符串的格式保持一致。
    • scanf 的变量前要带一个&符号。&称为取地址符,也就是获取变量在内存中的地址。

    在这里插入图片描述

    #include 
    int main()
    {
      char letter;
      int age;
      char url[30];
      float price;
    
      scanf("%c", &letter);
      scanf("%d", &age);
      scanf("%s", url); //可以加&也可以不加&
      scanf("%f", &price);
    
      printf("26个英文字母的最后一个是 %c。\n", letter);
      printf("C语言中文网已经成立%d年了,网址是 %s,开通VIP会员的价格是%g。\n", age, url, price);
    
      char author[30], lang[30], url[30];
      scanf("%s %s", author, lang);
      printf("author:%s \nlang: %s\n", author, lang);
    
      scanf("%s", url);
      printf("url: %s\n", url);
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
  • 相关阅读:
    uniapp本地存储的几种方式
    Base64与MD5(数据加密)与ValidateCode(验证码)
    ciscn_2019_s_9
    【教学类-06-06】20230905数字题目随便玩( 加减法、分合、比大小,纸张消耗)
    数据的距离度量 三、Jaccard距离,卡方相似度,相关系数,Dice系数
    FreeSWITCH对接vosk实现实时语音识别
    2023年DDoS攻击发展趋势的分析和推断
    跨境电商商城源码(多语言多商户进出口电商平台)
    初步了解 RabbitMQ
    青岛大学数据结构与算法——第3章
  • 原文地址:https://blog.csdn.net/weixin_46372074/article/details/126695928