【C语言】数据输入输出函数及格式说明符和说明符的修饰符

数据的输出

字符输出函数putchar

  • 头文件:stdio.h
  • 函数原型:int putchar(int c)
  • 函数参数:c为字符常量或表达式
  • 函数返回值:输出的字符
  • 函数功能:在标准输出上显示一个字符
  • 示例代码如下
#include <stdio.h>

int main()
{
	int a = 65;
	char b = 'B';
	
	putchar(a);
	putchar('\n');
	putchar(b);
	
	return 0;
}
  • 输出结果:
A
B

格式化输出函数printf 及支持的格式符 修饰符

  • 头文件:stdio.h
  • 函数原型:int printf(const char*format,…)
  • 函数参数:format制定输出格式,后面跟要输出的变量,为不定参,用"…"代表
  • 函数返回值:成功返回输出的字节数,失败返回-1(EOF)
  • 函数功能:格式化字符串输出
  • printf 支持的格式 及格式符:
格式符作用格式符作用
i,d十进制整数s字符串
x,X十六进制无符号整数e,E指数形式浮点小数
o八进制无符号整数f小鼠形式浮点小数
u无符号十进制整数ge和f中较短一种
c单一字符%%百分号本身
  • 一个格式说明可以带有几个修饰符,用来制定显示宽度,小数尾数及左对齐等;
修饰符功能
m输出数据域宽,数据长度<m,左补空格;否则按实际输出;
.n对实数,指定小数点后位数(四舍五入);对字符串指定实际输出位数;
-输出数据在域内左对齐(缺省右对齐)
+指定在有符号数的正数前显示正号(+)
0输出数值时指定左面不适用的空位置自动填0
#在八进制和十六进制数前显示前导0,0x
l在d,o,x,u前,指定输出精度位long型;在e,f,g前,指定输出精度位double型
  • 示例代码如下:
#include <stdio.h>

int main()
{
	int a = 1234;
	float f = 123.456;
	char ch = 'a';
	char s[]="Hello umiuwifi!";

	printf("%8d,%2d\n",a,a);
	printf("%f,%8f,%8.1f,%.2f\n",f,f,f,f);
	printf("%3c\n",ch);
	printf("%s\n%20s\n%10.5s\n%2.5s\n%.3s\n",s,s,s,s,s);
	
	return 0;
}
  • 输出结果:
    1234,1234
123.456001,123.456001,   123.5,123.46
  a
Hello umiuwifi!
     Hello umiuwifi!
     Hello
Hello
Hel
  • 下面例子演示格式符“ - ”的用法:
#include <stdio.h>

int main()
{
	int a = 1234;
	float f = 123.456;
	char s[]="Hello world!";

	printf("%8d,%-8d\n",a,a);
	printf("%10.2f,%-10.1f\n",f,f);
	printf("%10.5s,%-10.3s\n",s,s);
	
	return 0;
}
  • 输出结果:
    1234,1234    
    123.46,123.5     
     Hello,Hel       

  • 演示格式符 “0”、“+”、“#" 用法:
#include <stdio.h>

int main()
{
	int a = 1234;
	float f = 123.456;

	printf("%08d\n",a);
	printf("%010.2f\n",f);
	printf("%0+8d\n",a);
	printf("%0+10.2f\n",f);
	
	a = 123;
	printf("%o,%#o,%X,%#X\n",a,a,a,a);
	
	return 0;
}
  • 输出结果:
00001234
0000123.46
+0001234
+000123.46
173,0173,7B,0X7B

数据的输入

字符输入函数 getchar

格式化输入函数 scanf

字符串输入输出函数

没完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

umiuwifi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值