c程序设计(第四版)谭浩强_教案

上传人:e****s 文档编号:243352191 上传时间:2024-09-21 格式:PPT 页数:237 大小:1.46MB
返回 下载 相关 举报
c程序设计(第四版)谭浩强_教案_第1页
第1页 / 共237页
c程序设计(第四版)谭浩强_教案_第2页
第2页 / 共237页
c程序设计(第四版)谭浩强_教案_第3页
第3页 / 共237页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,郑州华信学院 欧群雍,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,C,程序设计(第,四,版)谭浩强 著,郑州华信学院 欧群雍,2024/9/21,郑州华信学院 欧群雍,2,目录,程序设计和,C,语言,算法,程序的灵魂,最简单的,C,程序设计,顺序程序设计,选择结构程序设计,循环结构程序设计,利用数组处理批量数据,利用函数实现模块化程序设计,善于利用指针,用户自己建立数据类型,对文件的输入输出,常见错误分析,2024/9/21,郑州华信学院 欧群雍,3,第,1,章 程序设计和,C,语言,1.1,什么 是计算机程序,所谓程序,就是一组计算机能识别和执行的指令。,#include ,int main( ) /,一个简单的,C,语言程序, printf(This is a C program.n);,return 0;,2024/9/21,郑州华信学院 欧群雍,4,第,1,章 程序设计和,C,语言,1.2,什么是计算机语言,计算机语言:计算机和人都识别的语言,计算机语言的发展:,机器语言,汇编语言(低级语言)高级语言(面向过程的语言、算法语言)第四代语言(面向问题的语言),计算机语言的应用:,高级语言,源程序,机器语言,目标程序,程序,执行结果,编译,程序,运行,程序,2024/9/21,郑州华信学院 欧群雍,5,1.3 C,语言的发展及其特点,汇编语言的优缺点、高级语言的优缺点,C,语言集汇编语言、高级语言的优点于一身,既可用来编写系统软件,又可用来写应用软件,C,语言的产生与发展,ALGOL60,CPL,(,C,ombined,P,rogramming,L,anguage) BCPL(Basic CPL) B C,C,语言与,UNIX,操作系统相互促进,C,语言的标准化:标准,C,、,ANSI C,、,C99,C,语言编译系统:,Microsoft C,、,Turbo C,、,BORLAND C,等,2024/9/21,郑州华信学院 欧群雍,6,C,语言的特点,(,1,),语言简洁、紧凑,使用方便、灵活(例下表),37,个关键字、,9,种控制语句、格式自由、小写字母,C,语言,PASCAL,语言 含 义, BEGINEND,复合语句,if (e) S; IF (e) THEN S,条件语句,int i ; VAR i : INTEGER;,定义,i,为整型变量,int a10; VAR a : ARRAY1.10 OF INTEGER,定义,a,为整型一维数组,int f ( ); FUNTION f ( ) : INTEGER,定义,f,为返回整型值的函数,int * p; VAR p : INTEGER,定义,p,为指向整型单元的,指针变量,i+=2; i : = i + 2,赋值语句,使,i + 2, i,i+,或,+i i : = i + 1 i,自增值 1 ,,i + 1, i,2024/9/21,郑州华信学院 欧群雍,7,C,语言的特点,(,2,)运算符丰富,(,3,)数据类型丰富,(,4,)具有结构化的控制语句。以函数为程序的模块单位,便于实现程序的模块化,(,5,)语法限制不太严格、程序设计自由度大,(,6,)允许直接访问物理地址,能进行位操作,可直接对硬件操作。,C,语言被称为“中级语言”。,(,7,)生成目标代码质量高,程序执行效率高。,(,8,)可移植性好,与其他语言(,Basic,、,FORTRAN,、,COBOL,、,PASCAL,)的比较,2024/9/21,郑州华信学院 欧群雍,8,1.4,最简单的,C,语言程序,例,1.1,要求在屏幕上输出一行信息。 解题思路:,#include /,这是编译预处理指令,int main( ) /,定义主函数,printf(This is a C program.n);,return 0,;,例,1.2,求两个整数之和。,#include ,int main( ) /,求两数之和, int a, b, sum; /,这是定义变量,a=123; b=456; /,以下,4,行为,C,语句,sum=a+b;,printf(sum is %dn, sum);,return 0;,a,b,sum,123,456,579,2024/9/21,郑州华信学院 欧群雍,9,1.4,最简单的,C,语言程序,例,1.3,求两个整数中的较大者。,#include ,int main( ) /,主函数, int max(int x, int y); /,对被调用函数,max,的声明,int a, b, c; /,声明部分,定义变量,scanf(%d,%d, /,输入变量,a,和,b,的值,c=max(a,b); /,调用,max,函数,将得到的值赋给,c,printf(max= %dn,c); /,输出,c,的值,return 0;,int max(int x, int y),/,定义,max,函数,函数值为整型,形式参数,x,y,为整型, int z; /max,函数中的声明部分,定义其中用到的变量,z,为整型,if (xy) z=x;,else z=y;,return (z); /,将,z,的值返回,通过,max,带回调用处,2024/9/21,郑州华信学院 欧群雍,10,#include ,int main( ), int max(int x, int y);,int a, b, c;,scanf(%d,%d,c=max(a,b);,printf(max= %dn,c);,return 0,;,int max(int x, int y), int z;,if (xy) z=x;,else z=y;,return (z);,a,b,c,7,8,x,y,z,7,8,8,8,1.4,最简单的,C,语言程序,2024/9/21,郑州华信学院 欧群雍,11,1.4,简单的,C,程序介绍,C,语言源程序的结构:,(,1,)一个程序由一个或多个源程序文件组成。,(,2,),C,程序是由函数构成的。包含一个,main,函数和若干个其他函数。,(,3,)函数的组成:函数的首部、函数体。,int max ( int x, int y), int z;,if (xy) z=x;,else z=y;,return (z);,合法是空函数:,void dump( ), ,函数首部,函,数,体,函数类型,函数名,函数参数类型,函数参数名,声明部分,执行部分,2024/9/21,郑州华信学院 欧群雍,12,1.4,简单的,C,程序介绍,(4),一个,C,程序总是从,main,函数开始执行的。,#include ,int max(int x, int y), int z;,if (xy) z=x;,else z=y;,return (z);,main( ), int a, b,c;,scanf(%d,%d,c=max(a,b);,printf(max= %dn,c);,(,5,),C,程序书写格式自由。,(,6,)每个语句和数据定义的,最后必须有一个分号。,(,7,),C,语言本身没有输入输出,语句。,输入输出操作是由库函数,scanf,和,printf,等函数来完成的。,(,8,)可以用/ 对程序,的任何部分作注释。,2024/9/21,郑州华信学院 欧群雍,13,1.5 C,程序的上机步骤,开始,编辑,编译,连接,有错,?,执行,结果,正确,?,编写,C,程序并上机运行的步骤,结束,有,无,无,不正确,正确,2024/9/21,郑州华信学院 欧群雍,14,1.6,程序设计的任务,问题分析,设计算法,编写程序,对源程序进行编辑、编译和连接,运行程序,分析结果(调试、测试),编写程序文档,2024/9/21,郑州华信学院 欧群雍,15,第,2,章 算法,程序的灵魂,程序,=,数据结构,+,算法,+,程序设计方法,+,语言工具和环境,数据结构:对数据的描述,即在程序中指定数据的类型和数据的组织形式。,算法:对操作的描述,即操作步骤。,2.1,什么是算法,为解决一个问题而采取的方法和步骤。,计算机算法分为数值运算算法、非数值运算算法,2024/9/21,郑州华信学院 欧群雍,16,2.2,简单算法举例,例,2.1,求,1,2 3 4 5=5,!,Step1: 1p,Step2: 2i,Step3: p ip,Step4: i+1i,Step5:,若,i=5,返回,Step3,;否则,结束。,求,1,3 5 7 9 11,Step1: 1p,Step2: 3i,Step3: p ip,Step4: i+2i,Step5:,若,i=80,,则打印,ni,和,gi,;否则不打印。,Step3: i+1i,Step4:,若,i=50,返回,Step2,;否则,结束。,2024/9/21,郑州华信学院 欧群雍,18,2.2,简单算法举例,例,2. 3,判定,20002500,年中的每一年是否闰年,将结果输出,闰年的条件:,能被,4,整除但不能被,100,整除的年份是闰年;,能被,100,整除又能被,400,整除的年份是闰年。,设,year,为被检测的年份,算法如下:,S1,:,2000y,S2,:若,y,ear,不能被,4,整除,则输出,y,ear,“,不是闰年”,然后转到,S6,S3,:若,y,ear,能被,4,整除,不能被,100,整除,则输出,y,ear,“,是闰年”,然后转到,S6,S4,:若,y,ear,能被,100,整除,又能被,400,整除,则输出,y,ear,“,是闰年”,然后转到,S6,S5,:输出,y,ear,“,不是闰年”,S6,:,y,ear,+1y,ear,S7,:若,y,ear,=2500,,,返回,S2,继续执行,;否则,结束。,2024/9/21,郑州华信学院 欧群雍,19,2.2,简单算法举例,例,2. 4,求,算法如下:,S1,:,sign=1,S2,:,sum=1,S3,:,deno=2,S4,:,sign=(1)sign,S5,:,term=sign(1/deno),S6,:,sum=sum+term,S7,:,deno=deno+1,S8,:若,deno=100,返回,S4,;否则算法结束。,2024/9/21,郑州华信学院 欧群雍,20,2.2,简单算法举例,例,2. 4,对于一个大于或等于,3,的正整数,判断是否为素数,算法如下:,S1,:输入,n,的值,S2,:,i=2(i,作为除数,),S3,:,n,被,i,除,得余数,r,S4,:如果,r=0,,表示,n,能被,i,整除,打印,n“,不是素数”,算法结束;否则执行,S5,S5,:,i+1 i,S6,: 若,i=n 1,返回,S3,;否则打印,n“,是素数”,然后结束。,S6,步骤可改为:,S6,: 若,i=0?,打印,x,打印,x,Y,N,2024/9/21,郑州华信学院 欧群雍,24,2.4.2,用流程图表示算法,例,2.6,将例,2.1,求,5,!的算法用流程图表示如下。,开始,1,t,2,i,t,it,i+1,i,i5?,打印,t,结束,N,Y,2024/9/21,郑州华信学院 欧群雍,25,2.4.2,用流程图表示算法,例,2.7,将例,2.2,的算法用流程图表示如下。,开始,1,i,i+1,i,gi,80?,打印,ni,gi,结束,N,i,50?,Y,N,Y,2024/9/21,郑州华信学院 欧群雍,26,2.4.2,用流程图表示算法,例,2.8,将例,2.3,的算法用流程图表示如下。,开始,2000,y,y+1,y,y,不能被4整除,打印,y,“,是闰年”,结束,Y,2,500?,y,不能被100整除,y,不能被400整除,打印,y,“,不,是闰年”,打印,y,“,是闰年”,打印,y,“,不,是闰年”,Y,Y,N,N,Y,N,Y,N,2024/9/21,郑州华信学院 欧群雍,27,2.4.2,用流程图表示算法,例,2.10,将例,2.5,的算法用流程图表示如下。,i,?,开始,i+1,i,r=0?,打印,n,“,是素数”,结束,2,i,n/i,的余数,r,打印,n,“,不是素数”,Y,N,N,Y,输入,n,2024/9/21,郑州华信学院 欧群雍,28,2.4.3,三种基本结构和改进的流程图,1.,传统流程图的弊端,BS,型算法:,a,B,owl of,S,paghetti.,例图,2.13,。,2.,三种基本结构(,1966,年,,Bohra & Jacopini,),(,1,)顺序结构 (,2,)选择结构 (,3,)循环结构,A,B,a,b,A,B,b,p,成立,不成立,A,b,p,成立,不成立,a,a,A,b,p,成立,不成立,a,A,b,p,不成立,成立,a,当型,While,型,直到型,Until,型,2024/9/21,郑州华信学院 欧群雍,29,2.4.3,三种基本结构和改进的流程图,(,3,)循环结构,A,b,p,成立,不成立,a,当型,While,型,A,b,p,不成立,成立,a,直到型,Until,型,0,x,x=5?,x,+1,x,打印,x,值,N,Y,N,Y,2024/9/21,郑州华信学院 欧群雍,30,2.4.3,三种基本结构和改进的流程图,三种基本结构的共同特点:,(,1,)只有一个入口,(,2,)只有一个出口,(,3,)结构内的每一部分都,有机会被执行,(,4,)结构内不存在“死循环”,A,B,a,b,A,B,b,p,成立,不成立,A,b,p,成立,不成立,a,a,A,B,死循环,三种基本结构可解决,任何复杂的问题,2024/9/21,郑州华信学院 欧群雍,31,2.4.4,用,N-S,流程图表示算法,N-S( I. Nassi & B. Shneiderman),流程图的基本符号,其中,A,或,B,框可以是简单操作,也可以是三种结构之一,A,B,A,当,p1,成立,A,直到,p1,成立,A,B,p,成立,不成立,顺序结构,选择结构,当型循环结构,直到型循环结构,p,(1+r)p,当,n=100,成立,不成立,r=0.06,A,B,2024/9/21,郑州华信学院 欧群雍,32,2.4.4,用,N-S,流程图表示算法,例,2.11,1,t,2,i,t,it,i+1,i,直到,i5,打印,t,例,2.12,1,i,打印,ni,gi,i+1,i,直到,i50,gi,80,是,否,2024/9/21,郑州华信学院 欧群雍,33,2.4.4,用,N-S,流程图表示算法,2000,y,y/4,的余数为0,y/100,的余数,不为0,是,否,打印,y,“,是闰年”,y/400,的余数,为0,打印,y,“,是闰年”,打印,y,“,不,是闰年”,打印,y,“,非,闰年”,y+1,y,直到,y,2,500,是,否,是,否,例,2.13,2024/9/21,郑州华信学院 欧群雍,34,2.4.4,用,N-S,流程图表示算法,例,2.15,开始,i+1,i,r=0?,打印,n,“,是素数”,结束,2,i,n/i,的余数,r,i,?,打印,n,“,不是素数”,Y,N,N,Y,输入,n,开始,i+1,i,r=0?,输出,n “,是素数”,结束,0,w,2, i,n/i,的余数,r,i,和,w=0,Y,N,Y,N,输入,n,1,w,w=0,输出,n “,不是素数”,Y,N,2024/9/21,郑州华信学院 欧群雍,35,2.4.4,用,N-S,流程图表示算法,例,2.15,开始,i+1,i,r=0?,输出,n “,是素数”,结束,0,w,2, i,n/i,的余数,r,i,和,w=0,Y,N,Y,N,输入,n,1,w,w=0,输出,n “,不是素数”,Y,N,输出,n,“,是素数”,1,w,输入,n,0,w,w=0,2,i,n/i,的余数,r,r=0,是,否,i+1,i,直到,i ,或,w,0,输出,n,“,不是素数”,是,否,2024/9/21,郑州华信学院 欧群雍,36,2.4.5,用伪代码表示算法,2.4.6,用计算机语言表示算法,#include ,int main( ), int i, t;,t=1;,i=2;,while(i=5), t=t*i;,i=i+1;,printf(%d,t);,return 0;,#include ,int main( ), int sign=1;,double deno=2.0,sum=1.0,term;,while(deno = | & ),(,5,)赋值运算符,( =,及其扩展赋值运算符,),(,6,)条件运算符,(?,:,),(,7,)逗号运算符,(,,,),(,8,)指针运算符,(*,和,&),(,9,)求字节数运算符,(sizeof),(,10,)强制类型转换运算符,(,类型,),(,11,)成员运算符,(, ),(,12,)下标运算符,( ),(,13,)其他,(,如函数调用运算符,( ) ),2024/9/21,郑州华信学院 欧群雍,61,3.3 C,语句,3.3.1 C,语句的作用和分类,源程序文件,1,C,程序,局部变量声明,源程序文件,2,源程序文件,n,预处理命令,全局变量声明,函数,1,函数首部,函数,n,函数体,执行语句,2024/9/21,郑州华信学院 欧群雍,62,3.3.1 C,语句的作用和分类,(,1,)控制语句,if ( ) else ,(条件语句),for ( ) ,(循环语句),while ( ) ,(循环语句),do while ( ),(循环语句),continue,(结束本次循环语句),break,(,终止执行,switch,或循环语句,),switch,(多分支选择语句),return,(从函数返回语句),goto,(转向语句),2024/9/21,郑州华信学院 欧群雍,63,3.3.1 C,语句的作用和分类,(,2,)函数调用语句,printf(This is a C statement.);,(,3,)表达式语句,a=3;,x+y;,(,4,)空语句,;,(,5,)复合语句, ,2024/9/21,郑州华信学院 欧群雍,64,3.3.2,最基本的语句,赋值语句,例,3.4,给出三角形的三边长,求三角形面积。,解题思路、编写程序、程序分析(略)。注意数学函数及,t,的应用。,赋值运算符,: =,例如:,a=3,;,k=i*j;,其作用,?,2.,复合的赋值运算符:,+=,、*,=,、,%=,、,a+=3,等价于,a=a+3,x*=y+8,等价于,x=x*(y+8),x%=3,等价于,x=x%3,一般地:,v = v op exp,(此处,v,为变量,,exp,为表达式,,op,为运算符) 等价于,v op= exp,目的:简化程序,提高效率,2024/9/21,郑州华信学院 欧群雍,65,3.3.2,最基本的语句,赋值语句,3.,赋值表达式:,整个作为一个表达式,有此概念后,就可以理解并实现:,a=b=c=5,a=5+(c=6),a=(b=4)+(c=6),a=(b=10)/c=2),a+=a =a*a(,若,a,的初值为,12),printf(%d,a=b),变量,=,表达式,2024/9/21,郑州华信学院 欧群雍,66,4.,赋值过程中的类型转换,赋值运算符两侧的数据类型不一致时,赋值运算符右端的表达式计算结果要转换为赋值运算符左端变量的类型。,注意:表达式的值是否超过变量所属类型的取值范围。,实型数据,整型变量,取整数部分,但注意范围,(,1,),实型变量,整型数据,以浮点形式存储,(,2,),double,数据,float,变量,取,7,位有效数字,但注意范围,(,3,),double,变量,float,数据,有效位数扩展,char,数据,整型变量,字符数据送到整型变量低,8,位,但注意符号扩展,(,4,),char,变量,整型数据,取低,8,位,(,5,),2024/9/21,郑州华信学院 欧群雍,67,6.,变量赋初值,int a=3;,float f=3.56;,char c=a;,int a,b,c=5;,相当于,int a,b,c;,c=5;,2024/9/21,郑州华信学院 欧群雍,68,3.4,数据的输入输出,标准输入输出函数:,putchar( ),、,getchar( ),、,printf( ),、,scanf( ),、,puts( ),、,gets( ),#include ,2024/9/21,郑州华信学院 欧群雍,69,3.4.1,字符数据的输入输出,1. putchar,函数(字符输出函数),putchar,函数的功能是向终端输出一个字符。,一般形式:,putchar(,表达式),先计算表达式之值,然后在终端输出其,ASCII,码为该值的字符。,例如:,char a=B;,putchar(a);,putchar(O);,putchar(Y);,putchar(n);,putchar(A);,putchar(A+1);,此时在屏幕上输出:,BOY,AB,2024/9/21,郑州华信学院 欧群雍,70,3.4 .1,字符数据的输入输出,2. getchar,函数(字符输入函数),getchar,函数的功能是从终端(实际上是从输入缓冲区)读入一个字符。,一般形式:,getchar( ),例,3.9,从键盘输入,BOY3,个字符,然后把它们输出到屏幕。,#include ,int main ( ), char a,b,c;,a=getchar( ); b=getchar( ); c=getchar( );,putchar(a); putchar(b); putchar(c);,putchar(n);,return 0;,注意程序运行过程中的输入。,2024/9/21,郑州华信学院 欧群雍,71,3.4 .1,字符数据的输入输出,2. getchar,函数(字符输入函数),getchar,函数的功能是从终端(实际上是从输入缓冲区)读入一个字符。,getchar( ),将输入缓冲区下一个可读字符的字符值作为函数值返回。,注1,.getchar( ),从输入缓冲区,读入,下一个可读字符后(例如右图中,b,),,再下一个字符成为下一个可读字符(右图中,c,),注,2.,若当前输入缓冲区可读字符为空(例如程序开始时,或输入缓冲区字符被读完后,例如上图读完换行符,后), getchar,将等待用户从键盘向缓冲区输入数据,直到输入一行字符(键入,后),才开始读输入缓冲区(此时刚输入的第一个字符为下一个可读字符)。刚输入的一行字符同时显示在屏幕上。,abc123,下一个,可读字符,输入缓冲区,2024/9/21,郑州华信学院 欧群雍,72,3.4.1,字符数据的输入输出,2. getchar,函数(字符输入函数),补充,1: getch( ),函数,直接读键盘(而不是读输入缓冲区,也就不必理会输入缓冲区是否为空),此时该函数等待用户从键盘输入一个字符,当用户按任一键后(不必为,),,getch( ),将该字符作为函数值返回。注意:为执行,getch( ),函数而在键盘上键入的字符不显示在屏幕上。该函数常常用来响应用户是否敲击键盘。,补充,2: getche( ),函数,基本同,getch( );,只是为执行,getche( ),函数而在键盘上键入的字符显示在屏幕上。,2024/9/21,郑州华信学院 欧群雍,73,3.4.2,格式输入输出,1. printf,函数(格式输出函数),printf( ),的功能是向终端输出若干个任意类型(格式)的数据。,一般形式:,printf(,参数,1,,参数,2,,参数,3,参数,n);,转换控制字符串 输出表列,例如:,printf(%d,%cn,i,c);,其中,printf( ),的第一个参数为转换控制字符串,它包括:,格式说明,由,%,和格式字符等组成,如,%d,,,%6.2f,等,。其作用是将后面对应的参数表达式的数据转换为指定的格式输出。,普通字符,将原样输出。,2024/9/21,郑州华信学院 欧群雍,74,1. printf,函数(格式输出函数),格式字符,(,1,),d,格式符。将对应参数的数据以十进制形式输出。,%d,:以十进制形式按实际长度输出。,%md,:,m,为指定的输出数据的最小宽度。若实际输出字符个数小于,m,,则在左端补以空格(右端对齐)。若实际输出字符个数超过,m,,则,m,不起作用。,%,md,: “”意味着左对齐格式,将在右端补以空格。,%ld,、,%lld,:输出长整型(,long,)、双长整型(,long long,)数据。,注意:,int,型的数据应利用,%d,格式输出,,long,型数据应利用,%ld,格式输出。否则可能发生类型转换而出错。该转换规则不同于赋值表达式中的类型转换。,2024/9/21,郑州华信学院 欧群雍,75,1. printf,函数(格式输出函数),格式字符(补充),o,格式符:将对应参数的数据以无符号八进制形式输出。,x,格式符:将对应参数的数据以无符号十六进制形式输出。,u,格式符:将对应参数的数据以无符号十进制形式输出。,注,1,:注意是否进行了类型转换。(,int,型数据与这些格式之间的转换等同于,int,与,unsigned,在赋值时的转换),注2:%与格式符,o,、,x,、,u,之间可加修饰符,l,(输出长整型)、整数,m,(最小宽度)、,#,(将输出八进制、十六进制,标记:,0,、,0x,),例,int main ( ), unsigned int a=65535;,int b= 2;,printf(a=%d,%7o,%6x,%un,a,a,a,a);,printf(b=%d,%#o,%#x,%un,b,b,b,b); return 0;,输出结果为:,a=,1, 177777, ffff,65535,b=2,0177776,0xfffe,65534,2024/9/21,郑州华信学院 欧群雍,76,1. printf,函数(格式输出函数),格式字符,(,2,),c,格式符。将对应参数的数据(作为字符的,ASCII,码)以字符形式输出。,(,3,),s,格式符。用于输出一个字符串。,%s,输出字符串,例如,printf(%s, CHINA);,当然也等同于,printf(CHINA);,%ms, m,为指定的输出数据的最小宽度。若字符串字符个数小于,m,,则在左端补以空格(右端对齐)。若字符串字符个数超过,m,,则,m,不起作用。,%ms,则在右端补以空格(左端对齐)。,2024/9/21,郑州华信学院 欧群雍,77,1. printf,函数(格式输出函数),格式字符,(,4,),f,格式符,。,用于输出实数(包括单、双精度),以小数形式输出。,%,f,,不指定字段宽度,由系统自动指定,一般是整数,+6,位小数。但注意有效位数。,%m.nf,,指定输出的数据共占,m,列,其中有,n,位小数。,%m.nf,,同上,但左端对齐。,(,8,),e,、,E,格式符,以指数形式输出实数。,%,e,,不指定字段宽度,由系统自动指定,,Turbo C,一般的输出为:,*,.*e+*,%m.ne,、,%m.ne,(,9,),g,、,G,格式符,取,f,或,e,格式的最小格式,不输出无意义的,0,。,2024/9/21,郑州华信学院 欧群雍,78,1. printf,函数(格式输出函数),总结,1.,格式说明的一般形式:,%flagsm.nh|ltype,其中,type,为格式符,可为如下之一:,d,i,、,o,、,x,X,、,u,、,c,、,s,、,f,、,e,E,、,g,G,flags,为修饰符,可为:+、空格、#,+:若输出带符号数据,则在输出数据前加上符号+或。缺省+时仅当输出负数时,才输出负号。,:右端补以空格,左端对齐。,空格:输出带符号正数时,在输出数据前加一空格。若+与空格同时使用,则空格不起作用。,#:在格式符,o,、,x,前使用时,则输出的八进制、十六进制数据有前缀0、0,x .,2024/9/21,郑州华信学院 欧群雍,79,1. printf,函数(格式输出函数),总结,2.,若,%,后没有合适的格式符,则,%,不起作用,相当于普通字符。例如,printf(%abc,,,);则输出,%abc,但若要输出的普通字符有,%,,且其后有普通字符为格式符,如要输出,30% for ,,则必须,printf(30% for, );,总结,3.,转换控制字符串中的格式说明必须与后面的参数相对应,否则以格式说明为准进行操作。例如:,printf(%d,%dn,a,b,c);,printf(%d,%dn,a);,在此,再一次特别强调:转换控制字符串中的格式说明必须与后面的参数的,类型,相对应,2024/9/21,郑州华
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!