一、输入输出函数
1、字符输入输出函数
1> 输入函数 getchar()
头文件:
#include <stdio.h>
函数原型:
int getchar(void);
函数参数:
无参
函数功能:
从终端(键盘)获取一个字符
返回值:
成功:从键盘获取的字符
失败:EOF(-1)
2> 输出函数 putchar()
头文件:
#include <stdio.h>
函数原型:
int putchar(int c);
函数参数:
c:要输出到屏幕上的字符常量或者字符变量
函数功能:
将c字符打印到屏幕上
返回值:
成功:输出的字符
失败:EOF(-1)
2、格式化输入输出函数
1》格式化输入函数 scanf()
头文件:
#include <stdio.h>
函数原型:
int scanf("格式控制串",地址表);
函数参数:
格式:
%d 十进制整数
%x 十六进制的无符号整数
%o 八进制的无符号整数
%u 十进制无符号整数
%c 单一字符
%s 字符串
%f 小数形式浮点数
%e 指数形式浮点数
%h 用在d o x前,指定输入short型整数
%l
用在d o x前,指定输入long型整数
用在e f前,指定输入double型实数
%m 指定输入数据宽度,遇空格或不可转换字符结束
%* 抑制符,指定输入项读入后不赋给变量
函数功能:
按指定格式从键盘读入数据,存入地址表指定
返回值:
成功:正常,返回输入数据个数
失败:EOF(-1)
注意:
存储单元中,并按回车键结束
地址表:变量的地址,常用取地址运算符&
说明:
1、处理”垃圾“的方法
1-- 用%*
eg:
char a,b;
scanf("%c%*c%c",&a,&b);
printf("a=%c b=%c\n",a,b);
2-- getchar()
eg:
char c, c1;
scanf("%c",&c);
getchar();
scanf("%c",&c1);
printf("c=%c c1=%c\n",c,c1);
2、输入数据时,遇以下情况认为该数据结束:
遇空格、TAB、或回车
遇非法输入
遇宽度结束
2》格式化输出函数 printf()
头文件:
#include <stdio.h>
函数原型:
printf("格式控制串",输出表);
函数功能:
按指定格式向显示器输出数据
输出表:要输出的数据
格式控制串:包含两种信息
格式说明:%[修饰符]格式字符,用于指定输出格式
普通字符:原样输出
格式:
%d 十进制整数
%x 十六进制的无符号整数
%o 八进制的无符号整数
%u 十进制无符号整数
%c 单一字符
%s 字符串
%f 小数形式浮点数
%e 指数形式浮点数
%h 用在d o x前,指定输入short型整数
%l
用在d o x前,指定输入long型整数
用在e f前,指定输入double型实数
%% 百分号本身
修饰符:
m 输出数据域宽,数据长度<m,左补空格;否则按实际输出
.n 对实数,指定小数点后位数(四舍五入)
对字符串,指定实际输出位数
- 输出数据在域内左对齐(缺省右对齐)
+ 指定在有符号数的正数前显示正号(+)
0 输出数值时指定左面不使用的空位置自动填0
# 在八进制和十六进制数前显示前导0,0x
3、字符串输入输出函数
1》字符串输入函数 gets()
头文件
#include <stdio.h>
函数原型
char *gets(char *s);
函数参数
s:字符数组的首地址
函数功能
从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’
返回值
成功: 字符数组的首地址
失败:NULL
2》字符串输出函数 puts()
头文件
#include <stdio.h>
函数原型
int puts(const char *s);
函数参数
s:字符数组/字符串的首地址
函数功能
将s指向的字符串输出到终端,并自动换行;
返回值
成功: 非负整数
失败:EOF
说明:字符数组必须以‘\0’结束