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 ...
随机推荐
- JAVA 自动生成对应数据库表的JPA代码工具
http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成 自动生成对应数据库表的 ...
- windows小游戏之扫雷技巧
通过单击即可挖开方块.如果挖开的是地雷,则您输掉游戏. 如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷.
- 安装Glass Box代理程序
安装玻璃盒代理程序 目前版本的玻璃代理程序主要支持主流 Java EE 应用程序服务器(如 JBoss,Tomcat,WebLogic 和 WebSphere).玻璃盒代理程序可以自动化安装,但考虑到 ...
- Android项目:使用pulltorefresh开源项目扩展为下拉刷新上拉加载更多的处理方法,监听listview滚动方向
很多android应用的下拉刷新都是使用的pulltorefresh这个开源项目,但是它的扩展性在下拉刷新同时又上拉加载更多时会有一定的局限性.查了很多地方,发现这个开源项目并不能很好的同时支持下拉刷 ...
- HTML5 的四个亮点
1.XDM cross-document-messaging 跨文档消息传递. 2.原生拖放功能. 3.新媒体元素 audio.video. 4.历史状态管理.
- Qemu事件处理机制简介
Qmeu 采用了基于事件驱动的架构,所有的事件都在一个事件循环(event loop)中被处理,系统中默认的事件循环是在main-loop.c 中的主循环(main loop).我们也可以使用 –ob ...
- docker 报错 Error response from daemon: driver failed programming external connectivity on endpoint mynginx
Error response from daemon: driver failed programming external connectivity on endpoint mynginx (7d1 ...
- 征信报告页面的input验证收集
https://ipcrs.pbccrc.org.cn/ function checkLoginName() { var loginName = $.trim($("#loginname&q ...
- hdu Portal(离线,并查集)
题意:在一张无向图上,已知边权,做q组询问,问小于L的点对共有几组.点对间的距离取=min(两点之间每一条通路上的最大值). 分析:这里取最大值的最小值,常用到二分.而这里利用离线算法,先对边从小到大 ...
- Window10 安装问题汇总
7月28号之后,由于没有收到windows的升级提醒,所以下载了ISO文件手动进行了升级. 本文就升级过程中遇到的问题进行一下总结: 1.ISO文件名称:cn_windows_1 ...