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. 51单片机 | 实现SMG12864液晶显示器操作

    ———————————————————————————————————————————— SMG12864液晶显示器 128*64个点位,可以显示图形或8*4个汉字 - - - - - - - - - ...

  2. 初窥Servlet

    1. Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术.sun公司在其API中提供了一个servlet接口,用户若想要发一个动态web资源,只需要完成以下两步即可: ...

  3. 【SpringMVC学习08】SpringMVC中实现文件上传

    之前有写过一篇struts2实现的文件上传,这一篇博文主要来总结下springmvc实现文件上传的步骤.首先来看一下单个文件的上传,然后再来总结下多个文件上传. 1. 环境准备 springmvc上传 ...

  4. nginx日志统计流量

    cat access.log |awk '{sum+=$10} END {print sum/1024/1024/1024}' $10是nginx字段bytes_sent 字段,根据自己的日志格式修改 ...

  5. 搭建nginx服务器和直播流媒体服务器

    1.nginx简单说明 ①  Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强. ...

  6. EF、Dapper、NHibernate等ORM框架的比较及优缺点

    什么是ORM? ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操 ...

  7. JS 手势长按代码

    同时支持长按和点击事件,无依赖版 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  8. Android:Activity+Fragment及它们之间的数据交换(一)

    简单介绍: 为什么要用Fragment?使用Fragment能够在一个Activity中实现不同的界面. Fragment与Fragment之间的动画切换,远比Activity与Activity之间的 ...

  9. java -cp 命令 java jar 命令和 hadoop jar 命令

     -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”  java -cp .;myClass.jar pa ...

  10. spring download

    http://maven.springframework.org/release/org/springframework/spring/