(2)混合运算-printf
讲解
1 混合运算
类型强制转换场景
整型数进行除法运算时,如果运算结果为小数,那么存储浮点数时一定要进行强制类型转换。
#include <stdio.h>
//强制类型转换
int main() {
int i=5;
float f=i/2;//这里做的是整型运算,因为左右操作数都是整型
float k=(float)i/2;
printf("%f\n",f);
printf("%f\n",k);
return 0;
}
左操作数和右操作数:
2 printf
函数介绍
printf
函数可以输出各种类型的数据,包括整形、浮点型、字符型、字符串型等,实际原理是printf
函数将这些类型的数据格式化为字符串后,放入标准输出缓冲区,然后将结果显示到屏幕上。
语法如下:
#include<stdio.h>
int printf(const char*format,...)
printf
函数根据format
给出的格式打印输出到stdout
(标准输出)和其他参数中。
字符串格式(format
)由两部分组成,显示到屏幕上的字符和定义printf
函数显示的其他参数。我们可以指定一个包含文本在内的format
字符串,也可以是映射到printf
的其他参数的“特殊字符”。
printf
函数的具体代码格式
代码 | 格式 |
---|---|
%c | 字符 |
%d | 带符号整数 |
%f | 浮点数 |
%s | 一串字符 |
%u | 无符号整数 |
%x | 无符号十六进制数,用小写 |
%X | 无符号十六进制数,用大写 |
%p | 一个指针 |
%% | 一个‘%’符号 |
位于%
和格式化命令之间的一个整数被称为最小字段宽度说明符,通常会加上空格来控制格式。
用%f
精度修饰符指定想要的小数位数。例如,%5.2f
会至少显示5位数字并带有2位小数的浮点数。
用%s
精度修饰符简单表示一个最大的长度,以补充句点前的最小字段长度。
printf
函数所有的输出都是右对齐的,除非在%f
符号后放置了负号。例如%-5.2
会显示5位字符、2位小数位的浮点数并且左对齐。
#include <stdio.h>
//练习printf
int main() {
int age=21;
printf("Hello %s, you are %d years old\n", "Bob", age);//%s表示在该位置插入首个参数(一个字符串),%d表示第二个参数(一个整数)应该放在哪里。
int i=10;
float f=96.3;
printf("student number=%-3d,score=%5.2f\n",i,f);//默认是右对齐,加一个负号代表左对齐
i=100;
f=98.21;
printf("student number=%3d,score=%5.2f\n",i,f);
return 0;
}