scanf() 函数⽤于读取⽤⼾的键盘输⼊
scanf("%d",&i);
scanf可以同时输入多个数据。
scanf("%d %d %d",&i,&j,&f);
#include
int main()
{
int x;
float y;
scanf("%d",&x); //用户输入数据
printf("%d\n",x); //打印数据
scanf("%f",&y);
printf("%f\n",y);
return 0;
}
同时输入多个数据
#include
int main()
{
int x;
float y;
scantf("%d%f",&x,&y);
return 0;
}
printf是将参数文本输入到屏幕,print(打印),f是format(格式化),可以表示定制文本的格式。
#include
int main()
{
printf("今天真开心"); //运行结果“今天真开心”
return 0;
}
如果打印结果内部有换行,可以用换行符来解决。
#include
int main()
{
printf("hello\n");
printf("happy\n");
return 0;
}
printf() 可以在输出⽂本中指定占位符。
所谓 “占位符”,就是这个位置可以⽤其他值代⼊。
// 输出 There are 3 boxes
#include
int main()
{
printf("There are %d boxes\n", 3);
return 0;
}
上⾯⽰例中, There are %d boxes\n 是输出⽂本,⾥⾯的 %d 就是占位符,表⽰这个位置要 ⽤其他值来替换。
占位符的第⼀个字符⼀律为百分号 % ,第⼆个字符表⽰占位符的类型, %d 表⽰这 ⾥代⼊的值必须是⼀个整数。
printf() 的第⼆个参数就是替换占位符的值,上⾯的例⼦是整数 3 替换 %d 。
执⾏后的输出结果 就是 There are 3 boxes.
常用的占位符%d以外,还有%s字符串。
还可以有多个占位符:
printf("%s has %d kids",“zhangsan",3);
%a :⼗六进制浮点数,字⺟输出为⼩写。
• %A :⼗六进制浮点数,字⺟输出为⼤写。
• %c :字符。
• %d :⼗进制整数。
• %e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。
• %E :使⽤科学计数法的浮点数,指数部分的 E 为⼤写。
• %i :整数,基本等同于 %d 。
• %f :⼩数(包含 float 类型和 double 类型)。
• %g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e 为⼩写。
• %G :等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写。
• %hd :⼗进制 short int 类型。
• %ho :⼋进制 short int 类型。
• %hx :⼗六进制 short int 类型。
• %hu :unsigned short int 类型。
• %ld :⼗进制 long int 类型。
• %lo :⼋进制 long int 类型。
• %lx :⼗六进制 long int 类型。
• %lu :unsigned long int 类型。
• %lld :⼗进制 long long int 类型。
• %llo :⼋进制 long long int 类型。
• %llx :⼗六进制 long long int 类型。
• %llu :unsigned long long int 类型。
• %Le :科学计数法表⽰的 long double 类型浮点数。
• %Lf :long double 类型浮点数。
• %n :已输出的字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中。
• %o :⼋进制整数。
• %p :指针。
• %s :字符串。
• %u :⽆符号整数(unsigned int)。
• %x :⼗六进制整数。
• %zd : size_t 类型。
• %% :输出⼀个百分号。
printf()允许最小宽度:
#include
int main()
{
printf("%5d",123); //输出“ 123”
return 0;
}
%5d表示占位符至少是五位,从左往右对齐。如果不满五位,用空格对齐。
%-5d表示右向左对齐。
限定最小小数位数。
#include
int main()
{
printf("%.5f",123.123); //输出123.12300
rerurn 0;
}
%5.2表示最小宽度为5,其中有两个小数位。
最小宽度和小数位数可以用*表示:
#include
int main()
{
printf("%*.*f",3,2,0.6); //输出0.60
return 0;
}
%s 表示字符串,默认全部输出。
%.5s表示限定长度5。
printf("%.5s\n","hello word); //输出hello