DAY5 理解输入输出函数(scanf、printf、getchar、putchar)

一、printf()输出函数

printf() 函数是 C/C++ 语言中用于输出格式化字符串的函数。

封装于头文件:#include <stdio.h>

格式:int printf(const char *format, ...);

        int:表示输入的个数;

        print:输出函数;

        const:存储类型;

        char:数据类型;

        format:是一个字符串,表示要输出的格式化信息;

        . . .  :表示可变参数列表,可以包含多个变量,这些变量将按照format中的格式被输出;

  printf() 函数返回一个整数,表示成功输出的字符数,不包括换行符。如果输出过程中发生错误,例如无法匹配指定的格式或读取了不合法的数据,则会返回负数。

使用格式:printf("格式控制串",参数列表)

注意:()不能省略,逗号必须存在。

用例(eg)如下:使用 printf() 函数输出了不同类型的数据。

二、scanf()输入函数

scanf() 函数是 C/C++ 语言中用于从标准输入设备(键盘)读取数据的函数。

封装于头文件:#include <stdio.h>

格式:int scanf(const char *format, ...);

        int:表示输入的个数;

        scanf:输入函数;

        const:存储类型;

        char:数据类型;

        format:是一个字符串,表示要读取的数据的格式;

        . . .  :表示可变参数列表,可以包含多个变量,这些变量将按照format中的格式被读取;

  scanf() 函数返回一个整数,表示成功读取的变量个数。如果读取过程中发生错误,例如无法匹配指定的格式或读取了不合法的数据,则会返回负数。

使用格式:scanf("格式控制串",地址列表)

注意:()不能省略,逗号必须存在;

           元素之间可以使用空格、tab\回车表示元素输入的结束;

           回车表示scanf输入的整体结束;

           需要加空格两个情况 :多次输入单字符,格式串不单单只有格式控制符,scanf("b=%d",&b);

           吸收垃圾字符:空格 抑制字符%*c;

用例(eg)如下:

 1.输入一个值,并且格式控制串只有格式控制符。

 2.输入一个值,格式控制串有多余的字符。

 3.连续输入多个,格式控制串只有格式控制符。

 4.单字符多次输入(重点)。

 错误示范:b打印了回车键。

 正确示范:在如下位置使用吸收垃圾字符:空格 或者 抑制字符%*c。

三、getchar()函数

getchar() 函数是 C/C++ 语言中用于从标准输入设备(键盘)读取单个字符的函数。

封装于头文件:#include <stdio.h>

格式:int getchar(void);

        int:表示输入单字符的ASCII值,也等价于单字符;

        void:空类型,()里面不加任何变量;

  getchar()函数返回一个整数,表示从标准输入设备(键盘)读取到的字符。如果没有可用的输入,则会等待直到有输入可用为止。getchar() 函数不会存储读取的字符到任何变量中,因此需要使用其他方法来存储和使用读取的字符。

使用格式:char a; a=getchar();

注意:gechar():可以输入单字符,可以吸收垃圾字符

用例(eg)如下:

 错误示范:B字符打印了回车键。

 正确示范:

四、putchar()函数

putchar() 函数是 C/C++ 语言中用于向标准输出设备(屏幕)输出单个字符的函数。

封装于头文件:#include <stdio.h>

格式:int putchar(int c);     

        int:输出单字符的ASCII值;

        int c:输出字符的变量名;

  putchar() 函数将一个整数类型的字符 c 输出到标准输出设备(屏幕)上。如果没有可用的输出,则会等待直到有输出可用为止。putchar() 函数不会存储输出的字符到任何变量中,因此需要使用其他方法来存储和使用输出的字符。

使用格式:

        char a='P'

        putchar(a);

        putchar('P')

        putchar('\n')  == putchar(10)   换行作用

用例(eg)如下:

 

五、scanf()函数与getchar()函数的区别

scanf()getchar()

认为tab、空格、回车便是一个数据的结束

识别空格,回车,tab

可以读取多种数据类型

只能读取一种

可以一次输入多个

只能一次一个

使用格式化占位符来指定要读取的数据类型的格式不需要使用格式化占位符,它会直接读取下一个字符

读取速度相对慢

读取速度快

返回一个整数值,表示成功读取的变量数量不返回任何值

六、printf()函数与putchar()函数的区别

printf()putchar()

可以输出任意一种类型

只可以输出单字符

可以一次输入多个

putchar只能一次一个

读取速度相对慢

读取速度快

格式输出

直接输出

返回一个整数值,表示成功输出的字符数不返回任何值

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值