第2讲变量常量表达式
- 格式:doc
- 大小:634.00 KB
- 文档页数:13
常量、变量、函数及表达式教学设计
教后反思:
常量、变量、函数、表达式理论性较强,如果照本宣科,学生学习枯燥乏味,学习效果较差。
本课采用任务驱动,让学生不断探究思考:哪些是常量、哪些是变量、变量怎样取名,变量为什么要事先定义,怎样定义合适的变量类型等,在探究活动中学习知识。
表达式是本课的重点和难点之一,为了能让学生与平时学习中遇到的代数式表达式相区别,采用了计算表达式的值、说出表达式书写的特征、指出并改正表达式的错误、将代数表达式改写成算术表达式等任务,来化解难点,突出重点。
两种字符运算符采用实例对比来强化学生记忆。
除课本P26
页函数练习和P28页探究学习外,适当增加了与表达式有关的练习。
知识点小结采用表格式样,并适当增加有关知识,清晰易懂。
本节课教学效果良好。
常量、变量、函数与表达式⒈常量常量(constant)是指在程序运行过程中保持不变的量,在V isual Basic中,常量一般分为数值常量与字符串常量两种。
⑴数值常量数值常量就是数学中说的常数,数值常量有整型常量和实型常量两种。
整型常量即整数,是指不带小数的数值,如1、0、-10、+107等都是合法的整数。
实型常量即实数,是指带小数的数值。
实型常量又分为定点数和浮点数两种。
定点数:3.14159 ,-6.8,1.997浮点数:2e6、1e5、88E-18浮点数对应的就是数学上的科学计数法,以幂数形式表示一个实数,例如1234.56可以表示为1.23456×103 。
由于程序中无法表示上标和下标,因此用英文字母"E"(或"e")表示底数10,则1.23456×103可表示为1.23456E3。
⑵字符串常量被一对双引号括起来的若干个合法的字符称为字符串常量。
例如"china"、"Visual Basic"、"18"、"3.14"等。
字符串常量指的是双引号中的字符,不包括双引号本身。
⑶符号常量如果程序中多次用到同一个常量,则可以用一个有意义的名字表示这个常量,称为符号常量,代表常量的符号称为"常量名",常量名的命名方法与后面的变量名一样。
例如,求圆的周长和面积的程序代码:Let r=5Let s=3.14159*r*rLet c=2*3.14159*rPrint "s=";s, "c=";c可以先用Const语句定义一个符号常量pi代替3.14159,形式如下:Const 常量名[As 类型]=表达式则可以写出如下的程序代码:Const pi As Single=3.14159Let r=5Let s=pi*r*rLet c=2*pi*rPrint "s=";s, "c=";c当常量需要改动时,仅需改动符号常量定义语句。
常量和常量表达式
在编程中,常量是指在程序运行过程中其值不会改变的量。
常量可以是数值、字符串、布尔值等。
常量与变量的主要区别在于常量一旦被赋值就不能再被修改,而变量可以在程序执行过程中随时改变其值。
常量表达式是指由常量和算术运算符组成的表达式,在编译时就能被计算出结果。
常量表达式的结果也是一个常量。
常量表达式常用于定义其他常量、数组长度、case语句等场景。
在许多编程语言中,通常使用关键字来定义常量,如C语言中的const、Java中的final、Python中的大写字母等。
使用常量可以提高程序的可读性和可维护性,同时也有利于编译器进行优化。
常量表达式在编译时就能确定结果,可以减少运行时的计算开销,提高程序的效率。
常量和常量表达式是编程语言中的重要概念,合理利用它们可以使程序更加高效和可靠。
第二讲主要内容运算符表达式一.运算符1.算术运算符和算术表达式C语言的运算符具有不同的优先级,而且还有一个特点,就是它的结合性。
在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。
这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。
C运算符简介C语言的运算符可分为以下几类:1.算术运算符:用于各类数值运算。
包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符:用于比较运算。
包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符:用于逻辑运算。
包括与(&&)、或(||)、非(!)三种。
4.赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
5.逗号运算符:用于把若干表达式组合成一个表达式(,)。
6.指针运算符:用于取内容(*)和取地址(&)二种运算。
7.求字节数运算符:用于计算数据类型所占的字节数(sizeof)。
8.特殊运算符:有括号(),下标[],成员(→,.)等几种。
9.条件运算符:这是一个三目运算符,用于条件求值(?:)。
10.位操作运算符:参与运算的量,按二进制位进行运算。
包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
1.1算术运算符和算术表达式1.基本的算术运算符●加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。
如a+b,4+8等。
具有左结合性。
●减法运算符“-”:减法运算符为双目运算符。
常量、变量、表达式(1)常量、变量、表达式。
在Visual FoxPro系统中,数据可用常量、变量、数组、字段、记录和对象来存储。
他们可以容纳各种类型的数据。
因此,常把这些供数据存储的常量、变量、数组、字段、记录和对象等称为数据存储容器。
2.1.1常量常量是在命令或程序中可直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。
Visual FoxPro按常量取值的数据类型,将常量分为6种类型数值型常量、货币型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量。
1.数值型常量(N)由数字0-9、小数点和正负号组成,表示整数或实数值。
如;100,-21,15.31,-21092.5041等分别是数值型常量中的整数和实数。
数值型数据在内存中占用8个字节.2.货币型常量(Y)用来表示货币值,书写格式与数据型常量类似.但要多加一个$前置符号.且采用四位小数.他没有科学记数法,在内存中占8个字节.3.字符型常量(C)由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。
为与其他类型常量、变量和标识符相区别,Visual FoxPro要求将字符串中所有字符,用一对双引号“"”或单引号“'”或方括号“[]”作为定界符对括起来。
如“ I am a student..”,…中华人民共和国‟,[Visual FoxPro 6.0系统]都是字符常量。
4.逻辑型常量(L)逻辑型数据只有逻辑真和逻辑假两个值。
逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.。
逻辑假的常量表示形式有:.F.、.f.、.N.、.n.。
前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。
逻辑型数据只占用一个字节。
5.日期型常量(D)日期型常量是表示日期值的数据,其默认格式是{mm/dd/[yy]yy}。
如{10/01/02}和{10/01/2002}均表示2002年10月1日这一日期常量值。
6.日期时间型常量(T)Visual FoxPro系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是:{mm/dd/[yy]yy [,] hh:mm:ss[a|p]}其中a和p分别表示AM(上午)和PM(下午)。
日期值和日期时间值的输入格式与输出格式并不完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。
(1)日期格式中的世纪值通常日期格式中用2位数表示年份,但涉及到世纪问题就不便区分。
Visual FoxPro提供设置命令对此进行相应设置。
命令格式:SET CENTURY ON | OFF | TO [nCentury]命令功能:ON:日期数据显示10位,其中年份4 位,即日期值输出时显示年份值;OFF:(默认值)。
日期数据显示8位,年份2位,即日期值输出时不显示年份值;TO [nCentury]:指定日期数据所对应的世纪值。
nCentury是一个1~99的整数,代表世纪数。
(2)设置日期显示格式用户可以调整、设置日期值和时间值的显示输出格式。
既可以用命令方式设置,也可以用菜单方式设置。
命令格式:SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | USA | MDY| DMY | YMD | SHORT | LONG命令功能:设置日期型和日期时间型数据的显示输出格式。
系统默认为AMERICAN美国格式。
如果日期格式设置为SHORT或LONG格式,Visual FoxPro系统将按Windows系统设置的短日期格式或长日期格式显示输出日期数据,而且SET CENTURY命令的设置被忽略。
各种日期格式设置所对应的日期显示输出格式,见表2-1所示。
表2-1 系统日期格式(3)设置日期2000年兼容性通常日期型和日期时间型数据的结果,与SET DATE命令和SET CENTURY命令设置状态及当前系统时间有关。
由于系统时间与相应设置不同,同一数据的结果可能有不同的解释。
如日期值{10/11/12}可以解释为1912 年10 月11 日、2012 年10 月11 日、1912 年11 月10 日、1910 年11 月12 日或者2010 年11 月12 日等。
这显然会导致系统混乱,而且还可能造成2000年兼容性错误,影响系统正常、有效的操作运行。
Visual FoxPro系统增加了一种所谓严格的日期格式。
不论哪种设置,按严格日期格式表示的日期型和日期时间型数据,都具有相同的值和表示形式。
严格的日期格式是:{^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]}^ 符号表明该格式是严格的日期格式,并按照YMD 的格式解释日期型和日期时间型数据,它是严格日期格式的标志,不可缺少。
有效的日期型和日期时间型数据分隔符为:连字符“-”、正斜杠“/”、句点“.”和空格。
如{^2002-10-01}、{^2002-10-01 10:30:30a},分别以严格的日期格式表示2002年10月1日及该日上午10时30分30秒这两个日期数据。
2.1.2变量变量是在操作过程中可以改变其取值或数据类型的数据项。
在Visual FoxPro 系统中变量分为字段变量、内存变量、数组变量和系统变量4类。
此外,作为面向对象的程序语言,Visual FoxPro在进行面向对象的程序设计中引入了对象的概念,对象实质上也是一类变量。
确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。
1.命名约定在Visual FoxPro系统中,将表示、存储数据的常量、变量、数组、字段、记录、对象、表、数据库等,都称之为数据容器。
所有数据容器均需命名以相互区别,为规范各类对象的命名,Visual FoxPro系统推荐了若干“命名约定”供用户参考,以提高操作命令与程序的可读性和规范性。
●使用字母,下划线和数字命名。
一般建议不采用汉字命名;●命名以字母或下划线开头;除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1~128个字符;●避免使用Visual FoxPro的保留字;●文件名的命名应遵循操作系统的约定。
2.字段变量表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。
与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。
字段名就是变量名;变量的数据类型为Visual FoxPro中任意数据类型,字段值就是变量值。
3.内存变量内存变量是在内存中定义的、一种单个数据元素的临时性变量。
(1)内存变量的数据类型内存变量的数据类型包括:数值型、货币型、字符型、逻辑型、日期型和日期时间型;(2)内存变量的建立建立内存变量就是给内存变量赋值。
内存变量赋值既可定义一个新的内存变量,也可改变已朋内存变量的值或数据类型。
命令格式1:STORE <表达式> TO <内存变量表>命令功能:计算<表达式>的值并赋值给各个内存变量。
命令格式2:<内存变量> = <表达式>命令功能:计算<表达式>的值并赋值给指定内存变量。
(3)内存变量的显示输出可以用两个命令在屏幕上显示输出内存变量的值。
命令格式1:?| ??<表达式表> [AT <列号>]命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。
?:先回车换行,再计算并输出表达式的值;??:在屏幕上当前位置,计算并直接输出表达式的值;<表达式表>:多个用逗号分隔的表达式,各表达式的值输出时,以空格分隔;AT <列号>子句指定表达式值从指定列开始显示输出。
AT的定位只对它前面的一个表达式有效,多个表达式必须用多个AT子句分别定位输出,而且可反序定位。
命令格式2:@<行,列>SAY<表达式>命令功能:命令在指定位置输出表达式的值。
<行,列>指定了输出的位置。
左上角顶点为(0,0),行、列都可为表达式,还可为小数。
4.数组变量数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的有序内存变量。
一个数组通常都包含多个数据元素。
Visual FoxPro系统中只允许使用一维数组(相当于数列)和二维数组(相当于行列式或矩阵)。
(1)数组元素●数组中各有序变量(数据元素)组成数组的成员,称为数组元素。
数组元素实质上是一个内存变量,也称数组变量,它们具有相同变量名即数组名,彼此以下标区分;●数组元素的名称(变量名)用数组加下标构成。
如AA(1),BB(2,3)分别表示一维数组AA的第1个元素,二维数组BB中第2行第3列的元素;●下标必须用圆括号对括;一维数组的元素只有一个下标,二维数组的元素有两个以逗号分隔的下标;●下标必须是非负数值,可以是常量、变量、函数或表达式,下标值会自动取整。
如AA(1.5),AA(nA1),AA(2+10/3)等;●数组元素的数据类型决定于最后赋值的数据类型;不同数组元素的数据类型可以不同;●数组元素与普通内存变量一样操作,可以赋值和引用。
2)数组的定义数组必须先定义后使用,定义数组是向系统申请数组元素在内存中的存储空间。
命令格式:DIMENSION | DECLARE <数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[,<数值表达式4>])…]命令功能:定义指定的各个数组。
(3)数组的赋值与引用数组元素的赋值与引用,与普通内存变量的规则相同。
5.系统变量系统变量是Visual FoxPro系统特有的内存变量,它由Visual FoxPro系统定义、维护。
系统变量有很多,其变量名均以下划线“_”开始,因此在定义内存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。
系统变量设置、保存了很多系统的状态、特性,了解、熟悉并且充分地运用系统变量,会给数据库系统的操作、管理带来很多方便,特别是开发应用程序时更为突出,学习时可对此有所关注。
6.内存变量与数组变量的基本操作(1)变量的显示用?/??命令可以分别显示单个或一组变量的值。
有时用户还需了解变量其他相关信息,如数据类型、作用范围,或了解系统变量的信息。
Visual FoxPro 系统提供了相应操作命令。
命令格式:DISPLAY | LIST MEMORY [LIKE <通配符>] [TO PRINTER [ PROMPT] | TO FILE <文本文件名>] [NOCONSOLE]命令功能:显示指定变量的信息。