闲来无事做个笔记之C语言之格式字符
在C语言输出时,对不同的类型的数据要指定不同的格式声明,格式声明最重要的就是格式字符,
1). d格式符,用来输出有符号的十进制整数。可以在输出的数据中指定其列数
#include <stdio.h>
int main()
{
int a = 1;
printf("%d\n", a);
printf("%5d\n", a);
}
执行结果:
1(输出1)
1(输出1但前面有4个空格)
2). c格式符, 用来输出一个字符。也可以指定输出的数据列数
char ch = 'a';
printf("%c\n", ch);
printf("%5c\n", ch);
执行结果:
a(输出a)
a(输出a前面有4个空格)
注:一个整数,如果在0-127之前可以使%c输出其ascii对应的字符
short a = 121;
printf("%c", a);
执行结果:
y
3). s格式符,用来输出一个字符串。不支持指定输出数据的列数,若指定了也不会报错
printf("%s\n", "HELLO");
printf("%5s\n", "HELLO");
执行结果:
HELLO
HELLO
4). f格式符, 用来输出实数(包括单、双精单、长双精度)以小数开式输出有几种用法:
4.1).基本型%f 由系统根椐数据的实际情况决定数据所占的列表,系统处理的一般方法:
实数中的整数全部输出,小数部分输出6位
#include <stido.h>
int main()
{
double a = 1.0;
prinft("%f\n", a/3);
return 0;
}
运行结果:
0.333333
4.2). 指定数据宽度和小数位数,用%m,nf m是输出的位数,n是小数,m也不是可以指定无限大的值,
在用%f输出时要注意数据本身能提供的有效数字,如float型数据的存储单元只能保证6位的有效数字
double型数据能保证15位有限数字
double a = 1.0;
printf("%20.15f\n",a/3);
运行结果:
0.333333333333333(注意0前面有3个空格)
4.3). 输出的数据向左对齐 用% -m ,nf
基本功能和%m,nf相同,但当数据长度不超过m时,数据向左靠,右端补齐空格
double a = 1;
printf("%-25.15f, %25.15f\n", a,a);
运行结果:
1.000000000000000 , 1.000000000000000
5). e格式符
太困.睡觉明天补上