putchar & getchar
1.putchar()
注意:只能输出一个字符,如果输出多个字符则需要多次调用
功能:向终端输出一个字符
使用:putchar(常量,变量,表达式)
返回值:成功返回输出字符对应的ASCII值;失败返回-1;
2.getchar()
注意:1.只能获取一个字符,获取多个字符需要调用多次
2.getchar()可以接收'\n';
功能:向终端获取一个字符
使用:getchar(void);
返回值:成功返回获取的字符的ASCII值;失败返回-1;
3.printf()
功能:向终端输出一个格式化的字符串打印
使用:(1) 输出非格式化控制符的字符串
转义字符:
(2)输出格式化控制的字符串
格式化控制符:
(3)输出包含多个格式化控制符的字符串
注意:多个格式化控制符,一一对应,类型不匹配
函数返回值:
成功返回本次调用打印的有效字符数量;
失败返回负值;
(4)scanf()
功能:从终端输入一个格式化的字符串打印,并将分割转换对应类型数据存储;
使用:(1).非格式化控制符
注意:非格式化控制符仅用作格式匹配
能不用就不用非格式化控制
(2).格式化控制符
注意:%f 与 %lf并不兼容
%c 与 (空格)%c的区别,后者可以过滤不接受' '字符;
(3).多个格式化控制符
函数返回值:成功返回获取的字符ASCII值;失败返回-1;
printf() 和 scanf()在格式化输入输出时(讨论double(%lf)与float(%f)),对于printf()来说,printf()会将float类型自动转换为double, 所以对于printf()来说%lf与%f并没有什么区别。而对于scanf()来说,类型必须是相互对应的,因为要找到对应的空间来存储相应的值。
(5).puts
注意:puts函数输出一行字符串会自带换行;
使用:puts("hello world!");
char arr[128] = "how are you"; puts(arr);
返回值:成功返回输出的字符数量
失败返回-1;
(6).gets (不推荐使用):gets的返回值是char*,但是它会将char* 转换为 int