首页 > 其他分享 >常用输入输出函数

常用输入输出函数

时间:2024-10-13 13:32:35浏览次数:1  
标签:字符 常用 函数 scanf 输入输出 getchar EOF 输入 读取

常用输入输出函数

  • printf():把输出发送到一个叫作缓冲区(buffer)的中间存储区域。
    • 当缓冲区满、遇到换行字符或需要输入的时候迫使printf()的输出被发送到屏幕上。
    • 可以使用fflush()函数刷新缓冲区
    • printf()返回值是待显示字符的个数
    • printf()中如果你不想预先指定字段宽度,希望通过程序来指定,那么可以用*修饰符代替字段宽度。但还是要用一个参数告诉函数,字段宽度应该是多少。也就是说,如果转换说明是%*d,那么参数列表中应包含*和 d对应的值。这个技巧也可用于浮点值指定精度和字段宽度。(%*.*f
  • scanf():scanf()函数每次读取都会跳过所有的空白字符,直至遇到第1个非空白字符才开始读取。
    • 读取整数(%d):scanf()希望发现一个数字字符或者一个符号(+或-)。如果遇到一个非数字字符,它便认为读到了整数的末尾。scanf()把非数字字符放回输入。意味着程序在下一次读取输入时,首先读到的是上一次读取丢弃的非数字字符。
    • 读取字符(%c):读取单个字符
    • 读取字符串(%s):scanf()会读取除空白以外的所有字符。意味着只能读取一个单词。
      • 无法利用字段宽度让只有一个%s的scanf()读取多个单词。如果使用字段宽度,scanf()在字段末尾或第1个空白字符处停止读取。
    • 格式字符串中的普通字符:scanf()允许把普通字符放在格式字符串中。但除空格字符外的普通字符必须与输入字符串严格匹配。
      • 假设在两个转换说明中加一个逗号:scanf("%d,%d", &n, &m);``scanf()函数将其解释成:用户将输入一个数字、一个逗号,然后再输入一个数字。也就是说,用户必须像下面这样进行输入两个整数:
        • 由于格式字符串中,%d后面紧跟逗号,所以必须在输入第一个数后再输入一个逗号。
    • 对于scanf(),一定要记得在变量名前加上地址运算符。
    • scanf()返回值=scanf()成功读取的项数。如果没有读取任何项,或者需要读取一个数字而用户却输入一个非数值字符串,即类型不匹配scanf()便返回0。
    • scanf()检测到“文件结尾”时,会返回EOF(EOF是stdio.h中定义的特殊值,通常用#define指令把EOF定义为-1)。
    • scanf()中如果把*放在%和转换字符之间时,会使得scanf()跳过相应的输出项。
      • 示例:scanf("%*d %*d %d", &n);其中的scanf()指示:跳过两个整数,把第3个整数拷贝给n。
      • 在程序需要读取文件中特定列的内容时,这项跳过功能很有用。
    • scanf()函数检测到文件结尾时返回EOF。
  • getchar():读取下一个输入字符
    • 使用int数组时getchar只能赋值数字,无法赋值其他字符容易出错。
    • getchar()和 putchar()不需要转换说明,因为它们只处理字符。
    • 在C语言中,用getchar()读取文件检测到文件结尾时将返回EOF
    • getchar()的返回值和EOF作比较。如果两值不同,就说明没有到达文件结尾。
      • 检测文件结尾:while ((ch = getchar()) != EOF)
    • 不能把getchar()scanf()这两个函数混用
      • getchar()读取每个字符,包括空格、制表符和换行符;
      • scanf()在读取数字时则会跳过空格、制表符和换行符
        以 int 类型读取字符(这样做可以检测 EOF)
  • putchar():打印一个字符

标签:字符,常用,函数,scanf,输入输出,getchar,EOF,输入,读取
From: https://www.cnblogs.com/mycrictfchuyin/p/18462197

相关文章

  • 【大数据技术基础 | 实验二】Linux基础:常用基本命令和文件操作
    文章目录一、实验目的二、实验要求三、实验环境四、常用基本命令1、验证cd和pwd命令2、验证ls命令3、验证mkdir命令4、验证cp、mv和rm命令五、Linux文件操作1、验证touch命令2、验证cat命令3、验证more命令六、实验心得一、实验目的学会linux常用命令(cd,ls,pwd......
  • FreeRTOS——空闲任务和钩子函数介绍
    空闲任务在前面的学习中我们提到,空闲任务会负责释放一些被删除任务的内存,在FreeRTOS中,用户分配的内存通常也是在空闲任务中释放的。空闲任务是一个特殊的任务,当没有其他任务需要运行时,系统将会调度空闲任务来执行。在空闲任务中可以执行一些低优先级的任务,比如资源的释放和内......
  • PHP获取图片属性(size, width, 和 height)的函数
    在PHP中,要获取图片的尺寸(宽度和高度),你可以使用getimagesize()函数。这个函数不仅返回图片的宽度和高度,还返回图片的类型和MIME类型等信息。以下是getimagesize()函数的基本用法:<?php//假设$imagePath是图片的完整路径$imagePath='path/to/your/image.jpg';......
  • 前端学习第四天笔记 函数 对象 math对象 Date对象 DOM概述 document对象的获取元素、
    文章目录函数函数的声明函数名的提升对象math对象Math.abs()Math.max()和Math.min()Math.floor()和Math.ceil()Math.random()Date对象Date.now()Date对象中的Get方法DOM概述节点节点树Node.nodeType属性document对象_方法/获取元素document.getElementsByTagName()do......
  • C++中比较方便的几个有关字符串的函数
    以下是一些个人总结的C++中对新手来说比较方便使用的几个有关字符串的函数。注意,说的是字符串而不是字符数组。如果有其他,欢迎在评论区留言。1.getline(),这个函数可以输入一行字符串,通常情况下,这个函数的使用通常如下://getline(cin,字符串名);     注意:getline()的......
  • JavaScript进阶笔记--深入对象-内置构造函数及案例
    深入对象创建对象三种方式利用对象字面量newObject({…})利用构造函数//1.字面量创建对象constobj1={name:'pig',age:18};console.log(obj1);//{name:"pig",age:18}//2.构造函数创建对象functionPig(name,age){......
  • 达梦数据库 函数的使用方法 比如 lower()等
    达梦数据库(DMDatabase)是中国的一款国产数据库管理系统,支持多种SQL标准和功能。达梦数据库中的许多函数与标准SQL中的函数类似,包括字符串处理函数如LOWER()。常见的字符串处理函数LOWER()功能:将字符串转换为小写。语法:LOWER(string)示例:SELECTLOWER('HelloWorld')ASlower_case......
  • CSS常用声明(属性)
    目录一、文本1.字体属性2.文本修饰二、图像1.图像边框样式2.图像透明度​编辑三、背景1.背景属性2.背景重复3.背景图像定位四、表格1.CSS表格属性2.表格边框线折叠3. 单元格内文本的对齐方式五、表单1.CSS表单属性2.背景图像样式3.表单按钮样式六、练习......
  • 【转载】scipy.stats.norm.ppf —— 分位点函数(CDF的逆)(也被用作“标准偏差乘数”)
    原文地址:https://www.cnblogs.com/jiangkejie/p/15292260.htmlscipy.stats.norm.ppf()分位点函数(CDF的逆)(也被用作“标准偏差乘数”)即累计分布函数的逆函数(分位点函数,给出分位点返回对应的x值)。scipy.stats.norm.ppf(0.95,loc=0,scale=1)返回累积分布函数中概率等于0.95对应......
  • 信息学奥赛复赛复习16-CSP-J2022-01乘方-循环特判、pow函数、快速幂
    PDF文档公众号回复关键字:20241012此前解析题,P8813[CSP-J2022]乘方,给出了循环的解题思路,当时在洛谷提交是通过的,后台收到留言,a=1,b=1e9会炸吧?,确实啊整除要求1s内循环次数最大可以到10^7,现在测试数据明显大很多,按测试数据有这个可能,没想到CSP普及组第1题竟然翻车,去CCF官网......