输出

  • 输出:将程序的运行结果输出到控制台或终端窗口中
  • printf语法格式

    1. int printf (const char *format, ...);
    • format参数是一个格式化字符串,包含了输出的格式控制信息
    • 后面的参数...是可变参数,参数(要输出的数据)长度不固定
  • 格式化占位符 | 打印格式 | 对应数据类型 | 含义 | | —- | —- | —- | | %c | char | 字符型,输入的数字按照ASCII码相应转换为对应的字符 | | %hd | short int | 短整数 | | %hu | unsigned short | 无符号短整数 | | %d | int | 接受整数值并将它表示为有符号的十进制整数 | | %u | unsigned int | 无符号10进制整数 | | %ld | long | 接受长整数值并将它表示为有符号的十进制整数 | | %f | float | 单精度浮点数 | | %lf | double | 双精度浮点数 | | %e,%E | double | 科学计数法表示的数,此处”e”的大小写代表在输出时用的”e”的大小写 | | %s | char | 字符串。输出字符串中的字符直至字符串中的空字符(字符串以’\0‘结尾,这个’\0’即空字符) | | %p | void | 以16进制形式输出指针 | | %o | unsigned int | 无符号8进制整数 | | %x,%X | unsigned int | 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF |

示例代码:

  1. #include <stdio.h>
  2. int main() {
  3. // 定义变量
  4. char c = 'A';
  5. short s = 10;
  6. int i = 10;
  7. long l = 10;
  8. float f = 1.123456789123456789;
  9. double d = 1.123456789123456789;
  10. unsigned int ui = 20;
  11. char *name = "bill";
  12. // 格式化输出
  13. // 整型
  14. printf("c=%d\n", c);
  15. printf("s=%hd\n", s);
  16. printf("i=%d\n", i);
  17. printf("l=%ld\n", l);
  18. // 浮点类型
  19. printf("f=%.10f\n", f);
  20. printf("d=%.20lf\n", d);
  21. // 无符号数据
  22. printf("u=%u\n", ui);
  23. // 八进制和十六进制 可以加上前缀# 自动输出八进制和十六进制0或0x
  24. printf("o=%#o\n", 120);
  25. printf("x=%#x\n", 120);
  26. // 字符串类型
  27. printf("s=%s\n", name);
  28. // 内存地址
  29. printf("ps=%p\n", &s);
  30. return 0;
  31. }

输入

  • 输入:接收用户输入的数据的过程
  • scanf语法格式

    1. scanf("格式化字符串", &变量1, &变量2,...);
    • 格式化字符串用于指定输入的数据类型及其格式
    • 变量1、变量2等是要读入的变量的地址

示例代码:

  1. #include <stdio.h>
  2. int main() {
  3. // 定义int类型变量age,通过scanf输入内容,然后打印内容
  4. int age;
  5. printf("请输入年龄:");
  6. scanf("%d", &age);
  7. printf("age = %d\n", age);
  8. return 0;
  9. }

案例

  • 从键盘输入一个圆形的半径,输出圆的周长和面积

  • 思路步骤
    1. 1.定义常量pi
    2. 2.定义半径变量r
    3. 3.输入半径
    4. 4.求周长和面积, * 为乘以运算符
    5. 5.输出周长和面积

示例代码:

  1. #include <stdio.h>
  2. int main() {
  3. // 1.定义常量pi
  4. const double pi = 3.1415;
  5. // 2.定义半径变量r
  6. double r;
  7. // 3.输入半径
  8. printf("请输入半径:");
  9. scanf("%lf", &r);
  10. // 4.求周长和面积, * 为乘以运算符
  11. double len = 2 * pi * r;
  12. double area = pi * r * r;
  13. // 5.输出周长和面积
  14. printf("周长len = %lf, 面积area = %lf\n", len, area);
  15. return 0;
  16. }