C 语言之格式化输入与输出

1.格式化的输出

  1.1 printf的介绍

  #include <stdio.h>
         int printf(“格式字符串”,标识符名称 ...);
   printf是一个函数,“”里面用于设置输出的格式,后面代表具体的输出内容
   printf(“你好%d 我好%d 大家好%d 我们都好\n”);
   普通字符:你好  我好  大家好  我们都好——》原样输出,一般用于打印提示信息
   格式控制符:%d ——》用于控制输出格式,也叫占位符
   转义字符:\n

  1.2常见的格式控制符

%d  %i ——》int
%u——》unsigned int
%hd/ %ld——》short/long
%c ——》char
%s ——》字符串“nihao”
%f ——》float/double
%e ——》指数的形式输出浮点数
%g ——》从%e和%f之间选择较好的输出格式输出,一般省略后面多余的0
特殊的格式控制符:
%x/%o ——》十六进制/八进制格式

%p  ——》输出一个地址

%#x  ——其中的%#表示的输出提示方式,表示输出的十六进制,会输出结果自动加上0x
%#o —— 其中的%# 表示的输出提示方式,表 示输出的 八进制 ,会输出结果自动加上0

注意:(1)格式控制符中使用的格式和后面输出的数据要保持一致,如果类型不一致,结果不可预知

(2)字符类型的本质就是整数,字符类型也可以使用%d格式输出,输出的是字符所对应的ASCII码

(3)%d 跟 %i 在printf中没有区别,但是 在scanf中有区别%i 除了读取十进制,还可以读取十六进制,八进制
特殊的格式控制符:
%实际上就是格式控制符的开始
%3d  输出的数据占3个字符的宽度
%02d 输出的数据占用2个字符的宽度,如果不够空位补0
%-3d 输出的数据占3个字符的宽度,左对齐没有-默认是右对齐
%m.nf  输出一个共m位宽度的数据,小数点后有n位

%%   输出一个%号

1.4常见的转义字符

\n  换行
\r  回车不换行,回到本行开始位置
\b  退格
\t  制表,tab键
\"  输出"
\'  输出'
\?  输出?
\0  字符串的结束标志

\a   报警

2.格式化的输入

   2.1 scanf的介绍

#include <stdio.h>
scanf("格式字符串",标识符地址列表);
scanf()是一个函数,格式字符串和printf中一样,地址列表:&num(int num ;scanf("%d",&num);)

scanf在读取数据的时候,会跳过前面的空白字符(空格,回车,tab键),直接去寻找指定的格式读取数据

  2.2  注意

(1)输入的数据要和scanf中指定的格式要一致,
(2)scanf中的格式字符串中要求只能有格式控制符(不是不可以有)
(3)当读取多个数据时,使用空白字符将多个输入的数据隔开
(4)当读取多个数据中有%c格式的数据时,采用在%c前面加一个空格。表示忽略所有空白字符的意思
(5)scanf中不要省略&,否则可能引发段错误
段错误:访问了非法地址
(6)scanf(“%d”,&num);

scanf不会将末尾的回车符读走,scanf(“%*c”),——》读取任意一个字符并丢弃

2.3 %d ;%i 在scanf中的区别

在scanf中%i除了能读取十进制还能读取八进制跟十六进制


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值