一.scanf()&printf()函数

  scanf() 函数用于从标准输入(键盘)读取并格式化, printf() 函数发送格式化输出到标准输出(屏幕)。  scanf()函数原型为int scanf( char const* const _Format, ...),printf()函数原型为int printf(char const* const _Format, ...)。 scanf()和printf()是格式化输入通过%d,%s,%c等限定输入/输出的类型及格式,因此书写需要格外注意格式和类型,scanf()后面的变量需要取变量的地址。出于安全考虑,一般用scanf_s()代替旧版scanf()函数。

如下实例

#include <stdio.h>

int main()
{
int c, d;
printf("请输入数值:");
scanf_s("%d %d", &c,&d);
printf("输出结果为:");
printf("%d %d\n", c,d);
return ;
}

输出如下

值得注意的是,当输入如下代码时

#include <stdio.h>

int main()
{
int c;
printf("请输入数值:");
scanf_s("%d ", &c); // 注意%d后面有个空格
printf("输出结果为:");
printf("%d\n", c);
return ;
}

我们运行代码,得到下面输出界面

  我们原先输入10,按回车它并不会马上输出我们的结果,我们需要在输入一个非空格和非换行符,再按回车键才会输出我们的结果。因为scanf()函数里面的%d后面有个空格,所以他需要遇到非空格和换行符才会结束输入。

二.getchar()&putchar()函数

  getchar()和putchar()函数是单个字符输入/输出函数,getchar有一个int型的返回值。当程序调用getchar时.程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCⅡ码,如出错返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。

代码实例

#include <stdio.h>

int main()
{
int c;
printf("请输入一个字符:");
c = getchar();
printf("\n你的输入: ");
putchar(c);
printf("\n");
return ;
}

输出结果

  当要输入多个字符并输出显示时,需要用到循环语句,可以利用getch()从键盘输入一串字符到缓冲区,字符输入以回车结束,回车字符同时存储在缓冲区,然后用putchar()读取缓冲区字符,设置条件遇到回车字符时结束即可。

代码实例

#include <stdio.h>

int main()
{
int c;
printf("请输入字符:");
while ((c=getchar()) != '\n') // 向缓冲区输入字符,按回车时结束输入
{
putchar(c); // 读取缓冲区的字符
}
printf("\n");
return ;
}

输出结果

  

  还有一个函数get()getchar()基本功能相同,差别是getch()直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch()就立刻返回,通常应用在游戏中。

三.gets()&puts()函数

  gets()和puts()是文本行输入/输出函数。gets()从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取。出于安全考虑,一般用gets_s()代替gets()函数。

代码实例

#include <stdio.h>

int main()
{
char str[]; printf("请输入文本:");
gets_s(str); printf("你的输入为: ");
puts(str);
return ;
}

输出结果

C语言的输入输出操作函数小结的更多相关文章

  1. C语言的字符串操作函数小结

    一.strcat()函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾.它返回一个指向字符串de ...

  2. C语言:宽字符集操作函数(unicode编码)

    C语言:宽字符集操作函数(unicode编码) 字符分类: 宽字符函数 普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测 ...

  3. C语言:宽字符集操作函数

    C语言:宽字符集操作函数 (unicode编码) 字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测 ...

  4. [转]PHP语言的数据库操作函数的理解

    就我接触到的R语言以及对数据库的操作来说,基本的操作其实也就是CRUD(Create, Read, Update, Delete). 习惯了之后,对PHP中的MYSQLI操作函数感觉很不适应,查询或者 ...

  5. C语言的文件读写操作函数小结

    一.文件打开 使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE包含了所有用来控制流的必要的信息.函数原型为: FILE ...

  6. Redis系列-存储篇string主要操作函数小结

    通过上两篇的介绍,我们的redis服务器基本跑起来.db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简单且常用的string开始. 1.新增 a)se ...

  7. python 文件和路径操作函数小结

    1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...

  8. C语言中内存操作函数

      一.malloc/calloc 名称: Malloc/calloc 功能: 动态内存分配函数 头文件: #include <stdlib.h> 函数原形: void *malloc(s ...

  9. Redis系列-存储篇sorted set主要操作函数小结

    redis支持有序集合,即sorted set.sorted set在set的基础上,增加了排序属性,是set的升级版.这里简要谈谈sorted set的常用函数: 1)insert a)  zadd ...

随机推荐

  1. JLINK(SEGGER)灯不亮 USB不识别固件修复、clone修改

    今天调SMT32插拔几下,JLINK竟然挂掉了网上找了这个教程,搞了半天才搞好,驱动没装好!WIN7系统,自动安装的驱动是GPS.COM10,郁闷,错误来的.应该是:atm6124.sys.要手动选择 ...

  2. 芝麻HTTP:TensorFlow基础入门

    本篇内容基于 Python3 TensorFlow 1.4 版本. 本节内容 本节通过最简单的示例 -- 平面拟合来说明 TensorFlow 的基本用法. 构造数据 TensorFlow 的引入方式 ...

  3. 芝麻HTTP:Python爬虫进阶之Scrapy框架安装配置

    初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 ...

  4. 芝麻HTTP:Python爬虫入门之Cookie的使用

    为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓 ...

  5. 让微信,qq,uc浏览器使用全屏模式,全屏模式里,浏览器是不会上下左右滑动出现背景的

    <meta name="x5-fullscreen" content="true"> <meta name="full-screen ...

  6. 凯撒密码加密解密--JAVA实现(基础)

    凯撒密码一种代换密码,据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码.凯撒密码的基本思想是:通过把字母移动一定的位数来实现加密和解密.明文中的所有字母都在字母表上向后(或向前) ...

  7. 一个小的tab切换插件

    1//使用 var t1=new Tab({ etype:'onmou',//默认点击触发,如果事件写错了,当作单击 autoplay:2000,//有时间值(按照事件自动播放)和false(不自动播 ...

  8. 安卓中webview读取html,同时嵌入Flex的SWF,交互

    安卓中webview读取html,同时嵌入Flex的SWF,交互 安卓activity与html交互很简单,用javascript接口即可,网上一堆的例子,基本上没多大问题. 在html里面嵌入swf ...

  9. [HNOI2010]BUS 公交线路

    题面 Bzoj Sol 状压很显然 重点在于转移:题目就相当与每\(p\)长度的车站必须有且仅有\(k\)个被经过 那么转移时状压的二进制一定要有\(k\)个一 且两个相邻转移的状态之间必须满足:设为 ...

  10. CentOS7下安装MySQL的安装与配置(yum) (转)

    原文链接:http://www.centoscn.com/mysql/2016/0626/7537.html 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mys ...