C语言的函数
函数:
常用函数:
printf函数:
介绍:用来输出信息语句的函数
格式: printf("格式控制字符串",输出项列表);
格式字符:
1): %d 输出十进制整数
%md 设置域宽
m:可以为正负
如果要输出的位数大于了m,则按照实际域宽进行输出
否则m大于0 则从左边补位 ;m小于0 则从右边补位
%0md
不足的部分用0进行补位
2): %f 输出一个实数类型的数据
%f 默认显示6位小数,如果精度要求7位以上则使用 double进行存储实数类型,精度为15位
%m.nf
m:标示总的位数
n:标示小数点后的位数
%-6.2f 负号表示从右边补位
3): %c 输出一个字符
4): %s 输出一个字符串
5): %o 把一个数,以八进制的形式进行输出
6): %x 把一个数,以十六进制的形式进行输出
7): %p 输出一个地址(内存地址)
scanf函数 : 阻塞式函数
scanf函数包含在标准"输入输出"头文件"stdio.h"中,用于接收键盘输入的内容
格式: scanf("格式控制字符串",输入项地址列表);
输入项地址列表: 需要接收数据的变量地址,这些输入项与格式控制字符串在类型和数量上相对应,当有多个输入项时,各个地址名之间用 "逗号" 分隔,另:输出格式和变量类型要保持一致(一个变量的地址可以通过地址运算符& 得到)
scanf函数格式控制符:
i 输入一个有符号或无符号的十进制、八进制、十六进制整数
u 输入一个无符号十进制整数
f、e/E、g/G 输入一个小数形式或指数形式的浮点数
注意: %f 这样是可以的 ,%m.nf 这样在scanf中是不可以的
scanf注意事项:
1.scanf函数当遇到回车的时候,会结束执行
2.接收单个变量值的时候,在输入值之前,如果我们输入了空格、回车、tab,都会被忽略
scanf("%d%d",&a,&b); 要求我们在键盘上输入的时候,输入两个整数,并且以空格或者回车隔开
输入完第一个数以后,如果中间输入空格、回车、tab都会被忽略
3.%*d 其中 *代表跳过一个整数
4.\n 关于scanf中,尽量不要使用\n,如果不小心使用了,输入值以后随便输入一个内容,那么需要原样输入\n
scanf函数原理:
"已知问题:整形和字符混合输入"
%d%c%d
运行原理:
1.当用户输入内容后,用户输入的内容会被存放在scanf的输入缓冲区中,然后canf函数会根据格式控制的字符的要求,从输入缓冲区依次取它想要的内容,如果缓冲区中取得内容和我们的格式要求一致,那么就把值存放到变量中;如果格式不一致,则不修改变量的值
2.如果scanf缓冲区还有内容,那么scanf不会提示我们输入内容
递归函数/递归调用: