c的详细学习(3)数据的输入输出
c语言没有专门的数据输入输出语句,而是通过调用系统提供的的标准输入/输出库函数来实现数据的输入和输出。
(1)数据的输出:
注意:在使用标准的输入输出库函数时,使用编译预处理命令“#include<stdio.h>”将stdio.h头文件写在程序的开头,该文件包含了与输入输出有关的变量定义,宏定义和函数声明。
1.格式输出函数printf
printf(格式控制字符串,输出表列)
printf需要提供两类参数,一类是格式控制字符串,另一类是输出表列。
整型和字符型格式说明符可以互换,%f格式说明符可以用来输出单精度实数和双精度实数。
在c语言中,格式输入和输出函数对不同类型的数据的宽度必须采用不同的类型说明符。
一般形式:
%[-或0][m][.][n][l]格式符
负号表示当实际数据的宽度小于显示宽度时,数据左对齐,数据右方用空格填充。0表示当实际数据的宽度小于显示宽度时,数据右对齐,数据左边空格用0填充。
m表示占用数据的宽度,如果实际数据的宽度大于m,按实际宽度输出。如果实际数据的宽度小于m,数据右对齐,数据左方用空格填充。
n表示指定输出的数据中有n位小数,或者表示取字符串中左端n个字符输出。如果不指定该项,则系统默认输出6位小数。
l用于输出长整型或单精度型的数据。
用%%表示字符%。
示例:
#include<stdio.h>
int main(){
printf("1.用\'%%d\'或者\'%%i\'来输出数据12\n");
printf(" %d,%i\n\n",,);
printf("2.用\'%%o\'以八进制输出整数8,16和以\'%%d\',\'%%o\',\'%%x\'分别以十、八、十六进制输出-1\n");
printf(" %o,%o,%d,%o,%x\n\n",,,-,-,-);
printf("3.以\'%%u\'输出无符号数1000,和-1\n");
printf(" %u,%u\n\n",,-);
printf("4.以\'%%s\'输出字符串\n");
printf(" %s\n\n","我是MenAngel");
printf("5.用putchar输出字符和转义字符\n");
printf(" ");
putwchar('A');
putchar();
putchar('\103');
putchar('\103'+);
putchar('\n');
putchar('\n');
return ;
}
程序运行结果:

(2)数据的输入:
一般形式:scanf(格式控制字符串,地址表列);
格式控制字符串无任何普通字符。在程序运行中需要输入非字符类数据时,三个数据之间以一个或者几个空格间隔,也可以按回车、制表键间隔。
#include<stdio.h>
int main(){
int a;
char b;
printf("1.用\'%%d\'输入整数,\'%%c\'输入一个字符:\n");
printf("第一次输入:");
scanf("%d%c",&a,&b);
printf("a=%d,b=%c\n",a,b);
printf("第二次输入:");
scanf("%d%c",&a,&b);
printf("a=%d,b=%c",a,b);
printf("得出结论,空格");
return ;
}

代码中要求先让输入一个数字后输入一个字符,程序输入为“12”,“ ”,“34”,“a”,可见在c语言中把空格也会当成字符进行输入。另外回车也会被当成字符进行输入。回车代表“\r\n”。不必要的空格和字符输入问题可以用getchar()解决:
#include<stdio.h>
int main(){
int a;
char b;
printf("1.用\'%%d\'输入整数,\'%%c\'输入一个字符:\n");
printf("第一次输入:");
scanf("%d",&a);
getchar();//用来接收回车
scanf("%c",&b);
getchar();//用来接收回车
printf("a=%d,b=%c\n",a,b);
printf("第二次输入:");
scanf("%d",&a);
getchar();//用来接收回车
scanf("%c",&b);
printf("a=%d,b=%c\n",a,b);
getchar();//用来接收回车
printf("另外getchar()还可以使程序进行暂停:\n");
printf("程序暂停中,按回车键继续......");
getchar();
printf("程序继续运行!");
return ;
}

简单的应用举例:
#include<stdio.h>
#include<math.h> int main(){
printf("执行开平方操作:\n");
double result;
int n;
printf("输入一个被开放的数:\n");
scanf("%d",&n);
result=sqrt(n);
printf("以5位有效数字,2位小数的形式输出开方结果:\n%5.2f\n",result);
return ;
}
外加库函数math.h的用法结果:

c的详细学习(3)数据的输入输出的更多相关文章
- C++学习之文件的输入输出
C++学习之文件的输入输出 一.文件的打开与关闭 1.输出数据到文件 文件的操作需要包含fstream头文件,文件的操作对象为ifstream,ofstrea ...
- FAT32文件系统学习(3) —— 数据区(DATA区)
FAT32文件系统学习(3) —— 数据区(DATA区) 今天继续学习FAT32文件系统的数据区部分(Data区).其实这一篇应该是最有意思的,我们可以通过在U盘内放入一些文件,然后在程序中读取出来: ...
- Hbase技术详细学习笔记
注:转自 Hbase技术详细学习笔记 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行 ...
- 12.Linux软件安装 (一步一步学习大数据系列之 Linux)
1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...
- iOS学习——JSON数据解析(十一)
在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...
- [Python] Python 学习 - 可视化数据操作(一)
Python 学习 - 可视化数据操作(一) GitHub:https://github.com/liqingwen2015/my_data_view 目录 折线图 散点图 随机漫步 骰子点数概率 文 ...
- 一起来学大数据——走进Linux之门,学习大数据的重中之重
昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介 ...
- Java软件开发者,如何学习大数据?
正常来讲学习大数据之前都要做到以下几点 1.学习基础的编程语言(java,python) 2.掌握入门编程基础(linux操作,数据库操作.git操作) 3.学习大数据里面的各种框架(hadoop.h ...
- Linux学习-服务器硬件数据的收集
以系统内建 dmidecode 解析硬件配备 系统有个名为 dmidecode 的软件,它可以解析 CPU 型号.主板型号与内存相 关的型号等等~ [root@study ~]# dmidecode ...
- Flutter实战视频-移动电商-41.详细页_数据接口的调试
41.详细页_数据接口的调试 建立数据模型层,我们的业务逻辑分开,然后进行后台数据的调试 生成model类 json数据: { ", "message": "s ...
随机推荐
- ROS当中添加第三方库
下文以serial 库为依据讲解第三方库在ROS下面的配置. 参考文献:http://blog.csdn.net/u011853479/article/details/51263590 ros中使 ...
- BF的真正意义
http://www.jianglb.com/2010/11/25/whatisbf.html一个小男孩对小女孩说:“我是你的BF.”女孩扬起童真的脸,问:“什么是BF?”男孩嘻嘻笑道:“是BestF ...
- Ffmpeg音频转码 卡顿(MP2转AAC)
最好经手一个小的功能将mp2实时流转成AAC并发布成rtmp音频流,本身不是很难的一个需求, 一个晚上就能将功能开发好.功能开发完毕后,找来一音频文件利用Ffmpeg命令将音视频文件推成 实时udp格 ...
- Android下 布局加边框 指定背景色 半透明
背景设置为自定义的shape文件: <!-- <?xml version="1.0" encoding="utf-8"?><shape ...
- full join 时通过辅助列序号列消除笛卡尔积重复列
如果没有序号列,那么如果领灯表里有3条数据,还灯表里面有2条数据,full join后就是3*2=6条数据 --1.领灯表,每天每班每人允许重复数据 select ID ,ROW_NUMBER() o ...
- 42:换汽水瓶ExchangeBottle
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个 ...
- ES 31 - 从0开始搭建Elasticsearch生产集群
目录 1 配置环境 1.1 服务器IP映射 1.2 配置各节点的ssh免密通信 1.3 安装JDK并配置环境变量 2 部署单节点服务 3 部署集群服务 4 启动集群中的所有节点 4.2 启动各个节点中 ...
- Viewer 是一款强大的 jQuery 图像浏览插件。
Viewer 是一款强大的 jQuery 图像浏览插件. 主要功能: 支持选项 支持方法 支持事件 支持触摸 支持移动 支持缩放 支持旋转 支持键盘 跨浏览器支持 链接: viewer的官方演示,及g ...
- 第一次接触solr的过程记录
1.以solr-4.6.0.tgz为例进行学习 2.第一步,看的是 tutorial.html(位于solr-4.6.0/docs目录),默认solr以jetty作为servlet容器 3.但是,如果 ...
- 线性判别函数-Fisher 线性判别
这是我在上模式识别课程时的内容,也有参考这里. 线性判别函数的基本概念 判别函数为线性的情况的一般表达式 式中x是d 维特征向量,又称样本向量, 称为权向量, 分别表示为 是个常数,称为阈值权. 设样 ...