scanf和printf介绍

scanf 

1:基本用法

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

1:基本用法

printf是将参数文本输入到屏幕,print(打印),f是format(格式化),可以表示定制文本的格式。

#include
int main()
{
printf("今天真开心");  //运行结果“今天真开心”
return 0;
}

如果打印结果内部有换行,可以用换行符来解决。

#include 
int main()
{
printf("hello\n");
printf("happy\n");
return 0;
}

2:占位符

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 类型。

• %% :输出⼀个百分号。

3:限定宽度

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;
}

4:输出部分字符串

%s 表示字符串,默认全部输出。

%.5s表示限定长度5。

printf("%.5s\n","hello word);  //输出hello

你可能感兴趣的:(c++学习,算法)