《大学计算机》复习参考.docx
- 文档编号:27706652
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:46
- 大小:106.14KB
《大学计算机》复习参考.docx
《《大学计算机》复习参考.docx》由会员分享,可在线阅读,更多相关《《大学计算机》复习参考.docx(46页珍藏版)》请在冰豆网上搜索。
《大学计算机》复习参考
《大学计算机基础》复习参考资料
第一章~第三章 〔看一遍书,做好书上各章习题〕
第四章程序设计基础
一、程序设计语言
●程序是用计算机语言描述的解决某一问题的步骤,由符合一定词法、语法和语义规则的符号序列组成。
●程序设计语言是用于编写计算机程序的语言,包括一组符号定义和相应规则。
1语言分类
(1)机器语言是二进制代码语言,能被计算机硬件直接识别并执行。
如计算2+3:
(2)汇编语言是用助记符代替操作码、用地址符代替操作数的一种面向机器的低级语言。
例如:
●汇编概念:
汇编语言程序必须使用汇编程序把它翻译成机器语言后,才能被机器理解、执行。
(3)高级语言的表达方法接近于人的自然语言和数学表达式,不依赖于机器的特定属性。
例如:
●翻译方式:
Ø编译方式:
使用编译程序
Ø解释方式:
使用解释程序
2词法、语法和语义规则
(1)词法:
组成合法语句的基本单元称为单词,构成合法单词的规则称为词法。
如语句“x1=2”中的x1、=、2是合法单词,而1x不是合法变量名。
(2)语法:
具有特定含义的符号串称为语句,构成合法语句的规则称为语法。
例如:
语句“x=*2”符合词法,但不符合语法规则。
(3)语义:
合法语句的实际含义称为该语句的语义。
对语义的理解是否准确,直接影响程序的正确性和可靠性。
例如:
在JavaScript中,“x==2”表示判断变量x与数值2是否相等,而“x=2”却表示将2赋值给x。
3算法与流程图
●算法是计算机解决问题的方法和步骤,可以使用自然语言、流程图、程序设计语言等描述工具来描述。
4流程图
●流程图是用一些几何框图、流程线和文字说明表示各种类型的操作。
●基本图形和含义
5算法评价标准
⑴正确性:
保证运行结果正确
⑵可读性:
良好的可读性有助于保证算法的正确性。
科学、规范的程序设计方法(如结构化方法和面向对象方法)可提高算法的可读性。
⑶通用性:
一个好算法要尽可能通用,可适用于同类问题的求解。
⑷高效率:
效率包括时间和空间两个方面,一个好的算法应执行速度快、占用内存少。
可读性要优先于效率,高效率处于次要地位。
6程序设计方法简介
●程序设计(Programming)是设计、编制和调试程序的方法和过程,一般包括问题分析、算法设计、程序编写、程序调试、资料整理等步骤。
●程序设计的常用方法有结构化程序设计(StructuredProgramming,SP方法)和面向对象程序设计(Object-OrientedProgramming,OOP方法),前者注重事物的表现行为,后者注重事物的结构。
(1)结构化程序设计
结构化程序设计方法是指按照模块化、层次化的方法来设计程序。
其核心思想包括以下三点:
(1)程序模块化:
是指把一个大程序分解成若干个小程序(即模块)。
(2)语句结构化:
是指每个模块用顺序、选择和循环三种流程结构来实现,如图4.6所示。
(3)自顶向下、逐步求精的设计过程:
一方面是指将一个复杂问题的求解过程分解和细化成由若干个模块组成的层次结构;另一方面是指将每个模块的功能逐步分解、细化为一系列的处理步骤,直至分解为三种基本控制结构的组合。
(2)面向对象程序设计
●面向对象程序设计是以对象为基本结构单元的程序设计,有以下基本概念:
①对象:
由一组属性和方法构成。
②消息:
请求对象执行某一操作或返回某个状态
③封装:
对象将数据及相关操作封装在一起成为一个相对独立的实体。
④类:
类是具有相同属性和方法的一组对象的抽象描述。
对象也称为类的实例。
●面向对象方法支持较高的可读性、可维护性和可修改性,以及软件重用。
●面向对象语言(如C++)、基于对象的语言(如JavaScript)
二、JavaScript语言及其环境
●JavaScript是一种解释型的、基于对象的脚本语言。
适用于创建短小的应用程序。
脚本是用脚本语言编写的程序,通常解释执行。
JavaScript脚本只能在某个解释器(或称“宿主”)上运行。
依赖于宿主特性,JavaScript脚本具有不同的用途,如:
●动态网页编程:
将JavaScript脚本嵌入网页中,由Web浏览器解释执行。
●Web服务器编程:
将JavaScript脚本嵌入ASP页面中,由服务器端的ASP服务程序解释执行。
●自动管理Windows系统:
将JavaScript脚本保存为独立的脚本文件,由Windows脚本宿主解.
Windows脚本宿主
(一)WSH简介
●Windows脚本宿主是Windows脚本的运行环境,内嵌在微软的Windows操作系统中。
其中,WindowsXP已内置WSH5.6版。
●脚本引擎是某种脚本语言的解释程序。
安装WSH时已自动安装JavaScript和VBScrip这两种脚本引擎
●WSH可以执行以文本文件格式独立存在的Windows脚本,如.js、.vbs、.wsf、.wsh
(二)脚本的执行方式
(1)显式启动WSH执行脚本
WSH有两种形式,即窗口式WSH(WScript)和命令式WSH(CScript),分别对应可执行文件WScript.exe和CScript.exe。
如:
wscriptE:
\Scripts\S0404.js
或
cscriptE:
\Scripts\S0404.js
●WScript和CScript对脚本的执行效果基本相同,唯一区别在于输出形式不同
(三)JavaScript程序使用方法(步骤)
1.编写程序并保存(程序文件)
使用记事本编写(含修改)并保存为.js程序文件
2.执行程序
1)window方式
WScript程序文件名(在运行、命令提示符状态下)
文件夹中双击程序图标
2)命令方式
CScript程序文件名(命令提示符状态下)
如程序有错,回到步骤1重复执行。
四、JavaScript编程基础
本节介绍最基本的编程概念,即常量、变量、运算符、表达式及其类型。
JavaScript数据类型,分为常量与变量
(一)数值型常量
(1)整数
●十进制:
使用0~9的数字序列表示。
例如:
25,+234,-998,085。
●八进制:
使用0~7的数字序列表示,并且首位必须是0。
例如:
0235,-065。
●十六进制:
使用0~9、A、B、C、D、E、F(或a、b、c、d、e、f)的数码序列表示,并且前两位必须是0X或0x。
例如:
0x235,-0XA8,0XEF。
(2)浮点数
浮点数是可以有小数部分的数值。
浮点数常量只能采用十进制,表示形式有两种:
Ø普通形式。
由整数部分、小数点和小数部分组成,如:
3.2、12.0、12.、.5、-1.8。
Ø指数形式。
如5.34e5(表示5.34×105)、312E-4(表示312×10-4)。
其中,e(或E)后面的指数是-324~308之间的整数。
如23e4321和1.2e2.5等都是不合法的。
●另外,JavaScript用一个特殊的数值常量NaN(NotaNumber的缩写,即“非数字”)表示无意义的数学运算结果。
(二)字符串型常量
●字符串用于表示文本数据,由0个或多个字符组成的序列组成。
在表示字符串常量时,必须为字符串首尾添加成对的双引号“"”或单引号“'”,如:
"Helloword!
"
'世界,您好!
'
"a"或'a'
'"Hi!
"Isaid.'
●转义字符是指以反斜杠“\”开头,后跟一个或多个字符。
例4.5
(三)布尔型常量
●布尔型(Boolean)就是逻辑型,只有两个值:
逻辑“真”和逻辑“假”,分别对应于布尔常量true和false。
(四)其他类型的常量
●null是空值常量,表示空的或不存在的对象引用。
undefined是未定义值常量,表示变量还没有赋值。
JavaScript变量
●变量是程序中一个已命名的存储单元。
它有两个基本特征,即变量名(标识变量的名称)和变量值(变量存储的数据)。
另外,变量的值可以通过赋值发生变化;不过,在为变量赋予新值之前,变量一直保持它原先所存储的数据。
(一)变量命名规则
①变量名由以字母或下划线开头的字母A~Z或a~z、数字0~9和下划线(_)构成的字符序列组成。
如:
page1、_hg、X1_1
②不能使用JavaScript保留字,如var。
③JavaScript变量名是区分大小写的。
如n与N
④为了提高程序的可读性,要选择易于记忆、有意义的变量名。
如age
⑤也可以使用中文字符命名JavaScript变量
(二)变量声明,分显式声明和隐式声明
1)显式声明:
使用关键字var声明变量,格式如下:
varvariablename;
也可以同时声明多个变量,如:
varname,age,weight;
2)隐式声明:
使用赋值语句为变量赋值。
如:
age=20;
注意,隐式声明时,变量第一次出现必须是赋值语句。
●声明变量的同时也给出初始值。
如:
varname="张三";
(三)变量类型
●在JavaScript中,变量类型是指变量值所属的数据类型。
由于JavaScript是一种弱类型的编程语言,允许把任何类型的数据赋值给变量,因此JavaScript变量的类型是动态的,只有在程序运行时才能动态确定。
●例4.7编写以下JavaScript程序并使用CScript执行,以了解变量类型的动态性。
varx=20;WScript.Echo(typeof(x));
x="您好";WScript.Echo(typeof(x));
x=true;WScript.Echo(typeof(x));
(四)简述变量的作用域
●变量的作用域是指变量起作用的范围,在该范围内可引用该变量。
分全局变量和局部变量。
一般说,函数外声明的变量是全局变量,其作用范围是同一个脚本文件,函数内声明的变量是局部变量,其作用范围是只在函数内部。
(五)运算符与表达式
1基本概念
●运算符是指定计算操作的符号(如+、-、*、\等)。
其中,把被计算的值称为操作数。
●依赖操作数的个数,可将运算符分为单目运算符、双目运算符和三目运算符。
●表达式是运算符和操作数组合而成的式子,如123、x、x+100
●表达式具有值,这个值是对操作数实施运算符所确定的计算后产生的结果值。
按值的类型分为数值、字符、布尔表达式等。
2运算符的优先级(见表4.7)
3表达式中的类型转换
●JavaScript会根据运算符的特性和操作数的类型进行隐式类型转换。
(读懂P165-166的例))
⑴对于+运算符:
①如果有一个操作数为字符串,则为字符串连接运算;②如果两个操作数都不是字符串,则是算术加运算。
⑵对于其他运算符,自动把操作数转换为相应类型
⑶使用函数parseInt()和parseFloat()显式转换
4JavaScript运算符
(1)算术运算符
●JavaScript算术运算符的操作数和计算结果都是数值型,包括+、-、*、/、%、++x、x++、--x、x--
(2)关系运算符
Ø关系运算符(又称比较运算符)对操作数进行比较,返回一个布尔值。
包括<、<=、>、>=、
(3)逻辑运算符
●逻辑运算符的操作数和计算结果都是布尔值,包括&&、||、!
(4)位操作运算符
●位操作运算符用于对整数的二进制位进行操作,计算结果仍为整数,包括&、|、^、<<、>>、>>>
(5)赋值运算符
●最基本的赋值运算符是等于号(=),用于对变量进行赋值。
●另外,一些运算符也可以和等于号(=)联合使用,构成组合赋值运算符,如=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=
(6)条件运算符
●条件运算符格式如下:
condition?
true_result:
false_result
●如果condition为真,则表达式的值为true_result子表达式的值,否则为false_result子表达式的值。
5JavaScript流程控制
●JavaScript支持结构化程序设计方法,即支持顺序、选择和循环这三种流程结构。
(1)宿主的输入与输出功能
JavaScript语言没有直接提供输入与输出的语句,只能借助脚本宿主对象所提供的有关方法进行基本的输入与输出。
(a)使用WScript对象的Echo方法
●命令格式:
WScript.Echo([Arg1][,Arg2][,Arg3]...);
(b)使用WScript.Shell对象的Popup方法
●命令格式:
iB=object.Popup(strText,[nSecondsToWait],[strTitle],[nType])
(c)使用WScript的标准输入/输出流对象StdIn、StdOut
●WScript的子对象StdIn、StdOut分别对应于Windows命令符窗口中的标准输入、输出流,因此,这两个对象只有用CScript执行才有效。
通常在命令提示符状态下执行程序。
(2)选择结构
●JavaScript支持if语句和switch语句
(a)if….else语句
if语句的基本形式是:
if(判定条件)
语句1;
else
语句2;
也可用if语句的简单形式:
if(判定条件)语句;
(b)switch语句
●例4.22常识问答,请选择“中国的首都在哪个城市?
A.香港B.广州C.北京D.上海”。
switch(answer)
{
case"a":
case"A":
WScript.StdOut.WriteLine("错!
香港是中国的特别行政区");
break;
case"b":
case"B":
WScript.StdOut.WriteLine("错!
广州是中国南部的大城市");
break;
...
default:
WScript.StdOut.WriteLine("选择错误!
只能选填字母A、B、C或D");
break;
}
(3)循环结构
●当一些语句需要反复执行时,就要用到循环结构的语句,即循环语句。
●JavaScript常用的循环语句主要是for语句、while语句以及do…while语句。
(a)for语句
●for语句格式:
for(初值表达式;循环判定式;更新表达式)循环体语句;
(b)while语句
●while语句格式:
while(循环判定式)循环体语句;
(c)dowhile语句
●dowhile语句格式:
do循环体语句while(循环判定式);
※三种循环语句中,for和while语句属前测型,当控制条件不成立时,不会执行循环体语句。
dowhile属后测型,它的特点是至少执行一次循环体语句。
※循环语句中可使用break和continue
●break语句也经常用在循环体中。
当程序执行到循环体中的break语句时就结束整个循环语句。
●continue语句只能用在循环体中,其作用是跳过循环体中未执行的语句,结束本次循环,跳至求循环判定式,决定是否继续循环。
●continue语句和break语句的区别是:
continue只是结束本次循环体的执行,而break则是结束整个循环语句的执行。
●通常,continue语句和break语句在循环体中与if语句配合使用,从而控制循环。
6关于嵌套、语句组
(a)if语句的嵌套
●可以把一个if语句当成另外一个if语句的语句部分来用,这就是所谓的if语句的嵌套。
(b)循环的嵌套
●在一个循环语句的循环体中也可以包含另一个循环语句,这称为循环的嵌套。
(c)使用语句组
(六)调试JavaScript程序
●程序出错分为两类:
Ø语法错误;
Ø语义错误。
●所谓调试程序就是排除程序中的错误。
(a)排除语法错误
●语法错误是指写出的程序代码不符合语法规则,比如,变量名使用关键字、括号不匹配、if语句中判定条件式没有用圆括号括起来,等等。
●Windows脚本宿主在执行含有语法错误的脚本程序时,会提示出现了什么错误以及出错位置。
(b)排除语义错误
●语义错误是指编写的程序代码符合语法规则,能够正常执行,但是执行的结果不符合要求。
●导致语义错误的常见情况是对流程控制语句使用不当或者对变量赋予了一个不恰当的值。
对于这种情况,可以使用专业的调试工具,通过跟踪程序的一步步执行并且查看执行中变量值的变化情况来排除程序中的语义错误。
(c)使用Microsoft脚本编辑器调试程序
●Microsoft脚本编辑器是一种专业化的脚本编辑和调试工具,是MicrosoftOffice的可选组件之一。
●使用示例例4.32
Ø第一步:
在调试器中执行脚本
CScriptE:
\Scripts\S0432.js//X
Ø第二步:
设置断点、执行到断点
Ø第三步:
逐语句执行,观察变量x、y值的变化
Ø第四步:
找到问题后,结束本次调试
(七)JavaScript函数
●函数是编制程序时定义的一个语句序列,其作用是执行一项单一任务或一系列任务。
例如,一个函数可能是输出一行文本,也可能是计算一个数值并把它返回给主程序。
●使用函数的一个好处在于它的可重用性。
1使用预定义函数
●所谓预定义函数是指不必自己定义、直接就可使用的函数。
一、eval()函数:
计算在字符串中的表达式的值
例4.33求用户输入的任意常量表达式的值。
二、escape():
将字符串中的非字母数字的ASCII字符转换为%AA、或将非ASCII字符(如汉字)转换为%uUUUU。
如:
varescapestr=escape("您好!
John");
把变量escapestr赋值为字符串
%u60A8%u597D%21%20John
●unescape()函数与escape()函数的功能正好相反
三、isNaN()、isFinite()函数
●isNaN()函数用于确定一个变量是否是NaN。
●isFinite()函数用于确定一个变量是否有限。
如isFinite
(1),而isFinite("a")返回false
四、parseFloat()、parseInt()函数
●parseFloat()函数将字符串转换为浮点数。
如:
parseFloat("123.45")\\123.45
parseFloat("123.45abc")\\123.45
parseFloat("abc123.45")\\NaN
parseFloat(true)\\NaN
●parseInt()函数与parseFloat()类似
2函数定义与函数调用
(1)函数定义
●定义格式:
function自定义函数名()
{
函数体
}
●例4.34定义一个函数Hello(),这个函数的功能是输出文字“您好!
”。
实现程序如下:
functionHello()
{//自定义无参数的函数
WScript.Echo("您好!
");
}
(2)函数调用
●与调用预定义函数一样,对自定义函数的调用形式也是“函数名()”
●例4.35改写例4.34,通过函数调用实现文字“您好!
”的输出。
...
Hello();
●函数调用流程
(3)给函数添加参数
●定义函数的完整格式:
function自定义函数名(形参1,形参2,...)
{
函数体
}
●参数作用:
为被调用的函数传递一个或多个值
●定义函数时指定的参数称为形式参数(形参);调用函数时为形参实际传递的值称为实际参数(实参)
●调用形式:
函数名(实参1,实参2,...)
●当使用多个参数时,函数调用的各个实参按照其排列的先后顺序依次传递给函数定义中的形参。
3使用函数返回值
●方法:
return表达式;
4区分函数和过程
●只返回undefined的函数称为过程。
●过程和函数的一个显著区别是:
过程调用单独构成一条语句;而函数调用出现在表达式中。
●例4.39如果一个正整数只能被1和自身整除,那么这个数就是素数。
求出1~100之间的所有素数。
●编程思路:
如果p能够被2、3、4、…p-1之中的任何数整除,那么p就不是一个素数,否则就是素数
5函数的嵌套调用
●在一个函数定义的函数体语句中出现对另一个函数的调用,这就是函数嵌套调用,如图4.41所示。
●当一个函数调用另一个函数时,应该在定义调用函数之前先定义被调用函数。
6递归函数
●递归函数是指在一个函数定义的函数体中出现对自身函数的直接(或间接)调用。
●在递归函数中有两个必不可少的要素:
1)有一个测试是否继续递归调用的条件,如上例中的“if(n<=1)”,如果满足则执行“fac=1;”,不再递归。
2)有一个递归调用的语句,如上例中的“fac=n*factorial(n-1);”。
(八)变量作用域
●变量的作用域是指变量起作用的范围,在该范围内可引用该变量。
●变量的作用域取决于这个变量是哪一种变量。
●在JavaScript中,变量分为全局变量和局部变量。
Ø全局变量在所有函数之外定义,其作用域范围是同一个程序文件中的所有脚本
Ø局部变量是定义在函数体之内(也包括形参变量),只对该函数是可见的,而对其他函数则是不可见的。
*第五章对象编程(本章不考,有能力的同学可参阅)
本章只要求掌握(第5.1节、第5.2节),即JavaScript预定义对象的基本使用方法,以初步掌握对象编程技术。
请复习以下的基本概念,看懂例题,做习题(含综合题)
1.对象的概念
对象既可是客观的特定实体,也可是问题域的抽象对象。
客观实体。
如,一个人、一盏灯
抽象对象。
如,一个用户对象,包含用户名、用户密码等特性,也包含注册、注销等动作。
对象包含两个要素:
属性:
描述对象特性的数据。
方法:
操作对象的动作。
在JavaScript中,对象就是属性和方法的集合。
方法是作为对象成员的函数,表明对象具有的行为;属性是作为对象成员的变量,表明对象的状态。
在JavaScript中,可以使用以下两大类对象:
(1)预定义对象:
是指JavaScript语言及其运行环境提供的对象。
根据提供者的不同,这类对象又可分为内置对象、ActiveX对象和脚本宿主对象等。
内置对象有:
Math、Number、Date、String、Array。
(2)自定义对象:
是指程序员根据需要而定义的新对象
2.内置对象的使用
对内置对象的使用,其中Math、Number可直接使用其属性和方法,如:
X=Math.randon()
Y=3*3*Math.PI
K=Number.MAX_VALUE
要使用Date、Array对象则必须先使用new运算符创建个体对象。
而String对象则可用new运算符创建个体对象,也可不用new运算符创建个体对象。
创建语句为:
变量名=new对象名()
例:
vartoday;
today=newDate();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 复习 参考