1、三、顺序结构三、顺序结构主要内容主要内容nFORTRAN语言的顺序结构语言的顺序结构nC语言的顺序结构语言的顺序结构FORTRAN语言的顺序结构语言的顺序结构n赋值语句赋值语句n简单的输出语句简单的输出语句n简单的输入语句简单的输入语句n参数语句(参数语句(PARAMETER语句)语句)nEND语句、语句、STOP语句、语句、PAUSE语句语句n格式输出格式输出n格式输入格式输入赋值语句赋值语句n1 1、作用将一个确定的值赋给一个变量、作用将一个确定的值赋给一个变量一般格式:一般格式:V V=e e 变量变量 =表达式表达式 例:例:x=3.2x=3.2 Y=SQRT(x+5.0)/2.0 Y
2、=SQRT(x+5.0)/2.0说明:说明:1 1、“=”=”为赋值号为赋值号 其作用为:其作用为:x x 3.2 3.2 特殊:特殊:I=I+1I=I+1(计数器)计数器)2 2、左端只能是变量名、左端只能是变量名,如:如:x+y=5x+y=5是不合法的是不合法的 赋值语句赋值语句n2 2、类型转换问题、类型转换问题类型相同,直接赋值(类型相同,直接赋值(I=3I=3)类型不同,先计算表达式的值、后将结果类型类型不同,先计算表达式的值、后将结果类型转换为左端变量的类型转换为左端变量的类型n例:例:I=3.6I=3.6*5+1.55+1.5n X=X=(5+65+6)/(8-58-5)为避免出
3、现类型转换过程中的错误,应保证两为避免出现类型转换过程中的错误,应保证两侧类型一致。侧类型一致。简单输出语句简单输出语句n输出语句的作用:将内存的数据传送到显示器、输出语句的作用:将内存的数据传送到显示器、打印机或保存到磁盘指定区域。打印机或保存到磁盘指定区域。n输入输入/输出三要素:输出三要素:对象:哪些数据对象:哪些数据格式格式设备设备n输出语句的分类:输出语句的分类:格式输出格式输出表控格式输出(系统标准格式)表控格式输出(系统标准格式)无格式输出无格式输出表控输出语句表控输出语句n按计算机系统规定的格式输出按计算机系统规定的格式输出n系统自动为每种类型的数据规定了列数系统自动为每种类型
4、的数据规定了列数n一、表控输出格式一、表控输出格式n整数的整数的表控格式输出(机器不同表控格式输出(机器不同1010、1111、1313)n 若规定:每个整数占若规定:每个整数占1111列,数印右端,左补列,数印右端,左补空格空格 例:例:print print*,123123,-1128-1128 输出结果:输出结果:123123-1128-1128表控输出语句表控输出语句n实数的实数的表控格式输出表控格式输出n 若规定:每个实数占若规定:每个实数占1515列,数印右端,列,数印右端,左补空格左补空格,小数部分占小数部分占6 6列。列。n 例:例:print print*,15.415.4,
5、-321.45-321.45n 输出结果:输出结果:n 15.40000015.400000-321.450000-321.450000表控输出语句表控输出语句n当实数值的绝对值当实数值的绝对值10107 7或或1 1是时,按标准是时,按标准的指数形式输出。的指数形式输出。n共占共占1515列,指数列,指数4 4列,小数列,小数6 6列列n 例:例:print print*,-10000000.-10000000.,0.980.98n 输出结果:输出结果:n -1.000000E+07-1.000000E+079.800000E-019.800000E-01表控输出语句表控输出语句n二、表控格
6、式输出语句二、表控格式输出语句n 一般格式:一般格式:n print print,输出表列输出表列n write(write(,)输出表列输出表列nF77F77子集不提供子集不提供PRINTPRINT语句,作用相同语句,作用相同n 例例1 1:print print,56.8,125,56.8,125n 或或 write(write(,)56.8,125)56.8,125n 例例2 2:print print,a,b,c,a,b,cn 或或 write(write(,)a,b,c)a,b,c表控输出语句表控输出语句n例例3 3:x=12.5x=12.5n y=90.5 y=90.5n z=x+
7、y z=x+yn print print*,x,y,x,yn print print*,z=,z,z=,zn end endn 运行结果:运行结果:n 12.500000 90.50000012.500000 90.500000n Z=103.000000 Z=103.000000简单输入语句简单输入语句n输入语句的作用:输入语句的作用:将外部介质(键盘、磁盘)上将外部介质(键盘、磁盘)上的数据传送到内存变量指定的单元中。的数据传送到内存变量指定的单元中。n输入输入/输出三要素:输出三要素:对象:哪些数据对象:哪些数据格式格式设备设备n输入语句的分类:输入语句的分类:格式输入格式输入表控格式输
8、入(系统标准格式)表控格式输入(系统标准格式)无格式输入无格式输入表控输入语句表控输入语句n自由格式输入自由格式输入n语句:语句:read read,输入表列输入表列n read(read(,)输入表列输入表列n注意:注意:1 1、执行时,程序会停止,等待用户从键盘、执行时,程序会停止,等待用户从键盘 上输入上输入数据。数据。2 2、输入时,数据间以、输入时,数据间以“,”,”或空格间隔。或空格间隔。3 3、变量名称为输入表。、变量名称为输入表。4 4、输入的数据应和输入表的变量个数、类型,次序严、输入的数据应和输入表的变量个数、类型,次序严格地一一对应。格地一一对应。n例例1 1:read(
9、read(*,*)a,b,I,j)a,b,I,j输入:输入:108.6108.6,-37.8-37.8,5 5(回车)(回车)n-少一个数,则少一个数,则j j没有被赋值,程序停止等待没有被赋值,程序停止等待输入:输入:108.6108.6,-37.8-37.8,5 5,6 6,9 9(回车)(回车)n-多一个数,则输入的多一个数,则输入的9 9不起作用,程序正常不起作用,程序正常执行执行n例例2 2:read(read(*,*)a,b,I,j)a,b,I,j,c,k,l,pc,k,l,p输入:输入:25.825.8,-8.2-8.2(回车)(回车)5 5,8 8,2.7 2.7(回车)(回车
10、)2 2,6 6,6.9 6.9(回车)(回车)n-数据太多,可以分几个记录输入数据太多,可以分几个记录输入记录:以回车结束的一批输入记录:以回车结束的一批输入/输出数据输出数据n例例3 3:read(read(*,*)A,B,C,D,E,F,G)A,B,C,D,E,F,G输入:输入:7 7*3.53.5n-相同的数据可以用重复系数输入相同的数据可以用重复系数输入n例例4 4:read(read(*,*)A,B,C)A,B,Cn read(read(*,*)D,I,J)D,I,J输入:输入:2.32.3,-63.5-63.5(回车)(回车)6.46.4,91.0 91.0(回车)(回车)5 5
11、,8 8(回车)(回车)结果:结果:A=2.3A=2.3,B=-63.5B=-63.5,C=6.4C=6.4,D=5.0D=5.0,I=8I=8J J未被赋值未被赋值n-每个每个readread语句从一个新的记录开始读数语句从一个新的记录开始读数n例例5 5:read(read(*,*)A,B,C)A,B,Cn read(read(*,*)D,I,J)D,I,Jn write(write(*,*)A,B,C,D)A,B,C,Dn write(write(*,*)I,J)I,Jn end end输入:输入:2.32.3,63.563.5,6.4 6.4(回车)(回车)91.091.0,5 5,6
12、 6(回车)(回车)输出:输出:-2.300000-2.300000-63.500000-63.500000-6.400000-.-6.400000-.-91.00000091.000000-5-5-6-6n-每个每个writewrite语句也是从一个新的记录开始输语句也是从一个新的记录开始输出出参数语句(参数语句(parameterparameter语句)语句)n作用:将程序中经常用到的常数定义成一个作用:将程序中经常用到的常数定义成一个符号符号常量常量,其值不可改变。,其值不可改变。n语句:语句:parameter(pparameter(p1 1=c=c1 1,p,p2 2=c=c2 2,
13、p,pn n=c=cn n)n 其中:其中:p pn n符号常量;符号常量;c cn n常量常量n例:例:parameter(r=6.2,PI=3.1415926)n s=PI*r*2n L=2*PI*rn write(*,*)s,Ln endn注意:注意:n1 1、符号常量的命名规则与变量名相同、符号常量的命名规则与变量名相同,但它不但它不同于变量同于变量,它的值不改变它的值不改变,在程序中不能对它赋在程序中不能对它赋值。值。例:例:PI=5.6 PI=5.6 或或 read(read(*,*)r)rn2 2、符号变量也有类型、符号变量也有类型,也可用三种方法说明类也可用三种方法说明类型型n
14、3 3、参数语句是非执行语句、参数语句是非执行语句,也位于所有可执行也位于所有可执行语句的前面语句的前面,但位于类型说明语句后面。但位于类型说明语句后面。n4 4、一条语句可以定义多个符号常量。、一条语句可以定义多个符号常量。例如:例如:parameter(PI=3.14159,r=25,I=9)parameter(PI=3.14159,r=25,I=9)n5 5、优点:方便修改程序、优点:方便修改程序ENDEND,STOPSTOP,PAUSEPAUSE语句语句结束标志;有且仅有一条结束标志;有且仅有一条停止运行程序;用于调试程序停止运行程序;用于调试程序暂停执行;用于调试程序暂停执行;用于调
15、试程序程序举例程序举例n【例【例3】求三角形面积求三角形面积n公式公式:S=S(S-A)(S-B)(S-C),S=S=S(S-A)(S-B)(S-C),S=(A+B+CA+B+C)/2/2源程序源程序:read(read(*,*)A,B,C)A,B,C S=(A+B+C)/2 S=(A+B+C)/2 area=SQRT(S area=SQRT(S*(S-A)(S-A)*(S-B)(S-B)*(S-C)(S-C)write(write(*,*)A=,A,B=,B,C=,C)A=,A,B=,B,C=,C write(write(*,*)the area is,area)the area is,ar
16、ea end endn例:例:求五边形面积求五边形面积源程序:源程序: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 endn例:编程将十进制数例:编程将十进制数407转换成八进制数转换成八进制数源程序:源程序:m=407 i1=mod(
17、m,8)i2=mod(m/8,8)i3=mod(m/8/8,8)write(*,*)i3,i2,i1 ;按高位到低位按高位到低位顺序顺序 end格式的输出格式的输出n一、有格式的输出语句一、有格式的输出语句n 一般形式:一般形式:n write(write(*,s1),s1)n s1 format(s1 format(格式说明)格式说明)n print s1,print s1,n s1 format(s1 format(格式说明)格式说明)n其中:其中:“格式说明格式说明”是由各种是由各种“格式编辑符格式编辑符”构构成的。成的。格式的输出格式的输出n二、格式说明符二、格式说明符n 主要介绍:主
18、要介绍:I I、F F、E E、X X、纵向走纸、纵向走纸、(撇(撇号)、号)、r r(重复系数)、(重复系数)、/(斜杠)(斜杠)n I I编辑符编辑符n 作用:用于整型数据的输出。作用:用于整型数据的输出。n 一般形式:一般形式:n I Iw wn I Iw.mw.mn 其中:其中:I I整型输出整型输出;w;w字段宽度;字段宽度;n m m输出数据的最少数字位数。输出数据的最少数字位数。格式的输出格式的输出n例例1 1:k=254k=254n M=12 M=12n n=48 n=48n write(write(*,100)k,m,n,100)k,m,nn 100 Format(1x,i8
19、,i6,i6.3)100 Format(1x,i8,i6,i6.3)n End Endn 输出结果:输出结果:n 2542541212048048格式的输出格式的输出n例例2 2:i=300i=300n j=1250 j=1250n print 50,i,j print 50,i,jn 50 Format(1x,i6,i3)50 Format(1x,i6,i3)n End Endn 输出结果:输出结果:n 300300*n 注:注:formatformat语句可以出现在语句可以出现在programprogram和和functionfunction语句之后、语句之后、endend语句之前的任何位
20、置。语句之前的任何位置。格式的输出格式的输出n F F编辑符编辑符n 作用:用于实数的小数形式输出。作用:用于实数的小数形式输出。n 一般形式:一般形式:n F Fw.dw.dn 其中:其中:F F实数的小数形式输出实数的小数形式输出;n w w字段宽度;字段宽度;n d d输出数据的小数位数输出数据的小数位数格式的输出格式的输出n例:例:x=12.5x=12.5n y=12.3457 y=12.3457n z=-12.8467 z=-12.8467n print 100,x,y,z print 100,x,y,zn 100 Format(1x,f8.2,f10.3,f10.1)100 For
21、mat(1x,f8.2,f10.3,f10.1)n End Endn 输出结果:输出结果:n 12.5012.5012.34612.346-12.8-12.8格式的输出格式的输出n E E编辑符编辑符n 作用:用于实数的指数形式输出。作用:用于实数的指数形式输出。n 一般形式:一般形式:n E Ew.dw.dn 其中:其中:E E实数的指数形式输出实数的指数形式输出;n w w字段宽度;字段宽度;n d d数字部分的小数位数。数字部分的小数位数。格式的输出格式的输出n例:例:a=246.0a=246.0n b=0.0000025 b=0.0000025n write(write(*,100)a
22、,b,100)a,bn 100 Format(1x,e9.3,e9.3)100 Format(1x,e9.3,e9.3)n End Endn 输出结果:输出结果:n .246e+03.250e-05.246e+03.250e-05n 9列列 9列列格式的输出格式的输出n X X编辑符编辑符n 作用:用于输出空格。作用:用于输出空格。n 一般形式:一般形式:n nXnXn 其中:其中:X X输出空格输出空格;n n n输出空格数。输出空格数。格式的输出格式的输出n例:例:a=246.0a=246.0n b=0.0000025 b=0.0000025n write(write(*,100)a,b,
23、100)a,bn 100 Format(1x,e9.3,3x,e9.3)100 Format(1x,e9.3,3x,e9.3)n End Endn 输出结果:输出结果:n .246e+03.246e+03 .250e-05.250e-05n 9列列 9列列格式的输出格式的输出n H H编辑符编辑符n 作用:用于输出字符常量。作用:用于输出字符常量。n 一般形式:一般形式:n nHnHn 其中:其中:H H输出字符常量输出字符常量;n n n输出字符个数。输出字符个数。格式的输出格式的输出n例:例:x=12.5x=12.5n y=12.3457 y=12.3457n write(write(*,
24、100)x,y,100)x,yn100 Format(1x,2hx=,f4.1,2x,2hy=,f6.3)100 Format(1x,2hx=,f4.1,2x,2hy=,f6.3)n End Endn 输出结果:输出结果:n x=12.5x=12.5y=12.346y=12.346格式的输出格式的输出n (撇号编辑符(撇号编辑符)n 作用:用于输出字符常量,即把撇号内的字符作用:用于输出字符常量,即把撇号内的字符串原样照打。串原样照打。n例:例:i=140i=140n j=2000 j=2000n write(write(*,100)i,j,100)i,jn 100 format(1x,i=,
25、i3,100 format(1x,i=,i3,j=,i4)j=,i4)n end endn 输出结果:输出结果:n i=140i=140j=2000j=2000格式的输出格式的输出n注:如果输出的字符中包含撇号,则用两个连续注:如果输出的字符中包含撇号,则用两个连续的撇号代表一个要输出的撇号。的撇号代表一个要输出的撇号。n例:例:n write(write(*,100),100)n 100 format(1x,Hes a student.)100 format(1x,Hes a student.)n end endn输出结果:输出结果:n Hes a student.Hes a student
26、.格式的输出格式的输出n 纵向走纸编辑符纵向走纸编辑符n FortranFortran规定:将输出记录中的第一个字符作规定:将输出记录中的第一个字符作为纵向走纸控制符,这个字符不再被打印出来,为纵向走纸控制符,这个字符不再被打印出来,而从输出记录的第二个字符开始输出。而从输出记录的第二个字符开始输出。n 记录中第一个打印字符与纵向走纸的关系:记录中第一个打印字符与纵向走纸的关系:空格为走纸一行;空格为走纸一行;0为走纸二行;为走纸二行;1为换页;为换页;+不走纸;不走纸;其它字符为按走纸一行处理其它字符为按走纸一行处理格式的输出格式的输出n例例1 1:integer x,yinteger x,
27、yn x=3250 x=3250n y=405 y=405n write(write(*,100)x,y,100)x,yn 100 Format(i4,3x,i3)100 Format(i4,3x,i3)n End Endn 输出结果:输出结果:n 250250405 405 (即把(即把3“3“吃吃”掉了)掉了)格式的输出格式的输出nFORTRAN规定:输出记录中的第一个字符规定:输出记录中的第一个字符作为纵向走纸控制符。作为纵向走纸控制符。n如果不预先在输出记录的第一个字符处设如果不预先在输出记录的第一个字符处设一空格,则系统会将输出的第一个字符作一空格,则系统会将输出的第一个字符作为走纸
28、控制符,使本来想打印的内容缺少为走纸控制符,使本来想打印的内容缺少一个字符。一个字符。n所以,在所以,在formatformat语句中一定要预设一个走语句中一定要预设一个走纸控制符纸控制符“1X”1X”或或。格式的输出格式的输出n例例2 2:integer x,yinteger x,yn x=3250 x=3250n y=405 y=405n write(write(*,100)x,y,100)x,yn 100 Format(i6,3x,i3)100 Format(i6,3x,i3)n End Endn 输出结果:输出结果:格式的输出格式的输出n 重复系数重复系数r rn 在在formatfo
29、rmat语句中,如果出现几个(或几组)语句中,如果出现几个(或几组)相同的格式编辑符,则可以利用重复系数而只写相同的格式编辑符,则可以利用重复系数而只写一个(或一组)编辑符。一个(或一组)编辑符。n r r可重复使用的次数。可重复使用的次数。n 例例1 1:n format(1x,i10,i10,f8.3,f7.2,f7.2,f7.2)format(1x,i10,i10,f8.3,f7.2,f7.2,f7.2)n n format(1x,2i10,f8.3,3f7.2)format(1x,2i10,f8.3,3f7.2)格式的输出格式的输出n 例例2 2:n format(1x,format(
30、1x,i5i5,f8.2,f8.2f8.2,f8.2,i5i5,f8.2,f8.2f8.2,f8.2)n n format(1x,format(1x,2(i52(i5,f8.2,f8.2)f8.2,f8.2)n 斜杠编辑符斜杠编辑符“/”/”n 作用:将输出转入下一行记录。作用:将输出转入下一行记录。格式的输出格式的输出n例例1 1:i=246i=246n j=35 j=35n x=12.3 x=12.3n y=173.5 y=173.5n write(write(*,100)i,x,j,y,100)i,x,j,yn 100 Format(1x,i5,f7.1/1x,i5,f7.1)100 F
31、ormat(1x,i5,f7.1/1x,i5,f7.1)n End Endn输出结果:输出结果:格式的输出格式的输出n例例2 2:i=246i=246n j=35 j=35n x=12.3 x=12.3n y=173.5 y=173.5n write(write(*,100)i,x,j,y,100)i,x,j,yn 100 Format(1x,i5,f7.1/1x,i5,f7.1/)100 Format(1x,i5,f7.1/1x,i5,f7.1/)n End Endn输出结果:输出结果:格式的输出格式的输出n其他格式说明符其他格式说明符可实可指可实可指-Gw.d-Gw.d双精度双精度-Dw.
32、d-Dw.d逻辑数据逻辑数据LWLW字符型数据字符型数据AwAw、A A格式的输入格式的输入n一、有格式的输入语句一、有格式的输入语句n 一般形式:一般形式:n read(read(*,s1),s1)n s1 format(s1 format(格式说明)格式说明)n 其中:其中:“格式说明格式说明”是由各种是由各种“格式编格式编辑符辑符”构成。构成。格式的输入格式的输入n例例1 1:n read(read(*,100)i,j,100)i,jn 100 Format(i4,i5)100 Format(i4,i5)n End Endn键盘输入:键盘输入:n 345345456456格式的输入格式的
33、输入n例例2 2:n read(read(*,100)a,b,c,100)a,b,cn 100 Format(f5.1,e12.2,f7.2)100 Format(f5.1,e12.2,f7.2)n End Endn键盘输入:键盘输入:n 15.715.72345.67e+042345.67e+04705.83705.83在在print,writeprint,write和和readread语句中包语句中包含格式说明含格式说明n在格式输入输出时在格式输入输出时,也可以将也可以将formatformat语句中语句中的格式说明放到的格式说明放到printprint、writewrite和和readr
34、ead语句语句中。中。n 例例1 1:print 100,k,yprint 100,k,yn 100 format(i8,f7.2)100 format(i8,f7.2)n n print(i8,f7.2),k,y print(i8,f7.2),k,yn注意写法:注意写法:()在在print,writeprint,write和和readread语句中包语句中包含格式说明含格式说明n例例2 2:write(write(*,100)k,y,100)k,yn 100 format(i8,f7.2)100 format(i8,f7.2)n n write(write(*,(i8,f7.2)k,y,(i
35、8,f7.2)k,y n例例3 3:read(read(*,100)k,y,100)k,yn 100 format(i8,f7.2)100 format(i8,f7.2)n n read(read(*,(i8,f7.2)k,y,(i8,f7.2)k,ylC语言概述l赋值语句l数据输入输出的概念及在C 语言中的实现l字符数据的输入输出l格式输入与输出 例例 求园的面积求园的面积#DEFINE PI=3.1415926#DEFINE PI=3.1415926main()main()float r,sfloat r,s;r=20 r=20;s=r s=r*r r*PI PI;printf print
36、f(“area=%f”,s)(“area=%f”,s);area=1256.637C C程序程序源程序文件源程序文件1 1源程序文件源程序文件I I源程序文件源程序文件n n预处理命令预处理命令函数函数1 1函数函数n n说明部分说明部分执行部分执行部分(语句)(语句)语句是计算语句是计算机执行的最机执行的最小单位小单位1.控制语句控制语句,完成一定的控制功能完成一定的控制功能.2.函数调用语句函数调用语句,由一次函数调用加一个分号构成由一次函数调用加一个分号构成一个语句一个语句.3.表达式语句表达式语句.4.空语句空语句,只有一个分号的语句只有一个分号的语句,它什么也不做它什么也不做.5.用
37、用把一些语句包括起来成为复合语句把一些语句包括起来成为复合语句,中最后中最后一个语句中最后的分号不能忽略不写一个语句中最后的分号不能忽略不写.*C语言允许一行写几个语句,也允许一个语句语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求。拆开写在几行上,书写格式无固定要求。l赋值表达式后面加上分号赋值表达式后面加上分号,构成赋值语句构成赋值语句.l功能功能:将数据赋给变量。将数据赋给变量。l如如:x=3.1;a=d+123+b/d;l程序中基本的命令行必须是一个语句程序中基本的命令行必须是一个语句,表达式表达式不能单独构成语句不能单独构成语句.l例如:例如:ld+123+b
38、/d 是一个表达式是一个表达式la=d+123+b/d;是一个赋值语句;是一个赋值语句lC语言本身不提供输入输出语句,输入语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。和输出操作是由函数来实现的。编写语言时,printf,scanf等不是关键字,只是函数的名字。C语言库有一批“标准输入输出函数”,其中有:putchar,getchar,printf,scanf,puts,getsl在使用在使用C语言库函数时,要用预编译命语言库函数时,要用预编译命令令“#include”将有关的将有关的“头文件头文件”包包括到用户源文件中。括到用户源文件中。l考虑到考虑到printf,scanf函
39、数使用频繁,系函数使用频繁,系统允许在使用这两个函数时可不加统允许在使用这两个函数时可不加#include命令。命令。lputchar()向终端输出一个字符。例如:向终端输出一个字符。例如:putchar(c);例例4.14.1#include“stdio.h#include“stdio.h”main()main()char a,b,c;char a,b,c;a=B;b=O;c=Y;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c putchar(a);putchar(b);putchar(c););BOYBOYlputchar(a);putchar(n)
40、;lputchar(b);putchar(n);lputchar(c);putchar(n);l输出其它转义字符输出其它转义字符lputchar(101);输出输出 A;lputchar();输出单引号输出单引号 lputchar(015);使输出回车,不换行使输出回车,不换行lgetchar函数(字符输入函数)函数(字符输入函数)一般格式:一般格式:getchar()例例4.2 4.2#include“stdio.h#include“stdio.h”main()main()char c;char c;c=getchar c=getchar();();putchar(c putchar(c);
41、);putchar(getcharputchar(getchar();();输出从键盘得到的值,但不赋给任何变量输出从键盘得到的值,但不赋给任何变量alprintf函数函数l可以按规定格式向终端输出任意类型的数据可以按规定格式向终端输出任意类型的数据一般格式一般格式:printf:printf(控制格式,输出列表)(控制格式,输出列表)被输出的数据,可以被输出的数据,可以是常量、变量、表达式是常量、变量、表达式。用双引号括起的转换控制字用双引号括起的转换控制字符串,它包括两种信息符串,它包括两种信息:格式说明,格式说明,由由%开始。如:开始。如:%d,%f,%c%d,%f,%c普通字符,要输出
42、的字符普通字符,要输出的字符printf(“%d%d”,a,b)格式说明格式说明 输出列表输出列表printf(“a=%d b=%d”,a,b);格式说明格式说明 输出列表输出列表 12 123 12345l格式字符格式字符(1)d格式符,用来输出十进制数。格式符,用来输出十进制数。%d 按整型的实际长度输出。按整型的实际长度输出。a=12,b=123,c=12345;printf(“%d,%d,%d”,a,b,c);12,123,12345%md 按给定长度按给定长度m输出,数字不够长,左边补输出,数字不够长,左边补空格;数字长度大于空格;数字长度大于m,按原长度输出。,按原长度输出。pri
43、ntf(“%4d%4d%4d”,a,b,c);(5)c格式符,用来输出一个字符。如:格式符,用来输出一个字符。如:char c=a;printf(“%c”,c);aprintf(“%3c”,c);a 例例4.44.4 main()main()char c=a;int char c=a;int i=97;i=97;printf(“%c,%dn”,c,c printf(“%c,%dn”,c,c););printf(“%c,%dn”,c,c printf(“%c,%dn”,c,c););a,97a,97a,97a,97CHINACHINA(6)s格式符,用来输出一个字符串。例如:格式符,用来输出一个
44、字符串。例如:%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.CHI CHI CHINACHINA CH
45、 CHCHINCHINl例例lmain()l printf(“%3s,%7.2s,%.4s,%-5.3sn”,l “CHINA”,“CHINA”,“CHINA”,“CHINA”);l(7)f格式符,用来输出实数(单精度、双精度),格式符,用来输出实数(单精度、双精度),以小数形式输出。以小数形式输出。%f:不指定宽度,整数部分全部输出,输出不指定宽度,整数部分全部输出,输出6位小数。位小数。单精度时,单精度时,7位数字有效,双精度时,位数字有效,双精度时,16位数字有效。位数字有效。例例 main()main()float x,y;float x,y;x=111111.111;x=111111
46、.111;y=222222.222;y=222222.222;printf(“%f”,x+y printf(“%f”,x+y););例例 main()main()double x,y;double x,y;x=1111111111111.1111111111;x=1111111111111.1111111111;y=2222222222222.2222222222;y=2222222222222.2222222222;printf(“%f”,x+y printf(“%f”,x+y););333333.3333333.328125281253333333333333.33333333333333
47、33.333010010%m.nf 整个数据占整个数据占m位,其中小数占位,其中小数占n位,向右位,向右对齐。对齐。%-m.nf 意义同上,向左对齐意义同上,向左对齐 main()float f=123.456;printf(“%f%10f%10.2f%0.2f%-10.2fn”,f,f,f,f,f);123.455994123.456001 123.46123.46123.46 例例 main()main()int int a,b,c;a,b,c;scanf(“%d%d%d”,scanf(“%d%d%d”,&a,a,&b,b,&c c););printf(“%d,%d,%d”,a print
48、f(“%d,%d,%d”,a,b,c);,b,c);3 4 53 4 53 34 5 4 5 lscanf 格式输入函数格式输入函数 一般格式:一般格式:scanf(格式控制,地址列表格式控制,地址列表)&是地址符,表示是地址符,表示a,b,c三个变量在内存中三个变量在内存中的地址的地址.连续输入多个数字时,连续输入多个数字时,空格空格、回回车车和和tab键键均可作为分割符均可作为分割符(123 a,456 b)(123 a,456 b)l格式说明格式说明scanf(“%3d%3d”,&a,&b);输入输入123456注注:输入数据要与控制格式相符合输入数据要与控制格式相符合 如如:scanf
49、(“%d,%d”,&a,&b);正确的输入为:正确的输入为:4,5不正确的输为:不正确的输为:4_5 scanf(“a=%d,b=%d”,&a,&b);正确的输入:正确的输入:a=4,b=5 不正确的输入:不正确的输入:4_5 和和 4,5 scanf(“%d:%d”,&a,&b);正确的输入为:正确的输入为:4:5不正确的输为:不正确的输为:4_5 或或 4,5可以指定数据列数可以指定数据列数不能规定精度不能规定精度经常犯的错误经常犯的错误scanf(“%d%d”n”,&a,&b)l顺序结构:按语句排列的先后顺序执行,顺序结构:按语句排列的先后顺序执行,写在前面的语句先执行。写在前面的语句先
50、执行。l当计算需要引用一个变量时,该变量一当计算需要引用一个变量时,该变量一定要事先定义、赋值,然后才能出现在定要事先定义、赋值,然后才能出现在表达式中表达式中.A A B B 传统的流程图A ABN-S图l例例 输入三角形的边长,求三角形的面积。输入三角形的边长,求三角形的面积。area=s*(s-a)*(s-b)*(s-c)s=(a+b+c)/2#include“math.h”main()float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“a=
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。