printf函数
printf是C语言的标准的输出的库函数
使用printf的时候,尽量包含一个头文件 "stdio.h"(如果不包含,则会出现警告)
printf的使用格式:
printf("格式控制字符串",变量列表);
格式控制符
- int main(int argc, const char * argv[]) {
- char c, s[20];
- int a=1234;
- float f=3.141592653589;
- double x=0.12345678912345678;
- strcpy(s, "Hello,World");
- c='\x41';
- printf("a=%d\n", a);//按照十进制整数格式输出,显示 a=1234
- printf("a=%d%%\n", a);//输出%号 结果 a=1234%
- printf("a=%6d\n", a);//输出6位十进制整数 左边补空格,显示 a= 1234
- printf("a=%06d\n", a);//输出6位十进制整数 左边补0,显示 a=001234
- printf("a=%2d\n", a);//a超过2位,按实际输出 a=1234
- printf("a=%-6d\n", a);///输出6位十进制整数 右边补空格,显示 a=1234
- printf("f=%f\n", f);//浮点数有效数字是7位,结果 f=3.141593
- printf("f=%6.4f\n", f);//输出6列,小数点后4位,结果 f=3.1416
- printf("x=%lf\n", x);//输出长浮点数 x=0.123457
- printf("x=%18.16lf\n", x);//输出18列,小数点后16位,x=0.1234567891234567
- printf("c=%c\n", c); //输出字符 c=A
- printf("c=%x\n", c);//以十六进制输出字符的ASCII码 c=41
- printf("s[]=%s\n", s);//输出数组字符串s[]=Hello,World
- printf("s[]=%6.9s\n", s);//输出最多9个字符的字符 s[]=Hello,Wor
- return 0;
- }
结果:
a=1234
a=1234%
a= 1234
a=001234
a=1234
a=1234
f=3.141593
f=3.1416
x=0.123457
x=0.1234567891234568
c=A
c=41
s[]=Hello,World
s[]=Hello,Wor
Program ended with exit code: 0
%f精度问题
float
有效数字是7位
默认输出6位小数
有效小数6位
double
有效数字是15位(也有说16位的,验证的是16位)
默认输出6位小数
有效小数最多(有效数字 - 1,由数的具体位数定,需制定.)
scanf函数
如果使用这个函数,要包含一个头文件 stdio.h
阻塞式的函数:函数执行后,会等待用户的输入,如果用户不输入任何内容,它会一直等待
scanf函数的作用:
从键盘接收用户输入的内容,保存到指定的变量中
scanf函数的格式:
scanf("格式控制符",输入项的地址列表);
scanf运行的原理
1)
当用户输入内容后,用户输入的内容会被存放到scanf的输入缓冲区中然后,scanf函数会根据格式控制的字符的要求,从输入缓冲区依次取它想要的内容
如果从缓冲区中取得内容和和我们的格式要求一致,则把值存放到变量中
%d %c %d
如果格式不一致,则不修改变量的值
2)如果scanf缓冲区中还有内容,则scanf不会提示我们再次输入
注意:
不允许写%m.nf,但是%mf是可以的
关于scanf中,尽量不要使用 \n
如果一不小心使用了,怎么破
// 1) 输入值后,随便输入一个内容
// 2) \n要原样输入
第二天-输入(scanf)输出(printf)函数
最新推荐文章于 2023-09-20 21:04:08 发布