C语言的输入输出操作函数小结
一.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语言的输入输出操作函数小结的更多相关文章
- C语言的字符串操作函数小结
一.strcat()函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾.它返回一个指向字符串de ...
- C语言:宽字符集操作函数(unicode编码)
C语言:宽字符集操作函数(unicode编码) 字符分类: 宽字符函数 普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测 ...
- C语言:宽字符集操作函数
C语言:宽字符集操作函数 (unicode编码) 字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测 ...
- [转]PHP语言的数据库操作函数的理解
就我接触到的R语言以及对数据库的操作来说,基本的操作其实也就是CRUD(Create, Read, Update, Delete). 习惯了之后,对PHP中的MYSQLI操作函数感觉很不适应,查询或者 ...
- C语言的文件读写操作函数小结
一.文件打开 使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE包含了所有用来控制流的必要的信息.函数原型为: FILE ...
- Redis系列-存储篇string主要操作函数小结
通过上两篇的介绍,我们的redis服务器基本跑起来.db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简单且常用的string开始. 1.新增 a)se ...
- python 文件和路径操作函数小结
1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...
- C语言中内存操作函数
一.malloc/calloc 名称: Malloc/calloc 功能: 动态内存分配函数 头文件: #include <stdlib.h> 函数原形: void *malloc(s ...
- Redis系列-存储篇sorted set主要操作函数小结
redis支持有序集合,即sorted set.sorted set在set的基础上,增加了排序属性,是set的升级版.这里简要谈谈sorted set的常用函数: 1)insert a) zadd ...
随机推荐
- DirectDraw读书笔记
DirectDraw对象 DirectDraw对象是DirectDraw应用程序的核心.它是你在建立DirectDraw应用程序时所要创建的第一个对象,再用它来创建所有其它相关的对象.通过调用Dire ...
- PHP学习笔记--Php预定义超全局变量$_GET
Php中的许多预定义变量都是超全局的,无需使用global声明 超全局变量 不需要声明就可以直接使用 提供超全局变量(数组)为了让程序员更快捷的编程 $GLOBALS— 引用全局作用域中可用的全部变量 ...
- Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理
Windows PE的全名是WindowsPreinstallationEnvironment(WinPE)直接从字面上翻译就 是"Windows预安装环境".微软的本意是:Win ...
- 浅谈IT企业挑选技术人员招聘几个要点
在实际人员招聘的一些感想总结,企业需要怎么样的人才,个人总结如下: 1.技术能力不是第一位 企业在招聘一个人的时候往往看你第一点不是技术实力,而是你个人言谈行为和态度,往往一个面试你的人员他不可能在半 ...
- html标签自带样式总结
一.html标签自带样式 head { display:none; } body { margin:8px; line-height:1.12; } button, textarea, input, ...
- monkey简介与最常用命令
1.monkey简介 monkey是SDK附带的一个用来做压力测试的工具,monkey测试所有事件都是随机发生的,不带有主观性,测试人员主要通过跑monkey后打印出来的日志分析来发现问题 2.mon ...
- STM32f4 ARM Bootloader
参考资料: 基于ARM 的嵌入式系统Bootloader 启动流程分析 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计) Android系统启动 ...
- Java中==与equals的区别及理解
区别: "==" 比较的是两个引用在内存中指向的是不是同一对象(即同一内存空间),也就是说在内存空间中的存储位置是否一致. 如果两个对象的引用相同时(指向同一对象时)," ...
- Windows Developer Day - Windows AI Platform
本次 Windows Developer Day,最值得期待的莫过于 Windows AI Platform 了,可以说是千呼万唤始出来.观看直播的开发者们,留言最多的也是 Windows AI Pl ...
- js判定是否为chrome,区分搜狗+360
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...