C语言格式化输出的三种方式
puts()
只能输出字符串,并且输出结束后会自动换行putchar()
只能输出单个字符printf()
可以输出各种数据类型的数据,可以和格式化符号配合使用
printf格式化输出详解
1. 整数格式化
#include <stdio.h>
int main(void)
{
int a = 520;
long long b = 1314;
printf("a is %d,b is %lld! \n", a, b);
return 0;
}
结果:
对于int
而言,我们使用%d
将要输出的内容进行格式化,然后输出.%d
可以看成是一个占位,会按照顺序替换成后面的变量. %lld
用于对long long
类型的变量进行格式化
2. 浮点数格式化
#include <stdio.h>
int main(void)
{
float a = 1.2345;
double b = 1.22222333344;
printf("a = %.3f, b = %.0lf\n",a,b);
printf("a = %e\n",a);
return 0;
}
结果:
对于浮点数而言,我们使用%f
来对单精度浮点数进行格式化,使用%lf
来对双精度浮点数进行格式化.并且使用.
加数字代表要输出的数精确到小数点后几位. %e
用来表示用科学计数法来表示浮点数
3. 字符
#include <stdio.h>
int main(void)
{
char ch = 'A'; // 注意C语言中字符是单引号
putchar(ch); // putchar可以输出单个字符
printf("\nch = %c",ch);
}
结果:
C语言中的字符就是表示一个字符,用单引号来表示,putchar()
可以单独的输出一个字符,printf
打印输出字符用%c
来表示,\n
不是两个字符,这个称之为是转义字符,代表的是换行.
4. 字符串
字符串,是由多个字符组合而成,用双引号引起来,用
%s
进行格式化即可
#include <stdio.h>
int main(void)
{
char str[100] = "I love You !";
printf("%s\n",str);
return 0;
}
结果:
对齐格式化
- 负号: 如果有则按照左对齐方式输出
- 数字: 指定字段最小宽度,如果不足则用空格填充
- 小数点: 用于将最小字段宽度和精度分开
- 精度: 用于指定字符串重要打印的最大字符数,浮点数小数点后的位数,整型最小输出的数字数目
#include <stdio.h>
int main(void)
{
double x = 520.1314;
int y = 520;
printf("[%10.5lf]\n",x); // 默认是右对齐, 占10位,保留5位小数点
printf("[%-10.5lf]\n",x); // 左对齐,占10位,然后保留5位小数点
printf("[%10.8d]\n",y); // 整型 默认右对齐,占10位,然后是补齐到8位,前面补零
printf("[%-10.8d]\n",y); // 整型 左对齐,占10位,然后是补齐到8位,前面补零
return 0;
}
结果:
例题
1. 输出 a + b
题目描述
输入两个正整数a和b,输出a+b的值.
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",a + b);
return 0;
}
结果: