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)数据的输入输出的更多相关文章

  1. C++学习之文件的输入输出

    C++学习之文件的输入输出        一.文件的打开与关闭        1.输出数据到文件        文件的操作需要包含fstream头文件,文件的操作对象为ifstream,ofstrea ...

  2. FAT32文件系统学习(3) —— 数据区(DATA区)

    FAT32文件系统学习(3) —— 数据区(DATA区) 今天继续学习FAT32文件系统的数据区部分(Data区).其实这一篇应该是最有意思的,我们可以通过在U盘内放入一些文件,然后在程序中读取出来: ...

  3. Hbase技术详细学习笔记

    注:转自 Hbase技术详细学习笔记 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行 ...

  4. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  5. iOS学习——JSON数据解析(十一)

    在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...

  6. [Python] Python 学习 - 可视化数据操作(一)

    Python 学习 - 可视化数据操作(一) GitHub:https://github.com/liqingwen2015/my_data_view 目录 折线图 散点图 随机漫步 骰子点数概率 文 ...

  7. 一起来学大数据——走进Linux之门,学习大数据的重中之重

    昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介 ...

  8. Java软件开发者,如何学习大数据?

    正常来讲学习大数据之前都要做到以下几点 1.学习基础的编程语言(java,python) 2.掌握入门编程基础(linux操作,数据库操作.git操作) 3.学习大数据里面的各种框架(hadoop.h ...

  9. Linux学习-服务器硬件数据的收集

    以系统内建 dmidecode 解析硬件配备 系统有个名为 dmidecode 的软件,它可以解析 CPU 型号.主板型号与内存相 关的型号等等~ [root@study ~]# dmidecode ...

  10. Flutter实战视频-移动电商-41.详细页_数据接口的调试

    41.详细页_数据接口的调试 建立数据模型层,我们的业务逻辑分开,然后进行后台数据的调试 生成model类 json数据: { ", "message": "s ...

随机推荐

  1. js:获得时间

    <script type="text/javascript"> function bodyLoad() { var dateTime = new Date(); var ...

  2. Java学习从入门到精通(1) [转载]

    Java Learning Path (一).工具篇 一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envi ...

  3. 使Gallery时设置居左显示

    Gallery中的图片默认是居中显示的.可是在非常多情况下我们须要它居左显示,这样做有一个简单方法.就是把Gallery的left设置为负多少,如以下的方法: Drawable drawable=ca ...

  4. sprint3 【每日scrum】 TD助手站立会议第九天

    站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 整合原来做过的功能,并做相应的改进,整合其他的功能 团队进入最终的功能测试阶段,准备发布Beta版 在测试阶段BUG太多,不知道如何解决 Y ...

  5. rplidar 扫描角度设置

    参考网站::   https://blog.csdn.net/sunyoop/article/details/78302090 https://blog.csdn.net/dzhongjie/arti ...

  6. C# Html Agility Pack

    using System; using HtmlAgilityPack; using System.IO; using System.Text; using System.Text.RegularEx ...

  7. NoHostAvailableException: All host(s) tried for query failed (no host was tried)

    NoHostAvailableException: All host(s) tried for query failed (no host was tried) cassandra连接报错:tried ...

  8. The best way to predict the future is to invent it,预测未来最好的方法是创造它!

    The best way to predict the future is to invent it,预测未来最好的方法是创造它! ——Smalltalk发明人Alan Kay “预测未来的最好方法, ...

  9. 编写一个基于HBase的MR程序,结果遇到一个错:ERROR security.UserGroupInformation - PriviledgedActionException as ,求帮助

    环境说明:Ubuntu12.04,使用CDH4.5,伪分布式环境 Hadoop配置如下: core-site.xml: <configuration><property>    ...

  10. CentOS7 安装 Node.js

    1.首先安装node.js 的版本管理工具 NVM,执行以下命令: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/ ...