6.C基础_输入输出函数

putchar

功能:输出一个字符

函数声明:

int putchar(int c);

返回值:参数c的ASCLL码值

c:要输出的字符,可以为字符常量、字符变量或表达式

注意点:输出的结果不带'\n'

getchar

功能:从键盘读一字符

函数声明:

int getchar(void);

返回值:获取数据的ASCLL码值,当输入ctrl+d时会退出获取,此时返回值为-1

返回值为int型而不是char,unsigned char型是因为要返回-1和0~255范围,int型的范围才足够。

注意点:当获取多个字符时,回车也会被getchar获取,示例代码如下:

printf

功能:按指定格式向显示器输出数据

函数声明:

printf("格式控制串",输出表);

格式控制串:

  • 格式说明:%[修饰符]格式字符,用于指定输出格式
  • 普通字符:原样输出

格式字符汇总

整型输出有:%i、%d、%ld、%u、%lu、%o、%lo、%x、%lx

其中:l代表long或者double;l可以换成h,代表short型

字符型输出有:%c、%s

浮点型输出有:%f、%lf、%e、%le、%E、%lE、%g、%lg

其中:l代表long或者double

修饰符汇总

1、设置域宽(m):

设置输出数据的域宽,显示m个长度。

  • 如果原数据<m个长度,则会补其m个长度;
  • 如果原数据>m个长度,则会显示全部内容,不会截取。

2、限制输出位数(.n):

可以限制字符串、实数的输出位数。

  • 若原数据为字符串,则指定输出n个字符串,多余的会被截取。
  • 若原数据为实数,则指定输出小数点后n位,具有四舍五入原则。

3、设置左右对齐(-):

默认对齐方式为右对齐,加上" - "之后变成左对齐

4、显示有符号数正数符号(+)

有符号正数前会加上" + ",负数还是自动加上" - "

5、空位补0(0):

默认空位补的是空格,0会让空位补0

6、自动显示十六进制、八进制的前缀(#)

十六进制前缀是0x,八进制前缀是0

scanf

功能:按指定格式从键盘读入数据,存入地址表指定

函数声明:

int scanf("格式控制串",&地址表);

返回值:输入的有效数据的个数

输入停止规则

对于数值型数据,空格、Tab、回车、非法字符会让输入停止。

对于字符型数据,只有非法字符会让输入停止。

非法字符就是不符合要求的字符,比如要输入%d,却输入了36.1,那么" . "就是非法字符

格式控制串汇总

格式控制串与printf完全一致。

修饰符汇总

指定获取多个位(m):

输入的数据最多获取m个,多于m个的会被放到下一个格式控制串去输入,少于m个字符无影响。

抑制符(*):

配合m可以指定跳过m个字节不赋值

注意点

1、地址表需要有&取地址符号;

2、格式控制串中如果出现普通字符,如" , " 那么在输入时也要输入" , "

当普通字符位空格时,输入空格和回车都可以被获取到

3、当先获取数值型数据,再获取字符型数据时,回车会被获取(类似getchar的问题)

下面提供了三种解决方法:

4、当前面有m修饰时,但输入数据大于m时,数据会被下一个scanf接收

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值