一、printf函数的介绍
1.基本输出
printf()的作用是将参数文本输到屏幕。f表示format(格式化),表示可定制输出文本的格式。在使用printf函数之前应包含头文件#include<stdio.h>。
#include<stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
2.占位符是什么
#include<stdio.h>
int main()
{
printf("%s says it is %d o'clock\n",Xiaoli,6);
return 0;
}
这里的%d和%s都是占位符,一条printf语句中可含有多个占位符予以打印。
3.占位符的列举
占位符的种类是与数据类型紧密相关的,让我们先回顾一下数据类型。
3.1整型
//短整型
short [int]
[signed] short [int]
unsigned short [int]
//整型
int
[signed] int
unsigned int
//长整型
long [int]
[signed] long [int]
unsigned long [int]
//长长整型
long long [int]
[signed] long long [int]
unsigned long long [int]
整型本身有3✖4=12种类型,再加上不同进制的类型,一共16种,总结如下:
%d %o %x %u
%hd %ho %hx %hu
%ld %lo %lx %lu
%lld %llo %llx %llu
3.2浮点型
//单精度浮点型
float %f
//双精度浮点型
double %lf
long double %ld
3.3字符型
//单字符
char %c
3.4几种特殊的占位符
//字符串 %s
//size_t %zd(用于计算字符占用的字节空间)
%p(指针)、%%(打印一个百分号)
4.修饰符
在占位符前常常可输入数字来限定最后输出\输入数据的长度、左右对齐等。以下即为修饰符的具体应用。
4.1限定宽度
printf()允许限定占位符的最小宽度。
#include<stdio.h>
int main()
{
printf("%5d\n",123);\\默认+为右对齐
return 0;
}
“5”,即为允许后面变量/常量输出的最大长度。“+”为右对齐,“-”为左对齐。
4.2限定小数宽度
#include<stdio.h>
int main()
{
printf("%6.2f\n",123.456);
return 0;
}
"6"表示输出数据的最小宽度,一般可省略。“2”表示小数点后只保留2位,所以这个程序输出结果为123.46(系统默认四舍五入)。
二、scanf()函数的介绍
scanf函数与printf函数用法基本相同,不同之处在于scanf函数在引用变量/常量时需要加地址&,两变量之间需要加逗号。
#include<stdio.h>
int main()
{
int num=0;
float ave=0.0;
scanf("%d%f",&num,&ave);
printf("%d %f\n",num,ave);
}
1.scanf的占位符
scanf占位符与printf基本相同,但要注意以下几点:
除了%c以外,都会自动忽略起首的空白字符。
对于%10s,他从第一个非空白字符读起,一直到遇到(空白字符、换行符、制表符)为止。
“10”表示最长读到的字符串长度(不包括“\n”).
2.scanf的返回值
scanf函数的返回值为成功读取变量的个数!
#include<stdio.h>
int main()
{
int i=0;
while(scanf("%d",&i)!=EOF)
{
printf("%d ",i);
}
return 0;
}
以上这段代码代表只要成功读取到i,while循环将一直进行下去。