0006printf
printf(格式控制,输出列表)例如:printf(''%d,%c\n",i,j)
\n 换行符
printf(''%d",a) //占位符
//单行注释
/*
多行注释
*/
int a=3;
printf(''a=%d",a);
结果a=3
%后面是格式控制,其他都是原位输出
有格式控制的占位符必须要有变量与之对应,否则出错,例如:
正常:printf(''a=%d",a);
a=3
错误:printf(''a=%d");
a=-1762133456
d:十进制整数
c:单个字符,输出一个字母
s:多个字符
f:小数,一般输出小数点后6位数,指定位数 %m.nf例如:
%7.2f指定了输出的数据占7列,其中包括2位小数,对其后一位采用四舍五入的方法处理。如果指定了小数部分为0,则小数点也不会出现。
输出数据向左对齐用%-m.nf当数据长度不足m时,数据向左靠齐,右端补空格
例如:
float c = 5555.526;
printf("%50.2f\n",c);
>>> 5555.53占50列,没有的空格补
printf("%-50.2f\n",c);
>>>5555.53
m<数据长度时无效,例如
printf("%1.2f\n",c);
>>>5555.53
int q = 10;
int w = 3;
float result;
result = (float)q/w; //如果结果是小数,必须进行数据类型强制转换,否则结果不对,例如在result结果前加一个(float);
printf("结果是%f\n",result);
结果是3.333333
如果result = q/w;
结果是3.000000
x:16进制格式输出
p:内存地址,变量前面要加&例如printf("内存地址是%p\n",&a);
内存地址是000000000061FE1C
如果写成printf("内存地址是%p\n",a);
则内存地址是000000000000061E这是不对的
0007printf小练习
源码
#include <stdio.h>
int main()
{
int data1 = 43;
int data2 = 34;
printf("这里有两个原始数据,分别是%d,%d\n",data1,data2);
printf(">>>他们两数的和是%d\n",data1+data2);
printf(">>>他们两数的差是%d\n",data1-data2);
printf(">>>他们两数的积是%d\n",data1*data2);
printf(">>>他们两数的比是%f\n",(float)data1/data2);
printf(">>>他们两数的比保留两位小数是%.2f\n",(float)data1/data2);
return 0;
}
结果:
第三小节,继续加油!