带格式的输出语句及输入语句
pascal基础(1)很好

第一课初识Pascal语言第二课赋值语句、输出语句第三课带格式的输出语句及输入语句第四课简单的分支结构程序设计第五课if嵌套与case语句第六课for循环语句第七课WHILE循环与REPEAT第八课一维数组第九课多维数组第十课字符与字符串处理第十一课枚举、子界、集合及记录类型第十二课过程与函数第十三章动态数据类型第十四课文件第一课初识Pascal语言一、Pascal 语言概述二、Pascal 语言的特点三、Pascal语言程序的基本结构四、Turbo Pascal语言系统的使用信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力。
选手首先应针对竞赛中题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后要写出高级语言程序,上机调试通过。
程序设计是信息学奥林匹克竞赛的基本功,在青少年朋友参与竞赛活动的第一步必须掌握一门高级语言及其程序设计方法。
一、Pascal 语言概述PASCAL语言也是一种算法语言,它是瑞士苏黎世联邦工业大学的N.沃思(Niklaus Wirth)教授于1968年设计完成的,1971年正式发表。
1975年,对PASCAL语言进行了修改,作为"标准PASCAL语言"。
PASCAL语言是在ALGOL 60的基础上发展而成的。
它是一种结构化的程序设计语言,可以用来编写应用程序。
它又是一种系统程序设计语言,可以用来编写顺序型的系统软件(如编译程序)。
它的功能强、编译程序简单,是70年代影响最大一种算法语言。
二、Pascal 语言的特点从使用者的角度来看,PASCAL语言有以下几个主要的特点:⒈它是结构化的语言。
PASCAL语言提供了直接实现三种基本结构的语句以及定义"过程"和"函数"(子程序)的功能。
可以方便地书写出结构化程序。
在编写程序时可以完全不使用GOTO语句和标号。
这就易于保证程序的正确性和易读性。
关于C语言的“输入输出”内容的详细介绍资料

注意事项
输入的数据多于数据项时,多于的数据自动作废。
#include<stdio.h> void main() {
int x,y; scanf("%2d%3d",&x,&y); printf("%d\n%d\n",x,y); }
输入:12345678 得到:
* 什么意思?
x,X
十六进制无符号整数
o
八进制无符号整数
u
不带符号十进制整数
c
单一字符
s
字符串
e,E
指数形式浮点小数
f
小数形式浮点小数
g
e和f中较短一种
%% 百分号本身
int a=567;printf ( “%d”,a); int a=255;printf(“%x”,a); int a=65;printf(“%o”,a); int a=567;printf(“%u”,a); char a=65;printf(“%c”,a); printf(“%s”,“ABC”); float a=567.789;printf(“%e”,a); float a=567.789;printf(“%f”,a); float a=567.789;printf(“%g”,a); printf(“%%”);
输入项不能确定小数位,输出可以有
#include<stdio.h> void main() {
int x; float y; scanf("%d%f",&x,&y); printf("%d\n%.2f\n",x,y); }
输入:123.456 得到:
1_2_1输入语句、输出语句和赋值语句

课时小结:
(1)、赋值语句中的“=”的作用及应用 (2)、编程的一般步骤:先写算法,再进 行编程。
我们要养成良好的习惯,也有助于数学逻辑 思维的形成。
课时小结:
1、本节介绍了输入语句和输出语句 的结构特点及联系。掌握并应用输入 语句,输出语句编写一些简单的程序 解决数学问题。
X=4,Y=4
END
③:下面的程序运行后,a,b,c各等于多少?
a=3 b=-5 c=8
a=b b=c c=a
a=-5,b=8,c=-5
PRINT a,b,c
END
例2.交换两个变量A和B的值,并输出交换前后的值。
INPUT A INPUT B PRINT A,B x=A A=B
B=x PRINT A,B END
(1)输入语句: 一般格式是:
INPUT “提示内容”;变量
INPUT “x=” ;x
注意(1)“提示内容”与变量之间必须用分号“;”隔开。 (2)提示的内容要用双引号。
(3)提示的内容,双引号,分号也能够不写。 (4)从键盘输入的数据只能是常量(不包括符号常量), 不能是表达式(包括变量和函数)
思考:若把前三步去掉,则运行后显示的结果是什么呢?
(3)用PRINT语句可以输出表达式的值。 如: PRINT 3+5/2
说明:PRINT语句具有计算和输出的双重功能,遇到 表达式时,它先计算,后输出。
想一想:①用PRINT语句可以输出多个表达式的值吗? 如: PRINT 2+3,5﹡6,8/2
②下面的PRINT语句可以这样写吗? 如: PRINT x=3﹡5
算法的三种基本逻辑结构:顺序结构,条件结构和循环结构。
高中数学输入语句、输出语句和赋值语句

1.2 基本算法语句1.2.1 输入语句、输出语句和赋值语句【知识提炼】输入语句、输出语句和赋值语句的格式与功能名称输入语句输出语句赋值语句格式INPUT“提示内容”;___________“提示内容”;_______变量=_______变量PRINT表达式表达式名称输入语句输出语句赋值语句功能把程序执行时新输入的值赋给_____在计算机屏幕上输出_____、_____的值和_____信息将表达式所代表的值赋给变量.一般先计算“=”___________的值,然后把这个值赋给“=”_____的变量举例INPUT xINPUT“a=”;aPRINT yPRINT“y=”;ypi=3.14i=i+1变量常量变量系统右边表达式左边【即时小测】1.思考下列问题:(1)输入语句和赋值语句都可以给变量赋值,二者有何不同?提示:输入语句可使初始值与程序分开,利用输入语句改变初始数据时,程序不变,而赋值语句是程序的一部分,输入语句可对多个变量赋值,赋值语句只能给一个变量赋值.(2)程序中如果连续多次对变量赋值,那么这个变量的值最后是多少?提示:变量的值总是最后一次赋给它的值,例如:x=2,x=x+1,x=5执行完每个语句时,x的值依次为2,3,5,而执行完整个程序后,x 的值为5.2.下列输入语句正确的是 ( )A.INPUT XB.INPUT X+3C.INPUT “学生身高”D.INPUT X=3【解析】选A.“提示内容”及后面的分号可省略,直接输入;B错,X+3是代数式,不是变量;C错,只有“提示内容”而没有变量;D错,X=3是等式而不是变量.3.下列给出的输入语句中,①INPUT a;b;c②INPUT x=3③INPUT a,b,c④INPUT“a=,b=”,a,b⑤INPUT“a=,b=”a,b.正确的选项是 ( )A.①②⑤B.③C.②③D.③④⑤【解析】选B.判断一个输入语句正确与否,关键是要理解输入语句的格式:INPUT“提示内容”;变量,另外,还要注意一些细节部分.故选③.4.下列给出的输出语句正确的是 .①PRINT A=4 ②PRINT“你的姓名”XM ③PRINT a,b,c④PRINT 20,3﹡2 ⑤PRINT S【解析】结合输出语句格式,对照说明内容,比较可得结论.可知①中有赋值号“=”是不正确的,②中双引号与XM间要加分号“;”.答案:③④⑤5.下列给出的赋值语句正确的是 .①3=B ②x+y=0 ③A=B=-2 ④T=T﹡T【解析】根据赋值语句的格式可知,赋值号左侧为单个变量,右侧为表达式(赋值语句有运算功能),故填④.答案:④【知识探究】知识点1 输入语句与输出语句观察如图所示内容,回答下列问题:问题1:输入语句的作用是什么?问题2:输入语句、输出语句应注意哪些问题?【总结提升】1.对输入语句的两点说明(1)INPUT语句又称“键盘输入语句”,当计算机执行到该语句时,暂停并等候用户输入程序运行需要的数据.此时,用户只需把数据由键盘输入,然后回车,程序将继续运行.(2)“提示内容”的作用是在程序执行时提示用户将要输入的是什么样的数据.如:INPUT“语文,数学,外语成绩=”;a,b,c.“提示内容”及后面的“;”可省略,直接输入,如:INPUT a,b,c.2.对输出语句的三点说明(1)PRINT语句又称“打印语句”,将结果在屏幕上显示出来.(2)“提示内容”提示用户输出的是什么样的信息.如:PRINT“该学生的总分=”;S(3)具有计算功能.可以输出常量、变量的值和系统信息.如:PRINT 12/3PRINT APRINT 5PRINT “I am a student!”3.输入语句、输出语句应注意的问题(1)输入语句:①“提示内容”必须加双引号,提示内容原样在计算机屏幕上显示,提示内容与变量之间用“;”隔开;②一个输入语句可以含有多个变量,中间用“,”隔开.(2)输出语句:①“提示内容”必须加双引号,提示内容原样输出;②输出语句可以一次完成输出多个表达式的功能,不同表达式之间用“,”隔开;③计算机计算表达式的值再输出,即输出语句有计算功能.④用来分隔提示内容及表达式的引号、分号等不会输出.知识点2 赋值语句观察如图所示内容,回答下列问题:问题1:赋值语句中的“=”与“等号”意思一样吗?问题2:赋值语句常用哪些形式?【总结提升】1.对赋值语句的五点说明(1)在代数中A=B与B=A是等效的两个等式,而在赋值语句中则是两个不同的赋值过程,如A=B是将B的值赋给变量A,而B=A是将A的值赋给变量B.(2)“=”右边可以是常量、变量或算式,如X=6,A=B,当表达式为一算式时,如C=X+Y,是指先计算X+Y的值,再把该值赋给C,所以赋值语句具有计算功能.(3)“=”左边必须是变量,而不能是表达式、常量.如:15=a,x+y=c 都是错误的.(4)一个语句只能给一个变量赋值,不能对几个变量连续赋值,但可以辗转赋值,如A=B=10是不正确的,但可以写成:A=10,B=A,赋值后,A的值是10,B的值也是10.(5)可给一个变量多次赋值,但只保留最后一次所赋的值.如:A=5,B=3,A=A+B,执行后A的值为8.2.赋值语句的三种常用形式(1)赋给变量常数值,如i=1,这个式子表示的是将“1”这个值赋给“i”.(2)赋给变量其他变量或表达式的值,如a=b这个式子表示的是将“b”的值赋给“a”.(3)将含有变量自身的表达式赋给变量,如i=i+1,这个式子表示的是将“i+1”的数值赋给“i”,即表示“i”的值自身加1.【知识拓展】利用赋值语句交换两个变量的值在算法中经常需要将两个变量的值互换,这时可通过赋值语句实现,但要引进第三个变量.例如,要将变量a与b的值互换,可通过以下三个赋值语句实现:c=bb=aa=c【题型探究】类型一 输入语句和输出语句【典例】1.下列给出的输入、输出语句正确的是 ( )①输入语句INPUT a;b;c;②输入语句INPUT x=3;③输出语句PRINT A=4;④输出语句PRINT 20,3﹡2.A.①②B.②③C.③④D.④2.(2015·包头高一检测)下列程序若输出的结果为3,则输入的x值可能是 ( )INPUT“x=”;xy=x﹡x+2﹡xPRINT yENDA.1B.-3C.-1D.1或-33.(2015·太原高一检测)利用输入语句可以给多个变量赋值,下面能实现这一功能的语句是 ( )A.INPUT“A,B,C”a,b,cB.INPUT“A,B,C”;a,b,cC.INPUT a,b,c;“A,B,C”D. PRINT“A,B,C”;a,b,c【解题探究】1.典例1中输入语句有怎样的格式?“提示内容”与变量之间用什么符号隔开?提示:输入语句的格式是:INPUT“提示内容”;变量.其作用是输入信息,提示内容与变量之间用“;”隔开.2.典例2中由输出的结果为3,可得到怎样的等式?提示:因为输出的结果为3,由此可得x2+2x=3.3.对于输入语句,提示内容与输入内容之间要用什么符号连接?两者有何顺序?提示:提示内容与输入内容之间要用“;”隔开,提示内容在前,输入内容在后.【解析】1.选D.①错,INPUT语句可以给多个变量赋值,变量之间用“,”隔开;②错,INPUT语句中不能是表达式;③错,PRINT语句中不用赋值号“=”;④对,PRINT语句可以输出常量、表达式的值.2.选D.根据条件可知,x2+2x=3,解得x=1或-3,所以答案为D.3.选B.提示内容与输入内容之间要用“;”隔开,故A错;提示内容在前,输入内容在后,故C错;输入语句用“INPUT”而非“PRINT”,故D错.【方法技巧】解决输入语句和输出语句要明确的三个问题(1)输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能),若输入多个数,各数之间用“,”隔开. (2)计算机执行到输入语句时,暂停,等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续进行,“提示内容”及其后的“;”可省略.(3)输出语句可以输出常数,变量或表达式的值(输出语句有计算功能)或字符,程序中引号内的部分将原始呈现.【变式训练】下列输出语句书写不正确的是 ( )A.PRINT SB.PRINT S=4C.PRINT “S=”;SD.PRINT (a+b+c)/3【解析】选B.由输出语句的格式及功能知A,C,D正确,不能直接输出S=4,故B不正确.类型二 赋值语句及相关问题【典例】1.下列赋值语句正确的是 ( )A.a+b+c=1B.2=0C.2a=b=1D.n=n+12.(2015·淄博高一检测)下列算法:①z=x;②x=y;③y=z;④输出x,y,关于算法的作用,叙述正确的是 ( )A.交换了原来的x,yB.让x与y相等C.变量z与x,y相等D.x,y仍是原来的值3.(2015·邢台高一检测)阅读下列程序,并指出当a=3,b=-5时的计算结果:a= ,b= .INPUT“a,b=”;a,ba=a+bb=a-ba=(a+b)/2b=(a-b)/2PRINT“a,b=”;a,bEND【解题探究】1.赋值语句中的“=”与数学中的“=”意义相同吗?提示:意义不同.赋值语句中的“=”的右边可以是常量、变量或算式,而“=”的左边必须是变量,而不是表达式.2.典例2中利用赋值语句如何交换两个变量?提示:通过三个赋值语句和一个中间变量来实现.3.典例3中应特别注意什么问题?提示:要注意“=”是赋值号,而非原来的等号,其作用是将它右边的确定值赋给左边的变量,变量的取值只与最后一次赋值有关.【解析】1.选D.对于A,赋值号左边不能为表达式;对于B,赋值号左边只能是变量;对于C,不能给多个变量同时赋值.2.选A.本算法利用了中间变量z,使x,y的值进行了互换,故选A.3.因为a=3,b=-5,所以a=a+b=3-5=-2,b=a-b=-2-(-5)=3,a=(-2+3)/2=答案: 【延伸探究】1.(改变问法)若本题3条件不变,将程序变为INPUT“a,b=”;a,ba=a-bb=a+ba=(a+b)/2b=(a-b)/2PRINT“a,b=”;a,bEND则a= ,b= .【解析】因为a=3,b=-5,所以a=a-b=3-(-5)=8,b=a+b=8+(-5)=3,答案: 2.(改变条件)若本题3的程序不变,将“a=3,b=-5”变为“a=-5,b=3”,又如何求解?【解析】因为a=-5,b=3,所以a=a+b=-5+3=-2,b=a-b=-2-3=-5,a=(-2-5)/2=答案:【方法技巧】赋值语句的几种常见形式(1)赋予变量常数值,如a=1.(2)赋予变量其他变量或表达式的值,如b=a,b=2a+1.(3)变量自身的值在原值上加常数或变量,如i=i+1,i=i+S.【拓展延伸】数学符号与程序符号的比较功能数学符号程序符号或函数乘法运算符×﹡除法运算符÷/指数运算a x a^x不大于≤<=不小于≥>=功能数学符号程序符号或函数不等号≠<>绝对值|x|ABS(x)算术平方根SQR(x)逻辑“且”运算AND逻辑“或”运算OR【补偿训练】已知如图所示的程序.INPUT “A,B,C=”;A,B,CA=A+BB=B-AC=C/A﹡BPRINT“C=”;CEND若输入A=3,B=2,C=5,则输出的结果为 .【解析】阅读程序,由A=3,B=2,C=5,A=A+B,可得A=5,又根据语句B=B-A,可得B=-3,又C=C/A﹡B,所以输出结果为C=-3.答案:C=-3【延伸探究】1.(改变问法)若本题条件不变,将程序变为INPUT “A,B,C=”;A,B,CA=A-BB=B+AC=C/A﹡BPRINT “C=”;CEND则输出的结果为 .【解析】阅读程序,由A=3,B=2,C=5,A=A-B,可得A=3-2=1,又根据语句B=B+A=2+1=3,又C=C/AB,则C=5/13=15,所以输出结果为C=15.答案:C=152.(改变条件)若本题的程序不变,将“A=3,B=2,C=5”改为“A=5,B=3,C=2”,结果又如何呢?【解析】阅读程序,由A=5,B=3,C=2,A=A+B可得A=5+3=8,又根据语句B=B-A=3-8=-5,又C=C/AB,则C=2/8(-5)= 所以输出结果为C=类型三 程序框图与程序设计语言的相互转化【典例】1.(2015·抚顺高一检测)如图是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.INPUT “x,y=”;x,y x=x/3y=2﹡y^2PRINT x,yx=2﹡x-yy=y-1PRINT x,yEND2.给出如图所示程序框图,写出相应的算法语句.【解题探究】1.典例1中由程序画程序框图需要注意什么问题?提示:由程序画程序框图需要注意:(1)赋值语句可以用来计算;(2)程序框图中要有起止框,反之由程序框图写程序时,不要忘记最后的“END”.2.典例2中程序框图的处理框对应其程序中的什么语句?提示:程序框图的处理框对应其程序中的赋值语句.【解析】1.程序框图为:2.程序如下:INPUT “x,y=”;x,y x=x/2y=3﹡yPRINT x,yx=x-yy=y-1PRINT x,yEND。
带格式的输入

bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); }
• 表达式是要判断的条件,跟在后面的是一 表达式是要判断的条件, 个或一组语句
if语句 2- 2 if语句
#include <stdio.h> void main() { int x, y; char a = 'y'; x = y = 0; if (a == 'y') { x += 5; printf(“ 输出这两个值是 %d and \t%d”, x, y); 输出这两个值是: } }
if-else 语句 3-3 if#include <stdio.h> void main() { int num , res ; printf(“Enter 数值 :"); “ scanf("%d",&num); res = num % 2; if (res == 0) printf(“这个数是偶数 “这个数是偶数"); else printf(“这个数是奇数 "); “
嵌套 if 语句 5-2
语法: 语法:
if (表达式-1) 表达式{ if (表达式-2) 表达式语句-1; 语句 ; if (表达式-3) 表达式语句-2; 语句 ; else 语句/*与 (表达式语句-3; /*与if(表达式-3)相匹配 } else 语句/*与if (表达式-1)相匹配 表达式语句-4; /*与 表达式
FORTRAN程序设计-格式输入输出

WRITE(*,10) 2345,67.8 格式说明包含3种编辑描述符X,I和F。分别用I4和F5.1来控制2345和67.8的输出格式, 1X也有特定的用途。
格式说明语句可以放在程序单位语句(主程序语句PROGRAM,子程序语句FUNCTION 或SUBROUTINE)之后,END语句之前的任何位置。
(1)格式说明符是一个“*”,表示输入使用表控格式。 (2)格式说明符是一个字符常量。例如 READ(*,'(I3,2I4)') I,J,K (3)格式说明符是格式语句(FORMAT)的语句标号。这是最常用的格式输 入形式。
u是设备号,用于指明具体使用的输入设备。u可以是一个无符号整常 量,也可以是一个整型变量或整型表达式,还可以是星号“*”。 “*”表示 由计算机系统预先约定的外部设备,一般为键盘。
(1)格式说明符是一个“*”,表示输出使用表控格式。这在前面几章已作介绍。 (2)格式说明符是一个字符常量。例如
PRINT '(1X,2F7.3)',X,Y (3)格式说明符是格式语句(FORMAT)的语句标号。这是最常用的格式输出形式。 例如 PRINT 100,A,B,C 100 FORMAT(1X,F9.4,2F7.3)
•FORTRAN程序设计-格式输入输 出
6.4常用的编辑描述符
编辑描述符分成两大类:可重复编辑描述符和非重复编辑描述符。
可重复编辑描述符
可重复编辑描述符是用来编辑输入输出项的输入输出格式的,所以它们 总是与输入输出项相对应。不同类型的输入输出项使用不同的编辑描述 符。FORTRAN提供的内部数据类型有整型、实型、复型、字符型和逻 辑型。相应地,编辑描述符也分五类介绍。
1.2.1 输入语句、输出语句和赋值语句

(2)输出语句的作用是实现算法的
输出结果功能;
(3)“提示内容”提示用户输入什
么样的信息,表达式是指程序要输出
的数据;
(4)输出语句可以输出常量、变量
或表达式的值以及字符。
(5)同输入语句一样,表达式前也可以有“提示内 容”. 如P9页的输出框 输出S 可以转化为输出语句:
PRINT “S=”; S
2、基本的算法语句有哪些?各自对应怎样的算法结构?
基本的算法语句有:输入语句、输出语句、赋值语 句、条件语句、循环语句;输入语句、输出语句、赋值 语句基本上是对应顺序结构,条件语句对应条件结构、 循环语句对应循环结构。
阅读思考,并完成下表:
是否有 计算功 能 无 有
语句 输入语句
一般格式 INPUT “提示文字”;变量
用PRINT语句,当变量需要的数据较少或给
变量赋予算式时,用赋值语句,当变量需要
输入多组数据且程序重复使用时,使用输入
语句较好。
2、赋值语句是最重要的一种基本语句,也是一 个程序必不可少的重要组成部分。使用赋值语句, 一定要注意其格式要求,如:赋值号左边只能是变 量而不能是表达式;赋值号左右两边不能对换;不
S
p( p a)( p b)( p c , ( p
编写一个求三角形面积的程序。 程序:
2
)
开始
输入a,b,c
p abc 2
INPUT “a,b,c=”;a,b,c p=(a+b+c)/2 S=SQR(p*(p-a)*(p-b)*(p-c)) PRINT “三角形面积S=”;S END
能利用赋值语句进行代数式计算等。
3、利用赋值语句可以实现两个变量值的互换,方
带格式的输出语句及输入语句

带格式的输出语句及输入语句一、输入语句(读语句)在程序中可以用赋值语句给变量获得一个确定的值,但是变量的值经常变化,尤其初始化时,则必须使用输入语句──读语句,将更为方便。
读语句是在程序运行时由用户给变量提供数据的一种很灵活的输入动作,它有两种格式:1.读语句的一般格式:read(<变量名表>);readln[(<变量名表>)];其中变量名表是用逗号隔开的若干个变量名组成的。
功能:从标准输入(即INPUT,一般对应着键盘)中读入数据,并依次赋给相应的变量。
说明:①read和readln是标准过程名,它们是标准标识符。
②执行到read或readln语句时,系统处于等待状态,等待用户从键盘上输入数据,系统根据变量的数据类型的语法要求判断输入的字符是否合法。
如执行read(a)语句,a是整型变量,则输入的字符为数字字符时是合法的,合法的情况下将输入的整数赋给变量a。
③在输入数值型(整型或实型)数据时,数据间要用空格或回车分隔开各个数据,一定要输入足够个数的数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据足够,读语句执行结束,程序继续运行。
例3.设a、b、c为整型变量,需将它们的值分别赋以10,20,30,写出对应下列语句的所有可能输入格式。
Read(a,b,c);解根据③,即可列出所有可能输入格式(a)10□20□30←┘(b)10□20←┘30←┘(c)10←┘20□30←┘(d)10←┘20←┘30←┘其中"←┘"表示回车键。
④read语句与readln语句的第一个区别是:read语句是一个接一个地读数据,在执行完本Read语句( 读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。
如:Read(a,b);Read(c,d);Read(e);如果输入数据行如下:1□2□3□4□5□6□←┘则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
带格式的输出语句及输入语句
一、输入语句(读语句)
在程序中可以用赋值语句给变量获得一个确定的值,但是变量的值经常变化,尤其初始化时,则必须使用输入语句──读语句,将更为方便。
读语句是在程序运行时由用户给变量提供数据的一种很灵活的输入动作,它有两种格式:
1.读语句的一般格式:
read(<变量名表>);
readln[(<变量名表>)];
其中变量名表是用逗号隔开的若干个变量名组成的。
功能:从标准输入(即INPUT,一般对应着键盘)中读入数据,并依次赋给相应的变量。
说明:
①read和readln是标准过程名,它们是标准标识符。
②执行到read或readln语句时,系统处于等待状态,等待用户从键盘上输入数据,系统根据变量的数据类型的语法要求判断输入的字符是否合法。
如执行read(a)语句,a是整型变量,则输入的字符为数字字符时是合法的,合法的情况下将输入的整数赋给变量a。
③在输入数值型(整型或实型)数据时,数据间要用空格或回车分隔开各个数据,一定要输入足够个数的数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据足够,读语句执行结束,程序继续运行。
例3.
设a、b、c为整型变量,需将它们的值分别赋以10,20,30,写出对应下列语句的所有可能输入格式。
Read(a,b,c);
解
根据③,即可列出所有可能输入格式
(a)10□20□30←┘
(b)10□20←┘
30←┘
(c)10←┘
20□30←┘
(d)10←┘
20←┘
30←┘
其中"←┘"表示回车键。
④read语句与readln语句的第一个区别是:
read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。
如:
Read(a,b);
Read(c,d);
Read(e);
如果输入数据行如下:
1□2□3□4□5□6□←┘
则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。
Readln则不同,在读完本Readln语句中变量所需的数据后,该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。
例4
设要达到例1同样的目的,但语句改为:
readln(a,b);readln(c)
则例3中的4种输入格式只有(b)(d)是有效的.
⑤readln语句与read语句的第二个区别是:read后一定要有参数表,而readln 可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。
经常用于暂停程序的运行,直到输入一个回车。
例5
设有下列语句:
read(a,b,c);
readln(d,e);
readln;
readln(f,g);
其中,所有变量均为整型。
再设输入的数据如下:
1□2←┘
3□4□5□6□7□8←┘
9□10←┘
11←┘
12□13←┘
列表给出每个变量的值.
分析:
可以假想有一"数据位置指针",每读一个数据后,指针后移到该数据之后,每执行一个readln语句后,指针移到下一个数据行的开头。
各变量的值如下表所示。
━━━━━━━━━━━━━━━━━━━━━━━━━━
变量名a b c d e f g
──────────────────────────
值123451112
──────────────────────────
⑥为了避免可能出现的错误,建议在程序中按下列原则使用读语句:
(A)如果没有特殊需要,在一个程序中尽量避免混合使用read语句和readln语
句;
(B)尽量用readln语句来输入数据,一个数据行对应一个readln语句;
(C)由于执行read或readln语句时,系统不会提供任何提示信息,因此,编程时
最好在输入语句之前加以适当提示,例如:
write('Input a,b,c:');
readln(a,b,c);
在执行时,屏幕上显示:
Input a,b,c:_
其中,"_"为光标。
执行readln语句后,系统处于待待输入状态,只有输入了所需数据后才继续往下执行。
在读入字符型数据时要注意:
(A)字符之间不应打入空格。
例如ch1、ch2、ch3是字符型数据,输入abc ←┘结果ch1=’a’,ch2=’b’,ch3=’c’
(B)字符串数据必须一个数据回车后再输第二个数据,以此类推。
二、写语句的输出格式
在pascal语言中输出数据时是可以按照一定格式的,对整数隐含的输出形式为按十进制数形式。
对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。
⒈隐含的输出格式
pascal语言为整型量、实型量、布尔型量和字符串(用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列),一个数据所占的宽度称为"场宽"或"字段宽"。
系统给出的隐含场宽称为标准场宽。
每一种pascal版
本给定的标准场宽不尽相同。
下表给出标准场宽。
integer12实际长度
real17
布尔型4或5
字符串串长
如:
writeln(sqrt(75));
则输出□8.6602540379E+00。
而writeln(sqrt(81));
则输出□9.0000000000E+00。
有时,在程序中往往根据实际情况,需要自己定义场宽。
⒉指定场宽
在写语句中输出项含有格式符号时,就是为了指定场宽。
⑴指定单场宽.
格式:write(表达式:N)或writeln(表达式:N),其中N为自然数,指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。
若数据实际长度小于指定场宽时,则一律"向右靠齐,左留空格"。
如write(1234:8);write('abcdef':12)
输出结果:
□□□□1234□□□□□□abcdef
对于标准实型数据指定单场宽时,如果场宽大于标准场宽时,右靠齐按标准场宽格式输出17位,左留空格。
若场宽小于标准场宽时,以原样输出。
⑵指定双场宽
如果输出项是实数时,如果希望输出的实数不用科学记数法输出,而用小数形式输出,可以用指定双场宽方法输出。
双场宽输出格式为:write(实型表达式:m:n),其中m和n都是自然数,m 用以指定整个数据所占的宽度,n指定输出实数的小数位数。
如:write(sqrt(75):9:4);
输出:□□□8.6602
如果双场宽不能满足输出数据的最低要求,系统自动突破指定的场宽限制,按实际长度输出。
如:write(sqrt(75):5:4);要使小数点后有4位数字,而总场宽为5是不可能的(因为还有一个小数点,小数点前面还有一个数字)。
它最低限度要有6列,即输出为: 8.6602
例1
写出下列程序在turbo pascal下的输出结果.
program ex;
const s='abcdefg';
var
i:integer;
r:real;
c:char;b:boolean;
begin
i:=1234;r:=1234.5678;
c:='#';b:=true;
writeln(i,i:6,i:3);
writeln(r,r:12:5,r:8:5);
writeln(c,c:5);
writeln(s,s:10,s:5);
writeln(b,b:5,b:3);
end.
运行结果如下:
1234□□12341234
□1.2345678000E+03□□1234.567801234.56780
#□□□□#
abcdefg□□□abcdefgabcdefg
TRUE□TRUETRUE。