当前位置: 首页 > 编程日记 > 正文

c语言输入函数有什么作用,c语言的输入函数有哪些

c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数。

aedb7bf92f19737f9cc07f574d44afe7.png

【相关学习推荐:C语言教程视频】

c语言的输入函数有:

1、scanf的返回值

scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。

如:scanf("%d%d", &a, &b);

如果a和b都被成功读入,那么scanf的返回值就是2

如果只有a被成功读入,返回值为1

如果a和b都未被成功读入,返回值为0

如果遇到错误或遇到end of file,返回值为EOF

且返回值为int型

空白符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。

非空白符:一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。

使用scanf函数时应该注意的事项

(1) 对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

(2) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。

(3) scanf()函数中没有精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。

(4) scanf中要求给出变量地址,如给出变量名则会出错

如 scanf("%d",a);是非法的,应改为scnaf("%d",&a);才是合法的。

(5) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。

C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

(6) 在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

(7) 如果格式控制串中有非格式字符则输入时也要输入该非格式字符。

2、getchar

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

3、getch

getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关 的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行

4、gets

功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。

返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。想了解更多编程学习,敬请关注php培训栏目!

相关文章:

dubbo学习过程、使用经验分享及实现原理简单介绍

一、前言部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下。整理这篇文章差不多花了两天半时间…

AutoIt脚本在做自动化操作的时候,如何进行错误捕获?

我的自动化脚本在运行的时候,会生成一个界面,点击该页面上的按钮能够进行自动化操作。 经常遇到的一个问题是: 脚本运行一半,GUI程序出现了异常情况,这个时候,再次点击生成的界面上的按钮,不会有…

中国电子学会青少年编程能力等级测试图形化四级编程题:计算生肖

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

用c语言写一个两线程程序,如何用C语言实现多线程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Windows操作系统,C语言实现多线程:#include #include DWORD APIENTRY ThreadOne ( LPVOID threadArg ){printf ( "线程开始啦,参数是:%s\n" , (char *)threadArg );return …

中国电子学会青少年编程能力等级测试图形化四级编程题:抽奖

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

github README.md教程

github README.md教程 总结 github中README.md通过特殊字符标记和缩进来达到格式控制,也可以用HTML标签来实现格式控制。 教程一: Markdown 的目标是实现「易读易写」,兼容HTML。 但是,在 HTML 区块标签间的 Markdown 格式语法将不…

this.options[selectedIndex]的使用

<select id"sel" οnchange"javascript:getSelect();"> <option value"a">选择</option> <option value"bdd">be</option> <option value"c">ce</option> <option value"…

c语言怎么创建一个h文件,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼简答题】实验任务&#xff1a;学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩&#xff0c;当输入成绩为负值时&#xff0c;输入结束&#xff0c;分别实现下列功能&#xff1a;(1)统计不及格人数并打印不及格学…

Makefile所有内嵌函数

一、文本处理函数以下是GNU make内嵌的文本&#xff08;字符串&#xff09;处理函数。1 $(subst FROM,TO,TEXT)函数名称&#xff1a;字符串替换函数—subst。函数功能&#xff1a;把字串“TEXT”中的“FROM”字符替换为“TO”。返回值&#xff1a;替换后的新字符串。示例…

青少年编程竞赛交流群周报(第041周)

2021年12月12日&#xff08;周日&#xff09;晚20:00我们在青少年编程竞赛交流群开展了第四十一期直播活动。 一、直播内容 我们直播活动的主要内容如下&#xff1a; 讲解了上次测试中小朋友们做错的题目 Scratch青少年编程能力等级测试模拟题&#xff08;四级&#xff09;。…

docker的用法

Docker是开发人员和系统管理员构建&#xff0c;发布和运行分布式应用程序的开放平台&#xff0c;可以在笔记本电脑、数据中心、虚拟机还有云服务器上运行。 使用Docker工具来提高生产率的方法&#xff1a;本地依赖&#xff1a;你需要在本地系统上快速试用 magento 吗&#xff1…

android 背景切换动画效果代码,关于Android shape gradient背景渐变

百度后&#xff0c;发现渐变色不仅可以根据xml来实现&#xff0c;也可以用java代码来实现&#xff0c;由于目前没有那么多时间&#xff0c;只记录xml实现的方法&#xff1b;以后在记录Java实现的代码。通过Shape gradient标签来实现首先来看gradient标签所有的渐变属性&#xf…

Linux Ubuntu 自动登录

我一直在用Ubuntu发型版本的Linux系统&#xff0c;很喜欢把它做得更加的方便易用&#xff0c;特别是Ubuntu的Server版本&#xff0c;因为没有Desktop的 GUI界面&#xff0c;也没有自动登录设置&#xff0c;无法通过简单的点击鼠标方式来设置自动登录&#xff0c;在查阅了一些资…

Win10 下 RabbitMQ 的 安装 配置

记录下本人在win10环境下安装RabbitMQ的步骤&#xff0c;以作备忘。 第一步&#xff1a;下载并安装erlang 原因&#xff1a;RabbitMQ服务端代码是使用并发式语言Erlang编写的&#xff0c;安装Rabbit MQ的前提是安装Erlang。下载地址&#xff1a;http://www.erlang.org/download…

【组队学习】【32期】算法的应用

算法的应用 航路开辟者&#xff1a;肖然领航员&#xff1a;李铭哲航海士&#xff1a;伊雪、左凯文 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/team-learning-program/tree/master/AlgorithmRunning内容属性&#xff1a;公测课程内容说明&#xff1a;…

android百度地图轨迹实现,android 获取GPS经纬度在百度地图上绘制轨迹

实现将一组GPS模块获取的经纬度数据在百度地图上绘制轨迹1.将经纬度转换成百度地图坐标/*** 标准的GPS经纬度坐标直接在地图上绘制会有偏移&#xff0c;这是测绘局和地图商设置的加密&#xff0c;要转换成百度地图坐标** return 百度地图坐标*/public GeoPoint gpsToBaidu(Stri…

设计模式笔记之十四 (命令模式)

命令模式 命令模式是一种比较容易理解的设计模式&#xff0c;顾名思义&#xff0c;就是调用者发一个命令&#xff0c;有人给做完就行了&#xff0c;无关乎怎么做&#xff0c;也无关乎谁做。 我们继续我们以往的方式&#xff1a;理论联系实践的方式来理解命令模式。 最近我们实验…

2021 线性代数 第五章 习题课

第5章 实对称矩阵与二次型 5.1 实对称矩阵的对角化&#xff08;基础部分&#xff09;5.1 实对称矩阵的对角化&#xff08;提高部分&#xff09;5.2 二次型及标准形&#xff08;基础部分&#xff09;5.2 二次型及标准形&#xff08;提高部分&#xff09;5.3 正定二次型与正定矩…

galaxy android 8,三星终于正式升级安卓8.0!Galaxy S8尝鲜

原标题&#xff1a;三星终于正式升级安卓8.0&#xff01;Galaxy S8尝鲜经过长时间的测试&#xff0c;在友商陆续吃上奥利奥之后&#xff0c;三星终于开始向Galaxy S8/S8正式推送安卓8.0&#xff0c;也带来了新的Experience UX 9.0用户界面和诸多新功能。不过注意&#xff0c;首…

仿美团外卖的全栈项目(vue+node+mongodb)带支付-大三求实习

关于 2019届大三学生&#xff0c;前段时间一直想一个人单独开发一个较为完整的项目&#xff0c;在众多应用中&#xff0c;考虑之后选择了美团外卖来模仿&#xff0c;这段时间就利用课余时间进行开发&#xff0c;前端用vuevuexvue-routeraxios&#xff0c;因为需要用到定位和支付…

Task01:青少年软件编程(Scratch)等级考试模拟卷(一级)

电子学会 软件编程&#xff08;图形化&#xff09;一级训练营 试题来源 青少年软件编程&#xff08;Scratch&#xff09;等级考试试卷&#xff08;一级&#xff09;【2019.09】青少年软件编程&#xff08;Scratch&#xff09;等级考试试卷&#xff08;一级&#xff09;【2019…

CSS——float属性备忘笔记

通过指定CSS属性float的值,从而使元素向左或向右浮动,然后由后继元素向上移动以填补前面元素的浮动而空出的可用空间。CSS的float属性&#xff0c;作用就是改变块元素对象的默认显示方式&#xff0c;HTML标签设置了float属性之后&#xff0c;它将不再独自占据一行&#xff0c;从…

beats x连android手机吗,beats x 能连安卓手机吗?

1&#xff0c;手机打开蓝牙功能&#xff0c;进入搜索蓝牙耳机状态。2&#xff0c;当蓝牙耳机处于电源状态时&#xff0c;需要按下蓝牙耳机的开关按钮约5秒。3&#xff0c;直到指示灯是蓝色的&#xff0c;红灯闪烁并交替地松动。4&#xff0c;此时&#xff0c;蓝牙耳机和手机将进…

[置顶] Objective-C ,ios,iphone开发基础:命名规范

命名规范&#xff1a;http://bukkake.iteye.com/blog/695492 点击打开链接转载于:https://www.cnblogs.com/pangblog/p/3292256.html

Task02:青少年软件编程(Scratch)等级考试模拟卷(一级)

电子学会 软件编程&#xff08;图形化&#xff09;一级训练营 试题来源 青少年软件编程&#xff08;Scratch&#xff09;等级考试试卷&#xff08;一级&#xff09;【2019.09】青少年软件编程&#xff08;Scratch&#xff09;等级考试试卷&#xff08;一级&#xff09;【2019…

python 爬虫气象气象定时报 气象预警推送

"2018-04-09 14时""长沙市""10日&#xff08;明天&#xff09;""多云转雷阵雨""29℃""19℃""3-4级""11日&#xff08;后天&#xff09;""雷阵雨""27℃""20℃"…

右键脚本html,js实现右键自定义菜单

本文实例为大家分享了右键自定义菜单的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下#menu {height: 200px;width: 50px;border: 1px solid gray;background-color: antiquewhite;padding: 10px;display: none;position: absolute;}ul,li {margin: 0;padding: 0;lis…

ogre3d环境配置与简单程序示例

SDK安装以及编译 1、下载SDK&#xff0c;地址如下 http://www.ogre3d.org/download/sdk 2、安装SDK&#xff0c;直接解压到相应目录&#xff0c;如D:/ogreSDK 3、我用的是1.8版本&#xff0c;打开SDK安装目录&#xff0c;如图&#xff1a; D:\Program Files\OgreSDK_vc10_v1-8-…

【组队学习】【32期】Linux实践

Linux实践 航路开辟者&#xff1a;刘羽中领航员&#xff1a;六一航海士&#xff1a;刘洋、王晓亮、陈玉立、六一 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/team-learning-program/tree/master/LinuxPractice开源内容&#xff1a;https://shimo.im/d…

成为MySQL DBA 博客系列-数据库升级

数据库供应商通常每个月都会发布一些有bug /安全性修补程序的补丁&#xff0c;我们为什么要关心&#xff1f;新的版本可能对关于安全漏洞和黑客入侵系统的修复&#xff0c;所以除非安全性不被关注&#xff0c;否则您可能希望在您的系统上安装最新的安全修补程序。其中MySQL主要…