第三章顺序结构程序设计1.QBASIC程序的结构2.QBASIC程序中的运算量、运算符和表达式3.赋值语句和交换语句4.数据的输入输出概念与输出语句QBASIC程序的结构(引例1)一列火车在某一地点时的速度是v0为40km/h,以加速度a=2m/min2加速行驶,求10min后的速度v和距开始点的距离s。QBASIC程序:LETv0=40000/3600LETa=2/60LETt=10*60LETv=v0+a*tLETs=v0*t+1/2*a*t^2PRINTv*3600/1000PRINTs/1000END***************************************************WELCOMTOQBASIC***************************************************QBASIC程序的结构(引例2)打印如下图案:?方法1:不使用子程序,用PRINT语句显示图案;?方法2:调用子程序。?例:sam3-2.bas主程序子程序QBASIC程序的结构一个QBASIC程序可以由一个主程序组成,也可由主程序和若干子程序构成;每一个主程序或子程序为一个单独的程序模块,分别进行设计。在运行时QBASIC会把这些模块组织起来,成为一个整体;程序执行时,从主程序的第一行开始,遇到CALL语句,调用CALL语句指定的子程序,顺序执行该子程序中的语句,执行完后在接着执行主程序的后继语句,直到遇到END。PRINT“在主程序中"CALLMySub1PRINT“返回主程序中"ENDSUBMySub1PRINT“在子程序中"ENDSUBQBASIC程序中的运算量数据类型数值型数据非数值型数据运算对象:又称运算量、操作数,就是参加运算的数据常量变量数组和数组元素函数(标准函数和自定义函数)QBASIC程序中的常量常量数值型常量字符型常量数值型常量的类型整型单精度实数双精度实数类型占内存字节数表示数的范围整数2-32768~32767长整数4-21亿~21亿单精度实数4-1038~1038双精度实数8-10308~10308采用何种类型的常量或变量要视计算精度的需要!三种类型常数的表示和区分方法凡不超过5位数字且不带小数点、范围在-32768~32767之间的常数都作为整数对待,也可在整数后加一个整数符号%,如3200,1200%是合法的整数;超过-32768~32767范围而在-231~231的不带小数点的常数,作为长整数,也可在数的末尾加“&”表示,例如1976543,1976543&,18765&(内存中占4个字节);小数形式表示且不超过7位的数,或者用“E”or“e”表示指数部分,也可在数的末尾加“!”是单精度实数,如128.596,-23E-28,1284.23!;小数形式表示且超过7位的数,或者用“D”or“d”表示指数部分,也可在数的末尾加“#”是双精度实数,如128.59566,-23D-28,1284.23#。符号常量用一个符号代表一个常量,如CONSTg=9.81例:求圆的周长、面积和圆球体积,r=3.5LETl=2*3.14159*3.5LETs=3.14159*3.5*3.5LETv=4/3*3.14159*3.5*3.5*3.5PRINTlPRINTsPRINTvENDCONSTPi=3.14159CONSTr=3.5LETl=2*pi*rLETs=pi*r*rLETv=4/3*pi*r*r*rPRINTlPRINTsPRINTvEND变量程序运行期间可以改变的量就是变量。变量的命名规则:1.以字母开头,后面跟字母、数字和小数点,不能有空格,如A,A2,CD1,Mr.John合法,而-Y,LIMing不合法;2.变量名的长度不限,但只有前40个字符有效;3.变量名不区分大小写,如果一个程序中前后输入同一变量名且大小写不一致,则以后一次输入为准,如先输入sum,后输入Sum,则前面的sum变为Sum;4.变量的命名要见“其名知其意”,如SUM、AVER。变量的类型和定义方法类型类型名称定义方法举例整数INTEGER1.a%2.DIMaASINTEGER3.DEFINT长整数LONG1.b%2.DIMbASLONG3.DEFLNG单精度实数SINGLE1.c%2.DIMcASSINGLE3.DEFSNG双精度实数DOUBLE1.d%2.DIMdASDOUBLE3.DEFDBL有关变量的定义的几点说明定义变量类型可以使用以上三种中的任意一种,但不能同时使用,例DIMd#ASDOUBLE;单精度数变量名是否含类型定义符“!”是等价的,即c!=c;类型说明符和DIM语句优先于DEFtype语句;DEFLNGk=m(指定凡以k,l,m开头的变量均为长整型)DIMk1ASINTEGER除单精度型外,如果变量名中含有类型定义符,则类型定义符就成为变量名不可分割的一部分;LETn%=16PRINTn(输出0,因为n和n%不是同一个变量,同理a%,a&,a!,a#不是同一变量)QBASIC中的标准函数QBASIC中有12个最常用的标准函数,这些函数可在程序中直接引用,请参阅P61,表3.2标准函...