[课件资料]第3章 (1)_第1页
[课件资料]第3章 (1)_第2页
[课件资料]第3章 (1)_第3页
[课件资料]第3章 (1)_第4页
[课件资料]第3章 (1)_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

顺序结构程序设计,3,本章导读,程序结构:顺序结构、选择结构、循环结构顺序结构:最简单的也是最基本的程序结构,其特点是按语句书写的顺序依次执行本章介绍:C语言中的语句类型、程序结构、赋值语句、字符输入/输出函数、格式输入/输出函数、格式控制符等学习要求:理解顺序结构的程序执行过程,掌握赋值语句和基本输入/输出函数的使用,能够用正确的格式进行输入与输出。掌握简单程序设计的一般方法,能够根据要求编写出简单的程序,3.1数据输入与输出,printf()函数的功能是向系统指定的设备输出若干个任意类型的数据。,3.1.1格式化输出函数printf(),1.printf()函数调用形式printf函数是一个标准库函数,其调用的一般形式:printf(格式控制字符串,输出列表);,格式说明,一般字符按原样输出,转义字符作用:换行,输出列表,printf(a=%dn,a);,图,printf函数,括号里都是函数的参数。(1)格式控制字符串是用双撇号括起来的字符串,它包括两个信息:格式说明。由“%”开头格式字符结尾,如%d,%c,%f等。它的作用是将要输出的数据转化成指定的格式输出,格式说明都是由“%”字符开始的。一般字符。即按原样输出的字符,在显示时起提示作用。如例题3-1中printf(nc=%dn,c);中双撇号内的换行符、字符c=。(2)输出列表是需要输出的变量、函数、表达式。,说明,格式说明符由“%”开头,以一个英文字母结束,它表明输出数据的类型;其间还可以有一些格式控制字符,用以说明数据输出的长度、位数、对齐方式等。在TurboC中格式说明符的一般形式为:%标志输出最小宽度m.精度n长度类型其中:表示可选项。标志:是由字符构成的,它表示数值输出时按某种格式,常用的字符有、0,其具体含义见表3-1。,格式说明符,表3-1,printf函数常用附加格式符,输出最小宽度m:m是十进制整数,它表示用十进制输出的最少位数,当需要输出的数据长度超过该数时,该选项不起作用,数据按实际位进行输出,当需要输出的数据长度小于该数时,则在该数的左边补空格或0。.精度n:是“.”加上十进制整数n。其含义是:如果输出的是数值,则该数表示小数位数,若实际位数大于所定义的精度,则截去超过部分;如果输出的是字符,则表示输出字符的个数。,printf函数常用附加格式符,数据长度:是字符,它有两种形式:h、l。h表示按短整型量输出,l表示按长整型量或双精度输出。类型:是格式说明符中必须要有的,它表示输出列表里要输出的数据类型。表3-2给出了常用的类型格式符及含义。,printf函数常用附加格式符,表3-2,printf函数常用类型格式符表,注意,(1)可以在格式控制字符串中包含前面所讲的“转义字符”,如“n”、“t”、“r”、“b”、“377”等。(2)控制输出类型除X、E、G外,必须是小写字母。如%d不能写成%D。(3)若想输出字符“%”,则在格式字符串中用连续两个%表示。如:printf(%f%,1.0/4);则输出:0.250000%,#includemain()inta,b,c;a=10;b=20;c=-30;printf(a=%d,a=%o,a=%+dn,a,a,a);printf(b=%d,b=%x,b=%5dn,b,b,b);printf(c=%d,c=%5d,c=%+dn,c,c,c);,【例3-1】,分析下面程序运行结果,#includemain()inta,b,c;a=123;b=234;c=a+b;printf(na+b=%d+%d=%d,a,b,c);printf(na+b=%hd+%hd=%hd,a,b,c);printf(na+b=%2d+%2d=%5d,a,b,c);printf(na+b=%02d+%02d=%05d,a,b,c);,【例3-2】,分析下面程序运行结果,#includemain()floatx,y,z;x=123.234;y=0.000345;z=-98.567;printf(x=%.4f,x=%.2f,x=%+en,x,x,x);printf(y=%f,y=%8.4f,y=%10.3en,y,y,y);printf(z=%+f,z=%+e,z=%+gn,z,z,z);,【例3-3】,分析下面程序运行结果,#includemain()doublex,y,z;x=123.234;y=-0.000345;z=-98.567;printf(x=%lf,x=%.4lf,x=%2lf,x=%+en,x,x,x,x);printf(y=%lf,y=%+lf,y=%len,y,y,y);printf(z=%fn,z);,【例3-4】,分析下面程序运行结果,#includemain()printf(n%c,a);/*输出单个字符*/printf(n%s,abc);/*输出一个字符串*/,【例3-5】,分析下面程序运行结果,3.1.2格式化输入函数scanf,scanf()函数的功能是从键盘上将数据按用户指定的格式输入并赋给指定的变量。1.scanf()函数调用形式scanf(格式控制字符串,地址列表);,其中格式控制字符串的定义与使用方法和printf函数相似,但不能显示非格式字符串,即不能显示提示字符串。地址列表是要赋值的各变量地址。地址是由地址运算符“scanf(%3d%3d%4d,【例3-6】,分析下面程序,#includemain()doublea,b,c;scanf(%lf,%lf,【例3-7】,分析下面程序,#includemain()charstr1,str2;scanf(%c%c,【例3-8】,分析下面程序,#includemain()intx,y;scanf(%2d%*3d%4d,【例3-9】,分析下面程序,虚读,无对应变量,3.1.3字符数据的输入与输出,1.字符输入函数getchar()字符输入函数getchar()的功能是从标准设备(键盘)上读入一个字符。其一般调用形式:getchar();该函数没有参数,但一对圆括号不能省略。getchar()只能从键盘上接收一个字符。,#includemain()charstr1,str2;str1=getchar();str2=getchar();printf(n%c,%cn,str1,str2);,【例3-10】,字符输入函数的使用,#includemain()intstr;str=getchar();printf(n%d,%cn,str,str);,【例3-11】,字符输入函数的使用,字符输出函数putchar(),字符输出函数putchar()的功能是向标准输出设备(显示器)输出一个字符。其一般调用形式:putchar(c);其中:c是参数,它可以是整型或字符型变量,也可以是整型或字符型常量。当是整型量时,输出以该数值作为ASCII码所对应的字符;当是字符型量时,直接输出字符常量。,#includemain()charx,y,z;x=a;y=+;z=b;putchar(x);putchar(y);putchar(z);putchar(n);putchar(132);,【例3-12】,字符输出函数的使用,顺序结构是程序设计中最简单、最基本的结构,其特点是程序运行时,按语句书写的次序依次执行,其结构如图所示。,顺序结构流程图,3.2顺序结构程序设计,#includemain()inta,b,c;scanf(%d,%d,分析下面程序结构,【例3-13】,例3-13的流程,从例3-3可以看出,顺序结构的程序框架如下:,分析,#开头的预编译处理命令行main()局部变量声明语句;可执行语句序列;,#includestdio.hvoidmain()inta,b,c;a=3;b=5;c=a+b;printf(a+b=%dn,c);,分析下面程序,数据在程序中安排,#includestdio.hvoidmain()inta,b,c;scanf(%d,%d,分析下面程序,数据由键盘输入,#includestdio.hvoidmain()inta,b,c;scanf(a=%d,b=%dn,分析下面程序,想给出提示?,#includestdio.hvoidmain()inta,b,c;printf(a=,b=:n);scanf(%d,%d,分析下面程序,正确的提示,#includestdio.hvoidmain()inta,b,c;printf(请输入a和b的值,中间用逗号隔开:n);scanf(%d,%d,分析下面程序,整形数据,#includestdio.hvoidmain()floata,b,c;printf(请输入a和b的值,中间用逗号隔开:n);scanf(%f,%f,分析下面程序,单精度数据,#includestdio.hvoidmain()doublea,b,c;printf(请输入a和b的值,中间用逗号隔开:n);scanf(%lf,%lf,分析下面程序,双精度数据,#includestdio.h#includemath.hintmain()inta,b,c;floats,area;printf(请输入三边长度:);scanf(%d,%d,%d,分析下面程序结构,【例3-15】,P71(P52),#includestdio.h#includemath.hmain()inta,b,c;floats,area;a=3;b=4;c=5;s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(%fn,area);,分析下面程序结构,【例3-15】,P71(P52),【例3-18】从键盘上输入两个整数放入变量a,b中,编程将这两个变量中的数据交换。【分析】两个数据交换,不能直接写成a=b;b=a;,因为当执行a=b;后,变量a中的原值就被“冲”掉了,而与变量b中的值相等,因此不能实现交换。正确的做法是另定义一个变量(假设是c)作为暂存单元,在执行a=b;之前,先将变量a的值放入c中保存起来,然后执行a=b;,最后再执行b=c;,由于c中保存的是a的值,这样就将原来a的值赋给了b,从而实现了两个变量中的数据交换。,3.5程序举例,程序,/*EX3-18.C*/#includemain()inta,b,c;a=3;b=5;c=a;a=b;b=c;printf(a=%d,b=%dn,a,b);,【例3-23】,分析下面程序的运行结果,#includemain()inta,b;a=0103;b=+a;printf(%d,%dn,a-,-b);printf(%c,%cn,+a,b+);,【习题3二.5】,写出程序的运行结果(P77),#includemain()intx=3,y=5;printf(%d,%dn,(x-,-y),x+);,运行结果4,2,【习题3二.5】,写出程序的运行结果,#includemain()intx=3,y=5;printf(%d,%dn,(-y,x-),x+);,运行结果3,3,【习题3二.6】,写出程序的运行结果(P77),#includemain()inta=3;printf(%d,%dn,a,(a-=a*a);,【习题二1.12】,写出程序的运行结果,#includemain()floatd=2.2;intx,y;x=6.2;y=(x+3.8)/5.0;printf(%dn,d*y);,本章介绍了顺序程序结构、赋值语句、基本的输入/输出函数。重点讲解了以下几个方面的内容:1.scanf、printf、getchar、putchar四个函数的使用:(1)scanf和getchar都是输入函数,其功能是接收键盘上输入的数据。但scanf函数可以按指定的格式输入任何类型的数据,而getchar函

温馨提示

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

最新文档

评论

0/150

提交评论