[计算机软件及应用]程序设计.ppt_第1页
[计算机软件及应用]程序设计.ppt_第2页
[计算机软件及应用]程序设计.ppt_第3页
[计算机软件及应用]程序设计.ppt_第4页
[计算机软件及应用]程序设计.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

三、顺序结构,主要内容,FORTRAN语言的顺序结构 C语言的顺序结构,FORTRAN语言的顺序结构,赋值语句 简单的输出语句 简单的输入语句 参数语句(PARAMETER语句) END语句、STOP语句、PAUSE语句 格式输出 格式输入,赋值语句,1、作用将一个确定的值赋给一个变量 一般格式: V = e 变量 = 表达式 例:x=3.2 Y=SQRT(x+5.0)/2.0 说明:1、“=” 为赋值号 其作用为:x 3.2 特殊:I=I+1(计数器) 2、左端只能是变量名,如:x+y=5是不合法的,赋值语句,2、类型转换问题 类型相同,直接赋值(I=3) 类型不同,先计算表达式的值、后将结果类型转换为左端变量的类型 例: I=3.6*5+1.5 X=(5+6)/(8-5) 为避免出现类型转换过程中的错误,应保证两侧类型一致。,简单输出语句,输出语句的作用:将内存的数据传送到显示器、打印机或保存到磁盘指定区域。 输入/输出三要素: 对象:哪些数据 格式 设备 输出语句的分类: 格式输出 表控格式输出(系统标准格式) 无格式输出,表控输出语句,按计算机系统规定的格式输出 系统自动为每种类型的数据规定了列数 一、表控输出格式 整数的表控格式输出(机器不同10、11、13) 若规定:每个整数占11列,数印右端,左补空格 例:print *,123,-1128 输出结果: 123-1128,表控输出语句,实数的表控格式输出 若规定:每个实数占15列,数印右端,左补空格,小数部分占6列。 例:print *,15.4,-321.45 输出结果: 15.400000-321.450000,表控输出语句,当实数值的绝对值107或1是时,按标准的指数形式输出。 共占15列,指数4列,小数6列 例:print *,-10000000.,0.98 输出结果: -1.000000E+079.800000E-01,表控输出语句,二、表控格式输出语句 一般格式: print ,输出表列 write (,)输出表列 F77子集不提供PRINT语句,作用相同 例1: print ,56.8,125 或 write (,) 56.8,125 例2: print ,a, b, c 或 write (,) a, b, c,表控输出语句,例3: x=12.5 y=90.5 z=x+y print *, x, y print *, z=, z end 运行结果: 12.500000 90.500000 Z= 103.000000,简单输入语句,输入语句的作用: 将外部介质(键盘、磁盘)上的数据传送到内存变量指定的单元中。 输入/输出三要素: 对象:哪些数据 格式 设备 输入语句的分类: 格式输入 表控格式输入(系统标准格式) 无格式输入,表控输入语句,自由格式输入 语句: read ,输入表列 read (,)输入表列 注意: 1、执行时,程序会停止,等待用户从键盘 上输入数据。 2、输入时,数据间以“,”或空格间隔。 3、变量名称为输入表。 4、输入的数据应和输入表的变量个数、类型,次序严格地一一对应。,例1:read(*,*) a,b,I,j 输入:108.6,-37.8,5(回车) -少一个数,则j没有被赋值,程序停止等待 输入:108.6,-37.8,5,6,9(回车) -多一个数,则输入的9不起作用,程序正常执行 例2: read(*,*) a,b,I,j,c, k,l,p 输入:25.8,-8.2 (回车) 5,8,2.7 (回车) 2,6,6.9 (回车) -数据太多,可以分几个记录输入 记录:以回车结束的一批输入/输出数据,例3:read(*,*) A,B,C,D,E,F,G 输入:7*3.5 -相同的数据可以用重复系数输入 例4:read(*,*)A,B,C read(*,*)D,I,J 输入:2.3,-63.5 (回车) 6.4,91.0 (回车) 5,8 (回车) 结果:A=2.3,B=-63.5,C=6.4,D=5.0,I=8 J未被赋值 -每个read语句从一个新的记录开始读数,例5:read(*,*)A,B,C read(*,*)D,I,J write(*,*)A,B,C,D write(*,*)I,J end 输入:2.3,63.5,6.4 (回车) 91.0,5,6 (回车) 输出: -2.300000-63.500000-6.400000-.-91.000000 -5-6 -每个write语句也是从一个新的记录开始输出,参数语句(parameter语句),作用:将程序中经常用到的常数定义成一个符号常量,其值不可改变。 语句:parameter(p1=c1,p2=c2,pn=cn) 其中: pn符号常量; cn常量 例:parameter (r=6.2 ,PI=3.1415926) s=PI*r*2 L= 2*PI*r write(*,*) s,L end,注意: 1、符号常量的命名规则与变量名相同,但它不同于变量,它的值不改变,在程序中不能对它赋值。 例:PI=5.6 或 read(*,*) r 2、符号变量也有类型,也可用三种方法说明类型 3、参数语句是非执行语句,也位于所有可执行语句的前面,但位于类型说明语句后面。 4、一条语句可以定义多个符号常量。 例如:parameter (PI=3.14159,r=25,I=9) 5、优点:方便修改程序,END,STOP,PAUSE语句,END语句 结束标志;有且仅有一条 STOP语句 停止运行程序;用于调试程序 PAUSE语句 暂停执行;用于调试程序,程序举例,【例3】求三角形面积 公式:S=S(S-A)(S-B)(S-C),S=(A+B+C)/2 源程序:read(*,*) A,B,C S=(A+B+C)/2 area=SQRT(S*(S-A)*(S-B)*(S-C) write(*,*)A=,A,B=,B,C=,C write(*,*)the area is,area end,例:求五边形面积 源程序: write(*,*)Input A,B,C,D,E,F,G read(*,*) A,B,C,D,E,F,G S=(A+B+C)/2 S1=SQRT(S*(S-A)*(S-B)*(S-C) S=(C+D+E)/2 S2=SQRT(S*(S-C)*(S-D)*(S-E) S=(D+E+F)/2 S3=SQRT(S*(S-D)*(S-E)*(S-F) AREA=S1+S2+S3 write(*,*)area=,area end,例:编程将十进制数407转换成八进制数 源程序:m=407 i1=mod(m,8) i2=mod(m/8,8) i3=mod(m/8/8,8) write(*,*)i3,i2,i1 ; 按高位到低位顺序 end,格式的输出,一、有格式的输出语句 一般形式: write(*,s1) s1 format(格式说明) print s1, s1 format(格式说明) 其中:“格式说明”是由各种“格式编辑符”构成的。,格式的输出,二、格式说明符 主要介绍:I、F、E、X、纵向走纸、(撇号)、r(重复系数)、/(斜杠) I编辑符 作用:用于整型数据的输出。 一般形式: Iw Iw.m 其中:I整型输出;w字段宽度; m输出数据的最少数字位数。,格式的输出,例1: k=254 M=12 n=48 write(*, 100) k,m,n 100 Format (1x,i8,i6,i6.3) End 输出结果: 25412048,格式的输出,例2: i=300 j=1250 print 50,i,j 50 Format (1x,i6,i3) End 输出结果: 300* 注:format语句可以出现在program和function语句之后、end语句之前的任何位置。,格式的输出, F编辑符 作用:用于实数的小数形式输出。 一般形式: Fw.d 其中:F实数的小数形式输出; w字段宽度; d输出数据的小数位数,格式的输出,例: x=12.5 y=12.3457 z=-12.8467 print 100,x,y,z 100 Format (1x,f8.2,f10.3,f10.1) End 输出结果: 12.5012.346-12.8,格式的输出, E编辑符 作用:用于实数的指数形式输出。 一般形式: Ew.d 其中:E实数的指数形式输出; w字段宽度; d数字部分的小数位数。,格式的输出,例: a=246.0 b=0.0000025 write(*,100)a,b 100 Format (1x,e9.3,e9.3) End 输出结果: .246e+03 .250e-05 9列 9列,格式的输出, X编辑符 作用:用于输出空格。 一般形式: nX 其中:X输出空格; n输出空格数。,格式的输出,例: a=246.0 b=0.0000025 write(*,100)a,b 100 Format (1x,e9.3,3x,e9.3) End 输出结果: .246e+03 .250e-05 9列 9列,格式的输出, H编辑符 作用:用于输出字符常量。 一般形式: nH 其中:H输出字符常量; n输出字符个数。,格式的输出,例: x=12.5 y=12.3457 write(*,100) x,y 100 Format (1x,2hx=,f4.1,2x,2hy=,f6.3) End 输出结果: x=12.5y=12.346,格式的输出, (撇号编辑符) 作用:用于输出字符常量,即把撇号内的字符串原样照打。 例: i=140 j=2000 write(*,100)i,j 100 format(1x,i=,i3,j=,i4) end 输出结果: i=140j=2000,格式的输出,注:如果输出的字符中包含撇号,则用两个连续的撇号代表一个要输出的撇号。 例: write(*,100) 100 format(1x,Hes a student.) end 输出结果: Hes a student.,格式的输出, 纵向走纸编辑符 Fortran规定:将输出记录中的第一个字符作为纵向走纸控制符,这个字符不再被打印出来,而从输出记录的第二个字符开始输出。 记录中第一个打印字符与纵向走纸的关系: 空格为走纸一行; 0为走纸二行; 1为换页; +不走纸; 其它字符为按走纸一行处理,格式的输出,例1: integer x,y x=3250 y=405 write(*,100)x,y 100 Format (i4,3x,i3) End 输出结果: 250405 (即把3“吃”掉了),格式的输出,FORTRAN规定:输出记录中的第一个字符作为纵向走纸控制符。 如果不预先在输出记录的第一个字符处设一空格,则系统会将输出的第一个字符作为走纸控制符,使本来想打印的内容缺少一个字符。 所以,在format语句中一定要预设一个走纸控制符“1X”或。,格式的输出,例2: integer x,y x=3250 y=405 write(*,100)x,y 100 Format (i6,3x,i3) End 输出结果:,格式的输出, 重复系数r 在format语句中,如果出现几个(或几组)相同的格式编辑符,则可以利用重复系数而只写一个(或一组)编辑符。 r可重复使用的次数。 例1: format(1x,i10,i10,f8.3,f7.2,f7.2,f7.2) format(1x,2i10,f8.3,3f7.2),格式的输出,例2: format(1x,i5,f8.2,f8.2, i5,f8.2,f8.2) format(1x,2(i5,f8.2,f8.2) 斜杠编辑符“/” 作用:将输出转入下一行记录。,格式的输出,例1: i=246 j=35 x=12.3 y=173.5 write(*,100)i,x,j,y 100 Format (1x,i5,f7.1/1x,i5,f7.1) End 输出结果:,格式的输出,例2: i=246 j=35 x=12.3 y=173.5 write(*,100)i,x,j,y 100 Format (1x,i5,f7.1/1x,i5,f7.1/) End 输出结果:,格式的输出,其他格式说明符 可实可指-Gw.d 双精度-Dw.d 逻辑数据LW 字符型数据Aw、A,格式的输入,一、有格式的输入语句 一般形式: read(*,s1) s1 format(格式说明) 其中:“格式说明”是由各种“格式编辑符”构成。,格式的输入,例1: read(*,100)i,j 100 Format (i4,i5) End 键盘输入: 345456,格式的输入,例2: read(*,100)a,b,c 100 Format(f5.1,e12.2,f7.2) End 键盘输入: 15.72345.67e+04705.83,在print,write和read语句中包含格式说明,在格式输入输出时,也可以将format语句中的格式说明放到print、write和read语句中。 例1: print 100,k,y 100 format(i8,f7.2) print (i8,f7.2),k,y 注意写法:(),在print,write和read语句中包含格式说明,例2: write(*,100)k,y 100 format(i8,f7.2) write(*,(i8,f7.2) k,y 例3: read(*,100)k,y 100 format(i8,f7.2) read(*,(i8,f7.2)k,y,C语言的顺序结构,C语言概述 赋值语句 数据输入输出的概念及在C 语言中的实现 字符数据的输入输出 格式输入与输出,C语句概述,例 求园的面积 #DEFINE PI=3.1415926 main() float r,s; r = 20; s = r * r * PI; printf (“area=%f ”,s); ,area=1256.637,C语句可以分为以下5类:,1.控制语句,完成一定的控制功能. 2.函数调用语句,由一次函数调用加一个分号构成一个语句. 3.表达式语句. 4.空语句,只有一个分号的语句,它什么也不做. 5.用把一些语句包括起来成为复合语句,中最后一个语句中最后的分号不能忽略不写. * C语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求。,赋值语句,赋值表达式后面加上分号,构成赋值语句. 功能:将数据赋给变量。 如: x=3.1; a=d+ 123 + b/d; 程序中基本的命令行必须是一个语句,表达式不能单独构成语句. 例如: d+ 123 + b/d 是一个表达式 a =d+ 123 + b/d;是一个赋值语句,数据输入输出的概念及在C 语言中的实现,C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。,编写语言时,printf,scanf等不是关键字,只是函数的名字。,C语言库有一批“标准输入输出函数”,其中有:putchar, getchar, printf, scanf, puts, gets,在使用C语言库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。 考虑到printf,scanf函数使用频繁,系统允许在使用这两个函数时可不加#include命令。,字符数据的输入输出,putchar() 向终端输出一个字符。例如:putchar(c);,例4.1 #include “stdio.h” main() char a,b,c; a= B; b= O;c= Y; putchar(a);putchar(b);putchar(c); ,BOY,B O Y,putchar(a);putchar(n); putchar(b);putchar(n); putchar(c);putchar(n); 输出其它转义字符 putchar(101); 输出 A; putchar(); 输出单引号 putchar(015); 使输出回车,不换行,getchar函数(字符输入函数) 一般格式:getchar(),例4.2 #include “stdio.h” main() char c; c=getchar(); putchar(c); ,putchar(getchar(); 输出从键盘得到的值,但不赋给任何变量,a,格式输入与输出,printf函数 可以按规定格式向终端输出任意类型的数据,一般格式: printf(控制格式,输出列表),被输出的数据,可以 是常量、变量、表达式。,用双引号括起的转换控制字 符串,它包括两种信息:,格式说明, 由%开始。如:%d,%f,%c,普通字符,要输出的字符,12,123,12345,格式字符 (1)d格式符,用来输出十进制数。 %d 按整型的实际长度输出。 a=12, b=123, c=12345; printf(“%d,%d,%d”,a ,b ,c); 12,123,12345 %md 按给定长度m输出,数字不够长,左边补空格;数字长度大于m,按原长度输出。 printf(“%4d%4d%4d”,a ,b ,c);,(5) c格式符,用来输出一个字符。如: char c= a ; printf(“%c”, c); a,printf(“%3c”,c);,例4.4 main() char c= a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,c,c); ,a ,97 a ,97,CHINA,(6)s格式符,用来输出一个字符串。例如: %s:按实际长度输出 printf(“%s”,“CHINA”); CHINA %ms:当字符串长度小于m时,左边补空格。 printf(“%7s”, “CHINAn”); %-ms:当字符串长度小于m时,右边补空格 printf(“%-7s”, “CHINAn”); %m.ns 输出占m列,但只取字符串左端的n个, 并向右对齐。 %-m.ns m和n的含义同上,但向左对齐。若n大于m,取 m等于n.,例 main() printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”,“CHINA”,“CHINA”,“CHINA”); ,(7)f格式符,用来输出实数(单精度、双精度),以小数形式输出。 %f:不指定宽度,整数部分全部输出,输出6位小数。 单精度时,7位数字有效,双精度时,16位数字有效。,例 main() float x,y; x=111111.111; y=222222.222; printf(“%f”,x+y); ,例 main() double x,y; x=1111111111111.1111111111; y=2222222222222.2222222222; printf(“%f”,x+y); ,333333.328125,3333333333333.333010,%m.nf 整个数据占m位,其中小数占n位,向右对齐。 %-m.nf 意义同上,向左对齐 ma

温馨提示

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

评论

0/150

提交评论