第4章(常用标准库函数)_第1页
第4章(常用标准库函数)_第2页
第4章(常用标准库函数)_第3页
第4章(常用标准库函数)_第4页
第4章(常用标准库函数)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1,第4章常用标准库函数,2,第4章常用标准库函数,4.1输入输出函数4.2数学运算函数4.3综合应用举例,3,C语言函数库中提供了一批“标准输入输出函数”putchar(输出字符)、getchar(输入字符)printf(格式输出)、scanf(格式输入)puts(输出字符串)、gets(输入字符串)在使用C语言库函数时,注意预编译命令“include”的使用。例如:在调用标准输入输出库函数时,文件开头应有以下预编译命令:#include或includestdio.h通常:用来表示系统提供的头文件。“”用来表示用户自定义的头文件。,注意:不是语句!,库函数:C编译系统为方便用户使用而提供的已经编写好的公共函数。,4,4.1输入输出函数,1.字符输入输出函数1)字符输出函数putchar()函数原型:intputchar(intc);功能:向终端输出一个字符。【说明】(1)参数c可以是字符型变量、整型变量、字符常量或整型常量(要求在0-255范围内)。(2)函数返回值为输出字符的ASCII码值。(3)putchar函数也可以输出转义字符。(4)一个putchar函数只能输出一个字符。,5,#includestdio.hvoidmain()chara,b,c;inti,j,k;a=s;putchar(a);putchar(n);/*换行*/putchar(s);putchar(n);/*换行*/i=115;putchar(i);putchar(n);/*换行*/putchar(115);putchar(10);/*换行*/,【例4.1】体会字符输出函数的功能。,输出:ssss,6,4.1输入输出函数,1.字符输入输出函数2)字符输入函数getchar()函数原型:intgetchar();功能:从键盘输入中得到一个字符。【说明】(1)函数返回值为输入字符的ASCII码值。(2)getchar函数的值可以赋给一个字符变量或整型变量,也可以不赋给任何变量。(3)一个getchar函数只能接收一个字符。,7,【例4.2】体会字符输入函数的功能。,#includestdio.hvoidmain()chara,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);,若输入:sun则输出:sun若输入:sun则输出:su,8,2.格式输入输出函数1)格式输出函数printf()格式:printf(格式控制,输出表列)如:printf(%d,%cn,i,c);“格式控制”包括两种信息:格式说明:由“%”和格式字符组成。普通字符:即需要原样输出的字符。【说明】原则上,输出表列中变量的个数和类型应与格式控制中指定的数据的个数和类型应一致,且从左到右一一对应。,4.1输入输出函数,9,表4.1printf函数格式字符,printf函数格式字符,10,常用的修饰符如表4.2(其中w、n均代表一个正整数)。表4.2printf函数修饰符,printf函数格式字符,11,体会printf函数的功能,(1)d格式符例:#includevoidmain()inta=100;printf(%d,%4d,%04d,%-4dn,a,a,a,a);结果:100,100,0100,100,12,#includevoidmain()intn=10;printf(%d,%o,%xn,n,n,n);printf(%#o,%#xn,n,n);运行结果:10,12,a012,0 xa,13,体会printf函数的功能,(2)f格式符,用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:%f,输出6位小数。单精度实数的有效位数一般为7位。例:输出实数时的有效位数。#includevoidmain()floatx,y;x=111111.111;y=222222.222;printf(%f,x+y);运行结果为:333333.328125双精度数的有效位数一般为16位,给出小数6位。,单精度浮点型的前7位数字是有效数字,14,体会printf函数的功能,例:输出实数时指定小数位数。#includevoidmain()floatf=123.456;printf(%f%10f%10.2f%.2f%-10.2fn,f,f,f,f,f);输出结果如下:123.456001123.456001123.46123.46123.46,15,体会printf函数的功能,(3)e格式符,以指数形式输出实数。%e有的C编译系统自动指定给出6位小数。如指数部分e+002共占5位。指数符号“e”占1位,指数符号占1位,指数占3位。例如:printf(“%e”,123.456);输出:1.234560e+002。6列5列输出的实数共占13列宽度。(注:不同系统的规定略有不同),16,体会printf函数的功能,(4)g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。例如,若f=123.468,则printf(“%f%e%g”,f,f,f);输出如下:123.4680001.234680e+002123.46810列13列10列最后3个小数位“0”为无意义的0,不输出,因此输出123.468,然后右补3个空格。%g格式用得较少。,17,【例4.3】体会printf函数的功能。,#includevoidmain()inta=123,b=-3721;floatx=123.456;printf(a=%d,b=%dn,a,b);printf(a=%4da=%04da=%-4dn,a,a,a);printf(b=%7db=%07db=%-9db=%2dn,b,b,b,b);printf(a=%8ld,b=%8ldn,a,b);printf(a=%-8ld,b=%-8ldn,a,b);printf(%3s,%7.2s,%.4s,%-5.3sn,sun,sun,sun,sun);printf(%f,%e,%gn,x,x,x);printf(%10.3e,%010.1e,%012.5en,x,x,x);,18,printf函数格式字符,对上述格式字符可进行如下分类:整型格式:d,o,x,u字符型格式:c字符串格式:s;实型格式:f,e,g修饰符:l,w,n,-【注意】(1)格式符最好用小写(除X,E,G外,都应用小写)。(2)若想输出“%”,在“格式控制”中应使用连续两个“%”,如printf(“%f%”,0.3)。(3)不同的系统在格式输出时有些差异。,19,各种常用格式字符具体用法介绍:,20,4.1输入输出函数,2.格式输入输出函数2)格式输入函数scanf()scanf(格式控制,地址表列)“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。【说明】在执行数据输入时,以一个或多个空格、或回车键、或跳格键(Tab)作为分隔符。“charc;scanf(%d,输入:10a输出:a=10c=a输入:10a输出:a=10c=,22,scanf函数,例:用scanf函数输入数据。#includevoidmain()inta,b,c;scanf(%d%d%d,下面输入均为合法:345345345下面输入不合法:3,4,5,23,使用scanf函数时应注意的问题,如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。例如scanf(%d,%d,功能:返回整数的绝对值。fabs函数函数原型:doublefabs(doublex);功能:返回浮点数的绝对值。,29,【例4.13】体会绝对值函数的使用。,#include#includevoidmain()intn1=-1234;printf(number1:%dabsolutevalue:%dn,n1,abs(n1);floatn2=-1234.0;printf(number2:%fabsolutevalue:%fn,n2,fabs(n2);,number1:-1234absolutevalue:1234number2:-1234.000000absolutevalue:1234.000000,30,4.2数学运算函数,其他函数sqrt函数函数原型:doublesqrt(doublex);功能:计算平方根,返回x的平方根,x应大于等于0。,31,【例4.16】体会其他数学函数的使用。,#include#includevoidmain()doublex=4.0,result;result=sqrt(x);printf(Thesquarerootof%lfis%lfn,x,result);,Thesquarerootof4.000000is2.000000,32,4.3综合应用举例,#includevoidmain()charcl,c2;cl=getchar();printf(%c,%dn,cl,cl);c2=cl+32;printf(%c,%dn,c2,c2);运行情况如下:AA,65a,97,【例】从键盘输入一个大写字母,要求改用小写字母输出。,33,【例4.22】从键盘输入圆半径r的值,求圆周长、圆面积的值并输出。,#include#definePI3.1415926voidmain()floatr,l,s;printf(pleaseinputtheradius:n);scanf(%f,pleaseinputtheradius:2.0perimeteris12.57areais12.57,34,程序举例,例:输入三角形的三边长,求三角形面积。为简单起见,设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形面积的公式为其中s=(a+b+c)/2据此编写程序如下:,思考步骤,1.定义变量floata,b,c;floats,area;2.scanf3.计算s=(a+b+c)/2area=sqrt(s*(s-a)*(s-b)*(s-c)4.printf,35,36,#include#includevoidmain()floata,b,c,s,area;printf(请输入三角形的三

温馨提示

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

评论

0/150

提交评论