数据的输入与输出

本文介绍了C语言中用于数据输入和输出的基本函数,包括putchar用于字符输出,printf用于格式化字符串输出,getchar用于字符输入,以及scanf用于格式化输入。这些函数是C程序中进行基本输入输出操作的关键工具。
摘要由CSDN通过智能技术生成

数据的输入与输出

输出

字符输出函数putchar
  • 头文件:stdio.h

  • 函数原型:int putchar(int c)

  • 返回值:输出的字符

  • 功能:在标准输出上显示一个字符

  • #include <stdio.h>
    main()
    {   int c;
        char a;
        c=65;  a='B';
        putchar(c); putchar('\n'); putchar(a);
    }
    运算结果为:A
    	      B
    
    
格式化输出函数printf
  • 头文件:stdio.h

  • 函数原型:int printtf(const char *format,…) format指定输出格式,后面跟输出的变量,用“…”代表。

  • 返回值:成功返回输出的字节数,失败返回-1

  • 功能:格式化字符串输出

  • 格式符作用
    i, d十进制整数
    x,X十六进制无符号整数
    o八进制无符号整数
    u无符号十进制整数
    c单一字符
    s字符串
    e,E指数形式浮点小数
    f小数形式浮点小数
    ge和f中较短一种
    %%百分号本身
  • 格式符的修饰符

    修饰符功能
    m输出数据域宽,数据长度<m,左补空格;否则按实际输出
    .n对实数,指定小数点后位数(四舍五入)
    对字符串,指定实际输出位数
    -输出数据在域内左对齐(缺省右对齐)
    +指定在有符号数的正数前显示正号(+)
    0输出数值时指定左面不使用的空位置自动填0
    #在八进制和十六进制数前显示前导0,0x
    l在d, o, x, u前,指定输出精度为long型
    l在e, f, g前,指定输出精度为double型
    • 可以在参数format中加入转义字符:\b \n \t等等

输入

字符输入函数getchar
  • 头文件:stdio.h

  • 函数原型:int getchar(void)

  • 返回值:成功返回读到的字符,失败或读到结束符返回-1

  • 功能:在键盘上读一个字符

  • #include <stdio.h>
    int main()
    {  int c;
       printf("Enter a character:");
       c=getchar();
       printf("%c--%d->hex%x\n", c, c, c);
    }
    运行结果:
    Enter a character:A
    A--65->hex41
    
格式输入函数scanf
  • 头文件:stdio.h

  • 函数原型:int scanf (const char *format,…)

  • 函数参数:format指输入格式,后面跟地址,用“…”代表。

  • 格式符同printf

  • 格式符的修饰符

    修饰符功能
    h用于d, o, x前,指定输入为short型整数
    l用于d, o, x前,指定输入为long型整数
    用于e, f前,指定输入为double型实数
    m指定输入数据宽度,遇空格或不可转换字符结束
    *抑制符,指定输入项读入后不赋给变量
  • 输入多个变量时,需要用到输入分隔符:空格,TAB,回车键

  • 注意事项

    • 用“%c”格式符时,空格和转义字符作为有效字符输入

    • 输入数据时遇到以下情况认为输入结束:

      • 1.空格,TAB,回车
      • 宽度结束
      • 非法输入:如需要输入一个数,用户输入一个字母
    • 遇到非法输入时,返回值会小于实际输入的变量的个数

    • 使用输入函数会留下垃圾

      #include <stdio.h>
      int main()
      {
          int a;
          char ch;
          
          scanf("%d",&a);
          printf("%d\n",a);
          //在这里使用getchar();清除垃圾字符
          scanf("%c",&ch);
          //scanf(" %c");和scanf("%*c");“吃掉”垃圾字符
          printf("ch=%c %d\n",ch,ch);
          
          return 0;
      }
      
      程序结果:
          9
          9
          ch=
           10
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值