1、格式
scnaf是输入函数,其格式如下
scanf("格式控制",变量地址);
举个例子:其中双引号里面是一个%d,表示通过这个scanf用户需要输入一个int型的变量,将其存放在int型变量n中。
scanf("%d",&n);
2、常见的数据类型变量的scanf格式符
数据类型 |
格式符 |
举例 |
int |
%d |
scanf("%d",&n); |
long long |
%lld |
scanf("%lld",&n); |
float |
%f |
scanf("%f",&fl); |
double |
%lf |
scanf("%lf",&db); |
char |
%c |
scanf("%c",&c); |
字符串(char数组) |
%s |
scanf("%s",str); |
说明:
3、针对一些输入带空格的说明
(1)输入整型数字,用空格隔开,即这样输入:3 4 ,在两个%d之间可以不加空格
因为scanf对除了%c以外的其他格式符(如%d)的输入都是以空白符(即空格、换行等)作为结束判断标志的。
int a,b;
scanf("%d%d",&a,&b);
1)、输入可以以空格隔开输入
2)、输入也可以换行输入
(2)在使用%c的使用,他会把空格读入
1)实例1 :%c之间不加空格
char a,b;
sacnf("%c%c",&a,&b);
2)实例2 : %c之间加空格
char a,b;
scanf("%c %c",&a,&b);
总结:因此可以看出%c会把空格按字符读入,其他方式不会。
(3)字符数组使用%s读入的时候以空格跟换行作为读入结束的标志
char str[20];
scanf("%s",str);
printf("%s",str);
return 0;
可见是以空格或换行作为读入的结束标志的
1、格式
printf是输出函数其格式如下
printf("格式控制",变量名称);
可见printf第二个参数并不需要给出变量的地址,而是直接给上变量的名称就可以了。例如下:
int n = 5;
printf("%d",n);
2、常见的数据类型的printf格式符
数据类型 |
格式符 | 举例 |
int | %d | printf("%d",n); |
long long | %lld | printf("%lld",n); |
float | %f | printf("%f",fl); |
double | %f | printf("%f",db); |
char | %c | printf("%c",c); |
字符串(char数组) | %s | printf("%s",str); |
3、想要输出%或者\
即在%前面加一个%或者\
printf("%%");
printf("\\");
4、三个实用的输出格式
(1)%md
%md可以使不足m位的int型变量以m位进行右对齐输出,其中高位用空格补齐;如果变量本身长度超过m位,则保持原样。
int a = 123,b=1234567;
printf("%5d\n",a);
printf("%5d\n",b);
(2)%0md
%md可以使不足m位的int型变量以m位进行右对齐输出,其中高位用0补齐;如果变量本身长度超过m位,则保持原样。
int a = 123,b=1234567;
printf("%05d\n",a);
printf("%05d\n",b);
(3)%.mf
%.mf是让浮点数保留m位小数输出
double d1 = 12.9786;
printf("%.1f\n",d1);
printf("%.2f\n",d1);
printf("%.3f\n",d1);