第04讲 输入输出和库函数.ppt_第1页
第04讲 输入输出和库函数.ppt_第2页
第04讲 输入输出和库函数.ppt_第3页
第04讲 输入输出和库函数.ppt_第4页
第04讲 输入输出和库函数.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四讲 输入输出和库函数,2,第四讲 输入输出和库函数,引例 字符串常量 符号常量 格式化输入输出 字符输入输出 库函数,C语言程序设计,3,引例,引例 问题:计算任意一个球体的体积。 源程序(cw03-01.c),输入输出和库函数,#include #include #define PI 3.14159 /定义符号常量 void main() double r, volume; printf(Please input the radius of a ball: ); scanf(%lf, /按格式输出 ,Please input the radius of a ball: 1 Volume

2、= 4.18879,volume = 4/3r3,4,字符串常量,字符串常量 用双引号括起来的字符序列。 this is a string x 12345 字符串常量的存储方式 字符串中的字符存放在相邻的存储单元中,每个字符占用一个单元(一般是一个字节),在最后加上一个空字符(0)作为结束标识符。 举例,输入输出和库函数,每个字符占一个字节,结束标记,5,字符串常量,字符串常量和字符常量的区别 字符x是基本型数据。 字符串”x”是构造型数据。 占用的存储空间大小不同。,输入输出和库函数,6,符号常量,符号常量 符号常量是用一个标识符表示的常量。 定义规则 #define 符号常量名 字符串 举

3、例,输入输出和库函数,#define MAXSIZE 20 #define WELCOME Welcome to you! #define PI 3.14,编译预处理器将会用3.14替换以后出现的PI标识符。,7,符号常量,为什么需要符号常量 名字比数字包含的信息多。 便于维护 如果需要在多个地方用到同一个常量,而且必须改变它的值,则只需要修改其符号常量的定义。 另一种定义符号常量的方法 使用const把一个变量声明转换成常量声明。 举例,输入输出和库函数,const int MAX_NUMBER = 30;,MAX_NUMBER是只读的。,8,输入输出,输入输出是以计算机主机为主体而言的。

4、输出(Output):从主机向外部输出设备输出数据。 输入(Input):从外部通过输入设备向主机输入数据。,输入输出和库函数,输入,输出,9,输入输出流,流(stream) 按直线排列的字符序列 每个序列包括0个或多个字符,并用换行符结尾 ANSI C支持至少254个字符的序列 所有的输入/输出都是用流来进行的。,输入输出和库函数,10,标准输入输出流,开始执行程序时,3个流自动连接到程序上 标准输入流(standard input)对应的源端设备:keyboard 标准输出流(standard output)对应的目的端设备:screen 标准错误流(standard error)对应的目

5、的端设备:screen 操作系统允许这些流重定向到其它设备,输入输出和库函数,myprog out.txt,输出重定向符,myprog data.txt,输入重定向符,11,输入输出函数,C语言中数据的输入、输出是由函数来实现的。 字符输入函数:getchar() 字符输出函数:putchar() 格式输入函数:scanf() 格式输出函数:printf() 它们都属于标准输入输出库函数,其原型(prototype)都在stdio.h头文件(header file)中。,输入输出和库函数,12,字符输入输出,putchar()函数 getchar()函数 使用说明 程序中必须包含 stdio.

6、h 头文件,输入输出和库函数,#include ,13,字符输出,putchar 使用形式 putchar(character); 向标准输出流输出一个字符character 使用说明 character可以是以下数据: 字符型数据 整型数据 转义字符,输入输出和库函数,14,字符输出,举例(cw0302.c),输入输出和库函数,#include void main() char a; int b; a=B; b=79; putchar(a); putchar(n); putchar(b); putchar(n); putchar(Y); ,B O Y,15,字符输入,getchar 使用形式

7、 variable = getchar(); 从标准输入流读取一个字符。 使用说明 只读取一个字符。 该字符可赋给字符变量、整型变量或作为表达式的一部分。,输入输出和库函数,16,字符输入,举例(cw0303.c),输入输出和库函数,#include void main() char c; c = getchar(); putchar(c); ,a a,abc a,98 9,1,2,3,17,格式输入输出,printf()函数 scanf()函数 使用说明 程序中可以不明确指定包含 stdio.h 头文件,输入输出和库函数,#include ,可以省略此命令,18,格式输出,printf 使用

8、形式 printf(格式控制字符串, 输出列表); 按格式控制字符串规定的格式,向指定的输出设备输出输出列表中的输出项。 使用说明 格式控制字符串 由双引号括起来的字符串,用于指定输出格式 输出列表 需要输出的数据列表,彼此间用逗号分隔 输出项可以是任意合法的表达式,输入输出和库函数,19,格式输出,格式控制字符串 举例,输入输出和库函数,printf(“n=%5d,f=%5.2fn”, 3, 6.235),普通字符 原样输出,格式说明符(转换规则) % 修饰符 格式字符 指定数据的输出格式,n= 3,f= 6.24,20,格式输出,格式字符,输入输出和库函数,21,格式输出,格式修饰符,输入

9、输出和库函数,22,格式输出,格式说明符小结,输入输出和库函数,要输出%就用%,23,格式输出,举例(cw0304.c),输入输出和库函数,void main() int a=97,b=-1; float f=123.4; printf(“%d,%cn”,a,a); printf(“%d,%o,%x,%un”,b,b,b,b); printf(“%f,%e,%gEND”,f,f,f); ,97,a -1,177777,ffff,65535 123.400002,1.234000e+02,123.4END,1 1 1 1 1 1 1 1,1 1 1 1 1 1 1 1,BC,24,格式输出,举例

10、(cw0305.c),输入输出和库函数,void main() int a=1,b=2,c=3; printf(“%d,%d,%d,%dn”,a,b,c); printf(“%d,%d,%dn”,a,b,c,a+b+c); ,1,2,3,898 1,2,3,格式说明符和输出项在数量和类型上应该一一对应。,25,格式输入,scanf 使用形式 scanf(格式控制字符串, 地址列表); 按格式控制字符串规定的格式,从指定的输入设备读入数据,并存放到地址列表中的各地址项指定的变量中 使用说明 格式控制字符串 由双引号括起来的字符串,用于指定输入格式 地址列表 由若干个变量的地址组成,输入输出和库函

11、数,26,格式输入,地址列表 取地址运算符: scanf(“%c%c%c”, ,abc a=a,b=b,c=c,a b c a=a,b= ,c=b,a bc a=a,b= ,c=b,a b a=a,b= ,c=b,1,2,3,4,用 c 格式字符输入字符时,若格式控制字符串中无普通字符,那么认为所有输入的字符(包括空格、制表符、换行符)均为有效字符。,31,格式输入,输入过程分析,输入输出和库函数,ab2,3.4,输入缓冲区,scanf(); getchar(); ,输入流,输入流,32,格式输入,用c格式字符输入字符时,若格式控制字符串中加入空格作为分隔符,那么输入时各数据之间可以加任意多个空格、制表符或换行符)。 例:scanf(“%c %c %c”, 输入:a b c 则 a=a,b=b,c=c 在下列情况下可认为数据输入结束: 遇到空格符、换行符、制表符 按指定的宽度结束 遇非法输入,输入输出和库函数,33,数学库函数,使用标准库中的数学函数 包含数学函数库的头文件 #include 常用的数学函数的原型 int abs(int n) double fab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论