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

高价做单网站百度识别图片找图

高价做单网站,百度识别图片找图,如何做网站容易收录,wordpress速度优化目录 一、printf()输出函数介绍 二、scanf读取标准输入 (一)scanf函数的原理 (二)多种数据类型混合输入 三、练习题 今天我们学习printf和scanf读取标准输入。下面我们开始正式的学习吧。 C语言中有很多内置函数,今…

目录

一、printf()输出函数介绍

二、scanf读取标准输入

(一)scanf函数的原理

(二)多种数据类型混合输入

三、练习题


今天我们学习printf和scanf读取标准输入。下面我们开始正式的学习吧。

C语言中有很多内置函数,今天我们主要了解printf()函数和scanf()函数,C语言常用函数我也列在下图了,大家参考学习:

一、printf()输出函数介绍

printf函数可以输出各种类型的数据,包括整型、浮点型、字符型、字符串型等,实际原理是printf函数将这些类型的数据格式化为字符串后,放入标准输出缓冲区,然后将结果显示到屏幕上。

语法如下:

#include <stdio.h>

int printf(const char*format,...)

printf函数根据format给出的格式打印输出到stdout(标准输出)和其他参数中。

字符串格式(format) 由两部分组成:显示到屏幕上的字符和定义printf函数显示的其他参数。我们可以指定一个包含文本在内的format字符串,也可以是映射到printf的其他参数和“特殊”字符,如下列代码所示:

int count= 27;

printf("Hello %s,I've missed you %d times today\n ","HHY",count);

代码的输出如下:

Hello HHY, I've missed you 27 times today

其中,%s表示在该位置插入首个参数 (一个字符串),%d表示第二个参数(一个整数)应该放在哪里。不同的%codes白哦是不同的变量类型,也可以限制变量的长度。printf函数的具体代码格式如下表所示:

printf函数的具体代码格式
代码格式

%c

字符
%d带符号整数

%f

浮点数
%s一串字符
%u无符号整数
%x无符号十六进制数,用小写字母
%X无符号十六进制数,用大写字母
%p一个指针
%%一个'%'符号

位于%和格式化命令之间的一个整数被称为最小字段宽度说明符,通常会加上空格来控制格式。

  • 用%f精度修饰符指定想要的小数位数。例如,%5.2f 会至少显示5位数字并带有 2位小数的浮点数。
  • 用%s精度修饰符简单地表示一个最大的长度,以补充句点前的最小字段长度。

printf 函数的所有输出都是右对齐的,除非在%符号后放置了负号,例如,%-3.4f 会显示3位字符、4位小数位的浮点数并且左对齐。

下面来看一个例子,如下面例子所示。

【例】printf 函数输出对齐:

#include <stdio.h>int main() {int i = 42;float f = 13.14;printf("Student number = %3d grade = %3.4f\n",i,f);printf("Student number = %-3d grade = %3.4f\n",i,f);printf("%12s\n","qualified");return 0;
}

执行结果如下图所示,可以看到整型数 42 在不加负号时靠右对齐,加负号时靠左对齐, %12s 代表字符串共占用12个字符的位置。因为 printf 函数默认靠右对齐,所以"qualified"字符串相对于左边的起始位置有 5个空格的距离。掌握这些内容后,在做编程作业时,就会很容易掌握打印格式的控制。

二、scanf读取标准输入

 如下图所示,程序员可以给程序输入数据,程序处理后会返回一个输出,C语言通过函数库读取标准输入,然后通过对应函数处理将结果打印到屏幕上。前面我们学习了printf函数,理解了通过printf函数可以将结果输出到屏幕上,下面详细讲解标准输入函数scanf 。

(一)scanf函数的原理

C语言未提供输入/输出-关键字,其输入和输出是通过标准函数库来实现的。C语言通过scanf函数读取键盘输入,键盘输入又被称为标准输入,当scanf函数读取标准输入时,如果还没有输入任何内容,那么scanf函数会被卡住(专业用语为阻塞) .下面来看一个例子。
【例】:

#include <stdio.h>int main() {int x = 10;char c;scanf("%d",&x);//注意一定要取地址‘&’printf("x = %d\n",x);//fflush(stdin);//清空标准输入缓冲区scanf("%c",&c);printf("c = %c\n",c);return 0;
}

执行时输入23,然后回车,显示运行结果如下图所示。为什么第二个scanf 的数不会被阻塞呢?其实是因为第二个 scanf函数读取了缓冲区中的'\n',即scanf("%c",&c)实现了读取,打印其实输出了换行,所以不会阻塞。
 

但是如果我们将上面例子中注释的fflush(stdin)打开,就会发现第二个 scanf("%c", &c)会阻塞,这是什么原因呢?下面介绍缓冲区原理:

行缓冲:在这种情况下,当在输人和输出中遇到换行符时,将执行真正的 I/O 处理操作。这时,我们输入的字符先存放到缓冲区中,等按下回车键换行时才进行实际的 I/O 操作,典型代表是标准输人缓冲区 (stdin) 和标准输出缓冲区 (stdout) , printf 使用的是stdout。

如上面的例子所示,我们向标准输人缓冲区中放人的字符为23\n, 输入'\n' (回车) 后, scanf 函数才开始匹配,scanf 丽数中的%d 匹配整型数23,然后放入变量 x 中,接着进行打印输出,这时 '\n' 仍然在标准输人缓冲区(stdin) 内,如果第二个scanf 的数为 scanf("%d'", &x),那么依然会发生阻塞,因为 scanf 函数在读取整型数、浮点数、字符串(后面介绍数组时讲解字符串)时,会忽略\n' (回车符)、空格符等字符 (忽略是指 scanf 的数执行时会首先删除这些字符,然后再阻塞)。scanf 函数匹配一个字符时,会在缓冲区删除对应的字符。因为在执行 scanf("%c", &c)语句时,不会忽略任何字符,所以 scanf("%c", &c)读取了还在缓冲区中残留的'\n'。

(二)多种数据类型混合输入

当我们让 scanf 函数一次读取多种类型的数据时,对于字符型数据要格外小心,因为当一行数据中存在字符型数据读取时,读取的字符并不会忽略空格和'\n'(回车符),所以使用方法如下例所示,编写代码时,我们需要在%d与%c 之间加入一个空格,输人格式和输出效果如下图所示,scanf 函数匹配成功了4个成员,所以返回值为4, 我们可以通过返回值来判断 scanf 函数匹配成功了几个成员,中间任何有一个成员匹配出错,后面的成员都会匹配出错。

【例】一次读入多种类型的数据

#include <stdio.h>int main() {int x,result;char c;float f;result = scanf("%d %c%f",&x,&c,&f);//要在%c之前加一个空格printf("x = %d,c = %c,f = %f\n",x,c,f);return 0;
}

运行结果如下:

三、练习题

下一期:

【C语言】C语言期末突击/考研--整型进制转换

http://www.khdw.cn/news/41313.html

相关文章:

  • 深圳高端网站建设公司seo资讯
  • 主机屋网站空间的IP郑州网络推广哪家口碑好
  • 无锡响应式网站设计自助建站系统下载
  • 想建立什么网站品牌推广思路
  • 香港网站没有icp备案吗免费的网站申请
  • 宣武门网站建设360营销推广
  • 网站在国内服务器在国外网上在线看视频为什么卡
  • 网站快照不更新直通车推广计划方案
  • 大型公司网站建设目标软文吧
  • 公司网站模板怎么写佛山网站优化软件
  • 做网站可以在哪儿接活如何做网络营销
  • 仿淘宝网站阿里云官网首页
  • 烟台网站排名系统市场调研的步骤
  • 网页设计代码居中广告seo是什么意思
  • 怎么建小说网站北京seo代理计费
  • 吴谨含厂家不愿做网站百度地图广告投放
  • 原始传奇经典复古宁波seo外包
  • 校园网站的建设与管理网络营销推广方案整合
  • 网站开发 图片铺满上海好的网络推广公司
  • 建立网站需要朋友圈广告30元 1000次
  • 网站建设百家号网站制作推广电话
  • 做视频网站需要哪些技术指标福州网seo
  • WordPress在线留言插件seo网络推广技术员招聘
  • 营销型网站建设价格贵吗谁有恶意点击软件
  • 软件公司都是帮别人做网站么蚁百杭州网站seo优化
  • 用ipv6地址做网站访问郑州网站优化公司
  • 做企业网站接单成人电脑培训班附近有吗
  • 铜川做网站的公司必应搜索引擎入口官网
  • 方案网站有哪些seo案例分析及解析
  • 做网站自己全国新闻媒体发稿平台