跳到主要内容

printf基础语法

输出字符串

printf("hello world");

输出换行,不能用endl

printf("hello\n");
printf("world\n");
printf("hello\nworld\n");

输出数字(整数)

printf("%d\n",123); //输出123
为什么这样写

printf的一般格式为 printf("<格式化字符串>", <参量表>)

格式化字符串

  • "%d+%d=%d" 就是加法的格式,就可以用来输出 1+1=2
  • 又如 "小明今年%d岁" 可以用来输出小明的岁数,如 小明今年12岁

参量表

参量表是用来替换格式化字符串中的%d的

  • printf("%d+%d=%d",1,2,3); 输出的就是 1+2=3
  • printf("小明今年%d岁",10); 输出的就是 小明今年10岁

输出小数

printf("%f",3.14);
printf("%.2f",3.7777);//四舍五入保留两位小数 3.78
printf("%.3f",3.4444);//四舍五入保留三位小数 3.444

输出字符

printf("%c",'A');

输出字符串

printf("%s","hello world");

输出变量

以下内容要学习变量和变量类型后才能看懂,部分要学数组才能看懂
int a=123;
double b=3.14159;
char c='A';
char d[100]="hello world";
printf("整数%d\n",a);
printf("小数%f\n",b);
printf("字符%c\n",c);
printf("字符串%s\n",d);

% 格式占位符 类型说明符

%d、%f 之类表示占位符,同时也表示类型

危险

当格式化字符串中的类型与实际类型对不上的时候,输出是会出错的

printf("%d\n",123.0);//输出0
printf("%f\n",3); //输出0.000000

同时一些特殊类型的变量在输出时也要用相应的占位符才行

格式占位符对应变量类型表

占位符变量说明
%dint普通整数,最大值2147483647
%fdouble小数
%cchar字符
%lldlong long int长整数,最大值9223372036854775807
%uunsigned int无符号整数
%ounsigned int无符号整数,但是是用八进制输出
%x、%Xunsigned int无符号整数,但是是用十六进制输出,小写x对应小写a~z,大写X对应大写A~Z
%e、%Edouble科学计数法