当前位置: 首页 > news >正文

荆门网站建设公司外链群发

荆门网站建设公司,外链群发,做影视网站能赚到钱吗,主机托管网站本博客可以了解一些gets/puts/scanf/printf/getchar函数的基本用法。 文章目录 1. gets函数2. puts函数3. scanf函数4. printf函数5. getchar函数6. putchar函数 1. gets函数 gets函数从标准输入读取一行文本并把它存储于作为参数传递给它的数组中。一行输入由一串字符组成&a…

本博客可以了解一些gets/puts/scanf/printf/getchar函数的基本用法。

文章目录

  • 1. gets函数
  • 2. puts函数
  • 3. scanf函数
  • 4. printf函数
  • 5. getchar函数
  • 6. putchar函数

1. gets函数

gets函数从标准输入读取一行文本并把它存储于作为参数传递给它的数组中。一行输入由一串字符组成,以一个换行符(newline)结尾gets函数丢弃换行符,并在该行的末尾存储一个NUL字节(一个NUL字节是指字节模式为全0的字节,类似’\0’这样的字符常量)。然后,gets函数返回一个非NULL值,表示该行已被成功读取。当gets函数被调用但事实上不存在输入行时,它就返回NULL值,表示它到达了输入的末尾(文件尾)。

字符串就是一个以NUL字节结尾的字符。NUL是作为字符串终止符,如"Hello"在内存中占据6个字节的空间,按顺序分别是H、e、l、l、o和NUL。

gets常常按下面使用,读取一行以后进行相应的操作。

while( gets( input ) != NULL )
{//操作
}

2. puts函数

puts函数是gets函数的输出版本,它把指定的字符串写到标准输出并在末尾添上一个换行符。例如输出一行字符串:

puts( "Last column number is not paired." );

3. scanf函数

scanf函数接受几个参数,其中第1个参数是一个格式字符串(如%s),用于描述期望的输入类型。剩余几个参数都是变量,用于存储函数所读取的输入数据。scanf函数的返回值是函数成功转换并存储于参数中的值的个数。

例子

定义一个数组array和一个整型数number。

int array[5];
int number;

由于scanf函数的实现原理,所有标量参数的前面必须加上一个“&”符号。数组参数前面不需要加上“&”符号,它本身代表第一个数组元素的地址。

scanf("%d", array);

但是,数组参数中如果出现了下标引用,也就是说实际参数是数组的某个特定元素,那么它的前面也必须加上“&”符号。

scanf("%d", &array[2]);

格式码%d表示需要读取一个整型值。字符是从标准输入读取,前面的空白将被跳过。然后这些数字被转换为一个整数,结果存储于指定的数组元素中。我们需要在参数前加上一个“&”符号,因为数组下标选择的是一个单一的数组元素,它是一个标量。

输入的number也是一个特定的元素,也要加上“&”符号。

scanf("%d", &number);

使用所有格式码(除了%c之外)时,输入值之前的空白(空格、制表符、换行符等)会被跳过,值后面的空白(空格、制表符、换行符等)表示该值的结束。因此,%s格式码输入字符串时,中间不能包含空白。除了表中所列之外,还存在许多格式代码,但这张表里面的这几个格式代码对于应付我们现在的需求已经足够了。

scanf函数每次调用时都从标准输入读取一个符合格式码的输入字符。如果转换失败,不管是因为文件已经读完还是因为下一次输入的字符无法转换为符合格式码的数据,函数都会返回0,这样就会使整个循环终止。如果输入的字符可以合法地转换为符合格式码的数据,那么这个值就会转换为二进制数存储于变量元素中。然后,scanf函数返回1。

scanf常见的格式码

格式码含义数据类型
%d整型int
%ld长整型long
%f单精度浮点型float
%lf双精度浮点型double
%c字符char
%s字符串char型数组

4. printf函数

printf函数接受多个参数,其中第一个参数是一个字符串,描述输出的格式,剩余的参数就是需要打印的值。格式常常以字符串常量的形式出现。

例如:

char input = 'a';
printf( "Original input : %c\n", input);

结果是:

Original input : a

printf常见的格式码

格式码含义数据类型
%d十进制整型int
%o八进制整型int
%x十六进制整型long
%g浮点值float
%s字符串char型数组

5. getchar函数

getchar函数从标准输入读取一个字符并返回它的值。如果输入中不再存在任何字符,函数就会返回常量EOF(在stdio.h中定义),用于提示文件的结尾。

我们可以这样写:

ch = getchar();
while( ch != EOF && CH != '\n' )ch = getchar();

上面的语句将读取一个字符,接下来如果我们尚未到达文件的末尾或读取的字符并不是换行符,它将继续读取下一个字符。从getchar函数返回的值被赋给变量ch,然后把它与EOF进行比较。在赋值表达式两端加上括号用于确保赋值操作先于比较操作进行。如果ch等于EOF,整个表达式的值就为假,循环将终止。若非如此,再把ch与换行符进行比较,如果两者相等,循环也将终止。因此,只有当输入尚未到达文件尾并且输入的字符并非换行符时,表达式的值才是真的(循环将继续执行)。这样,这个循环就能剔除当前输入行最后的剩余字符。

注意出现了两次下面的语句:

int ch;
ch = getchar();

C语言可以把赋值操作蕴含于while语句内部,这样就允许程序员消除冗余语句。

于是我们可以这样改写:

while( (ch = getchar()) != EOF && ch != '\n' )
;

while语句之后的单独一个分号称为空语句 (empty statement),它就是应用于目前这个场合,也就是语法要求这个地方出现一条语句但又无需执行任何任务的时候。这个分号独占一行,这是为了防止被错误地以为接下来的语句也是循环体的一部分。

Q:为什么ch被声明为整型,而我们事实上需要它来读取字符?

因为EOF是一个整型值,它的位数比字符类型要多,把ch声明为整型可以防止从输入读取的字符意外地被解释为EOF。但同时,这也意味着接收字符的ch必须足够大,足以容纳EOF,这就是ch使用整型值的原因。

6. putchar函数

它与getchar函数相对应,它接受一个整型参数,并在标准输出中打印该字符(如前所
述,字符在本质上也是整型)。

参考

  1. 《C和指针》
http://www.hrbkazy.com/news/38925.html

相关文章:

  • 做网站和网页国家免费技能培训平台
  • 美国惠尔润滑油官方网站怎么去优化关键词
  • 资生堂网站建设优化关键词的方法正确的是
  • 您的网站对百度设置了ua封禁z怎么解决自建网站流程
  • 沈阳专业网站建设企业厦门网络营销推广
  • 哪里有网站制作公司日跨境电商平台注册开店流程
  • 玉林做网站优化推广移动端优化
  • 做网站的域名怎样买搜索关键词查询
  • 汕头网站建设制作报价培训心得体会500字
  • 网站建设开发怎么选专业株洲发布最新通告
  • 网站建设算不算固定资产云搜索app官网
  • wordpress编辑器哪个好用seo在线优化网站
  • 宁波建设公司网站上海seo排名
  • 企业网站开发费用100个关键词
  • 网站弹窗页面是谁做的百度店铺怎么入驻
  • 制作网站的设计难点百度百科优化
  • 什么网站做视频网络营销策划书800字
  • 揭阳网站制作托管模板式自助建站
  • 想自己做网站流程百度seo有用吗
  • 企业网站cms系统站长工具ping
  • 创建网站的appseo咨询推广
  • 一个做搞笑类视频的网站取名百度关键词搜索量查询
  • 安徽疫情最新消息数据北京seo招聘网
  • 医生可以自己做网站吗百度一下首页下载安装桌面
  • 房屋结构自建设计 网站友情链接互换
  • 做算法题的 网站西安高端模板建站
  • wordpress 建战经营湖南正规关键词优化
  • 重庆学校网站建设无锡整站百度快照优化
  • wordpress网站有哪些推广自己的网站
  • 手机静态网站开发制作海外网站seo优化