最原始的数据输入输出是经过终端(黑窗口),后面随着计算机技术的发展,出现了图形界面(例如网页的表单)以及移动终端上常用的语音输入输出(IOS的Siri,Android的讯飞语音)的发展过程。
C语言提供了一系列的数据输入输出的函数,从第一个helloworld程序中使用的printf()函数以及后面用于读取键盘输入的scanf()函数以及字符的输入输出putchar(),getchar()等等。
printf()函数详解
printf本意是print format,也就是格式化输出,默认输出是到终端(控制台),同时结合重定向符号”>”可以输出到文本,如下应用所示
/*
使用printf函数结合重定向>输出数据到文本
@author tony ittimeline@163.com
@date 2017/12/03 13:07
@website www.ittimeline.net
*/
void printf_text() {
printf("输出数据到文本的案例");
printf("架构设计、人工智能");
}
当使用VisualStudio菜单的的生成->生成解决方案(Ctrl+Shift+B)后,在解决方案的Debug目录下(例如C:\Users\tony\source\repos\CPrimerPlus6\Debug)有一个编译好的二进制文件CPrimerPlus6.exe,如图所示
也可以将数据格式化显示在网页(1.6 helloworld详解章节中详细解释过如何输出在网页,这里不再赘述)。
printf()函数其特点是会按照指定的格式进行数据解析后输出,不会进行数据类型转换,如下所示,按照正确的数据格式解析会得到正确的结果。
#include <stdio.h>
/*
printf函数按照指定的格式解析数据案例
@author tony ittimeline@163.com
@date 2017/12/03 13:29
@website www.ittimeline.net
*/
void prinf_summary() {
printf("hello printf\n"); //默认输出到控制台(命令提示符程序)输出的数据最终都是字符串
printf("num=%d\t str=%s\n",10,"timeless"); //输出到命令行终端、文件、网页
system("pause");
}
C语言没有提供Java那样通过加号连接字符串,但是可以使用sprintf()函数实现字符串的拼接,如下应用程序所示,根据用户输入的字符串(0-9,A-F),然后拼接成命令实现终端窗口的颜色变化,在终端上执行。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
/*
sprintf函数用于字符串整合
@author tony ittimeline@163.com
@date 2017/12/03 13:29
@website www.ittimeline.net
*/
void sprintf_sample() {
printf("请输入一个字符串 用来变换终端的颜色\n");
char str[100] = { 0 };
char input[100