2018年9月全国计算机等级考试二级Office考前押题

时间:2019-05-14 15:31:18下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《2018年9月全国计算机等级考试二级Office考前押题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《2018年9月全国计算机等级考试二级Office考前押题》。

第一篇:2018年9月全国计算机等级考试二级Office考前押题

自2007年开始培训计算机二级

腾跃英语计算机学院http://www.xiexiebang.com

距2018年9月考试仅剩60天啦!已经报考的同学们,再不努力备考,又得等2019年的考试了啦!

随着考试的不断发展,考试难度越来越大,通过率自然越来越低,特别是缺考率高得吓人。3月份通过率为21%,小编觉得9月份考试通过率可能会跌破20%,想想都恐怖:3月份的报考人数超300万,全国报名费最高的广东为130元,最低的72元,平均下来,按85元,85*3000000*80%=2.04亿元,哇,也就是大家为祖国教育事业做了这么多贡献。小编的数学居然这么好!

{Word部分} 某编辑部收到了一篇科技论文的译文审校稿,并希望将其发表在内部刊物上。现需要根据专家意见进行文档修订与排版,具体要求如下:

1.在考生文件夹下,为“Word素材.docx”文件中全部译文内容创建一个名为“Word.docx”的文件(“.docx”为文件扩展名),并保留原素材文档中的所有译文内容、格式设置、修订批注等,后续操作均基于此文件,否则不得分。

2.设置文档的标题属性为“语义网格的研究现状与展望”。3.设置文档的纸张大小为“信纸”(宽27.94cm×高21.59cm),纸张方向为“纵向”,页码范围为多页的“对称页边距”;设置页边距上、下均为2厘米,内侧页边距为2厘米,外侧页边距为2.5厘米;页眉和页脚距边界均为1.2厘米;设置仅指定文档行网格,每页41行。

4.删除文档中所有空行和以黄色突出显示的注释性文字,将文档中所有标记为红色字体的文字修改为黑色。

5.根据文档批注中指出的引注缺失或引注错误修订文档,并确保文档中所有引注的方括号均为半角的“[]”,修订结束后将文档中的批注全部删除。6.将文档中“关键词”段落之后的所有段落分为两栏,栏间距为2字符,并带有分隔线。

7.设置文档中的紫色字体文本为论文标题,作者行为副标题,黄色字体文本为节标题,绿色字体文本为小节标题,蓝色字体文本为原文引用内容。依据文章层次,将节标题和小节标题设置为对应的多级标题编号(例如第4节的编号为4,第4节第2小节的编号为4.2)。上述各部分格式设置如下表所示:

(此处省略表格一张)更多学习资料请直接搜《腾跃英语计算机学院》即可 自2007年开始培训计算机二级

腾跃英语计算机学院http://www.xiexiebang.com

{Excel部分} 在某评选投票工作中,小刘需要在Excel中根据计票数据采集情况完成相关统计分析。具体要求如下:

2.利用“省市代码”、“各省市选票数”和“各省市抽样数”工作表中的数据信息,在“各省市选票抽样率”工作表中完成统计工作,其中:

①不要改变“地区”列的数据顺序;

②各省市的选票数为各对应在“各省市选票数”工作表中的4批选票之和; ③各省市的抽样数为各对应在“各省市抽样数”工作表3个阶段分配样本数之和;

④各省市的抽样率为各对应抽样数与选票数之比,数字格式设置为百分比样式,并保留2位小数。

3.为“各省市选票抽样率”工作表的数据区域设置一个美观的表样式,并以三种不同的字体颜色和单元格底纹在“抽样率”列分别标记出最高值、最低值和高于平均抽样率值的单元格。

4.利用“省市代码”、“候选人编号”、“第一阶段结果”、“第二阶段结果”和“第三阶段结果”工作表中的数据信息,在“候选人得票情况”工作表中完成计票工作,其中:

①不要改变该工作表中各行、列的数据顺序; ②通过公式填写候选人编码所对应的候选人姓名; ③计算各候选人在每个省市的得票情况及总票数;

④在数据区域最右侧增加名为“排名”的列,利用公式计算各候选人的总票数排名;

⑤锁定工作表的前两行和前两列,确保在浏览过程中始终保持表头和候选人信息可见。

5.将“候选人得票情况”工作表复制为当前工作簿的一个新工作表,新工作表名称为“候选人得票率”。在新工作表中,将表头文字“候选人在各地区的得票情况”更改为“候选人在各地区的得票率”。6.利用“候选人得票情况”、“各省市选票抽样率”工作表中的数据信息,在“候选人得票率”工作表中完成统计工作,其中:

①利用公式计算各候选人在不同地区的得票率(得票率指该候选人在该地区的得票数与该地区选票抽样数的比值),数字格式设置为百分比样式,并保留2位小数;

②将“总票数”列标题修改为“总得票率”,并完成该列数据的计算(总得票率指该候选人的总得票数与所有地区选票抽样总数的比值),数字格式设置为更多学习资料请直接搜《腾跃英语计算机学院》即可 自2007年开始培训计算机二级百分比样式,并保留2位小数;

腾跃英语计算机学院http://www.xiexiebang.com

③将“排名”列标题修改为“得票率最高的地区”,并根据之前的计算结果将得票率最高的地区统计至相对应单元格;

④在统计完成的得票率数据区域内,利用条件格式突出显示每个候选人得票率最高的两个地区,并将这些单元格设置为标准黄色字体、标准红色背景色填充。7.在“候选人得票率”工作表的所有数据区域下方,根据候选人“姓名”和“总得票率”生成一个簇状柱形图图表,用以显示各候选人的总得票率统计分析。其中,图表数据系列名称为“总得票率”,数据标签仅含值,并显示在柱状上方。

更多学习资料请直接搜《腾跃英语计算机学院》即可

第二篇:全国计算机等级考试二级

全国计算机等级考试二级证书

简介 ***2432010年9月二级access

证书样本

全国计算机等级考试和高考、全国英语四六级考试一样,是国家教育部考试中心推出的三大权威考试,是在校大学生必须参加的考试和衡量计算机水平最权威、含金量和承认度最高的认证,并唯一得到国家和各用人单位的统一认可。

创想独有优势

通过率高:在全国平均通过率不到10%的情况下,创想分中心10级助产班参考7人,双科通过6人;10级护理5班参考21人,双科通过17人;创想分中心历届一次性通过率全省第一。

创想学员毕业受欢迎:

06级陈燕燕同学毕业后考取济宁汶上县医院事业编;

08级马玉宝同学,毕业后被济南市第三人民医院录用;2010年9月份前二级access

09级刘晓燕同学优先被济南市中心人民医院选为实习生。证书全通通用,上网可查。查询网址

第三篇:全国计算机等级考试二级MS Office高级应用

全国计算机等级考试二级MS Office高级应用

1946年2月14日,在美国宾夕法尼亚大学的摩尔电机学院,世界上第一台现代电子计算机”埃尼阿克”(ENIAC)诞生,它占地面积达170m2,重达30t,在1s内能进行5000次加法运算和500次乘法运算。

计算机于1946年问世以来,经历过4个重要的历史阶段。

第一代是电子管计算机(1945-1956),它的特点是采用电子管做为原件。第二代是晶体管计算机(1956-1963),晶体管代替了体积庞大的电子管,电子设备的体积不断减小。第三代是中小规模集成电路计算机(1964-1971),使更多的元件集成到单一的半导体芯片上,计算机变得更小,功耗更低,速度更快。第四代是大规模集成电路计算机(1971年-现在),其最显著特点是大规模集成电路和超大规模集成电路的运用。

计算机的应用包括以下几方面:数值计算、数据处理、实时控制、计算机辅助设计CAD、计算机辅助教学CAI和计算机辅助制造CAM等。CIMS是计算机/现代集成制造系统。

计算机应用领域有科学计算、信息处理、实时控制、计算机辅助设计等。办公自动化包括网络化的大规模信息处理系统。

在科学研究和工程设计中,存在着大量繁杂的数值计算问题,解决这样的问题经常是人力所无法胜任的。而高速度、高精度地解算复杂的数学问题正是电子计算机的特长。因而,时至今日,数据计算仍是计算机应用的一个重要领域。

和ENIMC相比,EDVAC的重大改进主要有两个方面:

1、把十进位制改成二进位制,着可以充分发挥电子元件高速运算的优越性;

2、把程序和数据一起存储在计算机内,这样就可以使全部运算成为真正的自动的过程。

EDVAC出现时才使用存储程序。

计算机问世之初,主要用于数值计算,计算机也因此得名。

微型机的主机一般包括CPU、内存、I/O接口电路、系统总线。

电子计算机能够快速、自动、准确地按照人们的意图工作的基本思想主要是存储程序和程序控制,这个思想是由冯.诺依曼在1946年提出的。

计算机硬件包括:CPU(包括运算器和控制器)、存储器、输入设备、输出设备。计算机的存储器容量是以字节(B)为单位表示的。除用字节为单位表示存储容量外,还可以用KB、MB以及GB等表示。它们之间的换算关

1B=8bit

;1KB=210B=1024B;1MB=220B=1024KB;1GB=230B=1024MB。

ASCII码是美国标准信息交换码的英文缩写,它是使用最多和最普及的西方文字符编码。它用7位二进制表示一个字符(或用一个字节表示,最高位为“0”),由于27=128,所以共有128种不同组合,表示128个不同的字符。

二进制数转换为十进制数的规律是:把二进制数按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数,简称“按权求

210和”。(101)1202124015。如果在整数之后2添加1个0,3210数据扩大(1010)802010,212021202了2倍。

计算机中数据的常用存储单位有位、字节和字。计算机中最小的数据单位是二进制的一个数位,简称为为(bit)。8位二进制数位一个字节(Byte),字节是计算机中用来表示存储空间大小的基本容量单位。计算数据处理时,一次存取、加工和传送的数据长度称为字,字是计算机进行数据存储和数据处理的运算单位。

标准ASCII码表用7位二进制表示一个字符(或用一个字节表示,最高位为“0”)表示128个不同的字符。其中在字符的排序中,大写字母靠前,小写字母靠后,也就是大写英文字母的ASCII码值都小于小写英文字母的ASCII码值。

标准ASCII编码表用7位二进制表示一个字符(或用一个字节表示,最高位为“0”)表示128个不同的字符。其排列先后顺序为:空格字符<数字符<大写字母<小写字母。

字长是指计算机在同一时间内处理的一组二进制数的位数。

十进制整数转换成二进制数。采用“除2取余,倒排序”法,即十进制整数除以2取余数做最低位系数K0,再取商继续除以2取余数做高一位的系数,如此继续直到商为0是停止,最后一次的余数就是整数部分部分最高有效位的二进制系数,依次所得到的余数序列就是转换成的二进制数。

ASCII编码表中包括:10个阿拉伯数字(0~9)、26个大写字母、26个小写字母,以及各种运算符号、标点符号和控制字符等。其中26个大写英文字母是依次按顺序存放的。字母K的十六进制码值是4B,也就是二进制的1001011,那么1001000与1001011相差3,所以1001000是大写字母H。

区位码输入是利用国标码作为汉字编码,每个国标码对应一个汉字或一个符号,没有重码。

在标准ASCII码表中,26个大写英文字母是依次按顺序存放的。已知英文字母A的ASCI码是01000001,则英文字母E的ASCII码是01000001+4=01000101.二进制数转换为十进制数的规律是:把二进制数按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数,简称“按权求和”。用8位二进制数表示的最大无符号整数=760(11111111)1212...12255。2

F在A的后面,相差5,F的ASCII码=A的ASCII码+5=01000001+101=01000110。

计算机内部采用二进制进行数据交换和处理

二进制避免了那些基于其他数字系统的电子计算机中必需的复杂的进位机制,物理上便于实现,且适合逻辑运算。存储一个汉字内码需要用两个字节

汉字的内码=汉字的国标码+8080H

显示或打印汉字时使用汉字的字形码,在计算机内部是使用汉字的机内码

在数值转换中,基数越大,位数越小。当为0、1时,位数可以相等

区位码:94×94列阵,区号范围:1~94,位号范围:1~94

国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,因此机内码前后字节最高位都为1

在国家汉字标准(GB 2312-80)中,一级常用汉字按汉语拼音规律排列,二级次常用汉字按偏旁部首规律排列

在48×48的网格中描绘一个汉字,整个网格分为48行48列,每个小格用1位二进制编码表示,每一行需要48个二进制位,占6个字节,48行共占48×6=288个字节

在国标码的字符集中,收集了一级汉字3755个,二级汉字3008个,图形符号682个

当汉字的区位号都为十六进制数时,汉字的国标码=汉字的区位码+2020H

八进制数中只有数字0~7

在16×16的网格中描绘一个汉字,整个网格分为16行16列,每个小格用1位二进制编码表示,每一行需要16个二进制位,占2个字节,16行共占16×2=32个字节

在数值转换中,权越大,位数越少

形码:根据字形结构进行编码(五笔);音码:根据发音进行编码(全拼、双拼);音形码:以拼音为主,辅以字形、字义进行编码(自然码)

国际通用的ASCII码为7位,最高位不总为0,大写字母的ASCII码值小于大写字母的ASCII码值,ASCII码和内码不同 汉字内码两个字节的最高位必须为1

信息的最小单位是bit,信息存储的最小单位是Byte

八进制10是十进制的8,十六进制的10是十进制的16,二进制的10是十进制的2

区位码属于无重码

汉字的区位码分为区码和位码,“家”的区码是28,位码是50,将区码和位码分别化为十六进制数得到1C32H+2020H=3C52H(国标码)

Petium 4的CPU字长为32位

国标码两个字节的最高位都为0,机内码两个字节的最高位都为1

一个汉字的区位码和国标码不同,一个汉字机内码的长度均为2个字节,同一个汉字输入法不同时,机内码相同

汉字的内码=汉字的国标码+8080H

1C32H,用Pentium 是32位微机

逻辑“与”运算口诀位“一一得一”,即只有当两个数都为1时,结果才为1

SRAM中的数据一旦断电就会消失,外存中信息要通过内存才能被计算机处理

二进制加法运算法则为“逢二进一”

计算机中,每个存储单元的编码称为单元地址

运算速度是指计算机每秒钟所能执行的指令条数,主要用以衡量计算机运算的快慢程度,用MIPS(Million Instruction Per Second)作为计量单位,即每秒执行百万条指令的数量,有时也用CPI,即执行一条指令所需的时钟周期数。主频是指CPU的时钟频率,它的高低在一定程度上决定计算机运行速度的高低,主频以兆赫兹(MHz)为单位,一般说,主频越高,计算机运行速度越快。传输速率是指集线器的数据交换能力,也叫“宽带”,单位是Mbps(兆位/秒)

输出设备室把计算机的中间结果或最后结果,机内的各种数据符号及文字或各种控制信号的信息输出来。常用的输出设备有显示器、打印机、激光印字机、绘图仪及磁带、光盘机等。常见的输入设备有键盘、鼠标器、扫描仪、光电输入机、磁带机、磁盘机、光盘机等

运算器又称为算术逻辑单元(ALU)。它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除)和逻辑运算(与、或、非、异或、比较等)

计算机硬件由输入设备、输出设备、运算器、存储器和控制器5部分组成。通过把输入设备和输出设备合称为I/O设备;把控制器和运算器合称为中央处理器(CPU),它是计算机的核心;存储器可分为内存储器和外存储器

CPU的主要性能指标有:

1、主频,也叫时钟频率,单位是MHz,用来表示CPU的运算速度

2、字长,CPU在同一时间内处理的一组二进制数称为一个计算机的“字”而这组二进制数的位数就是“字长”

3、运算速度,指CPU每秒所能执行的指令条数,一般用“百万条指令/秒”(MIPS,Million instruction Per Second)来描述

常见的输入设备有键盘、鼠标器、扫描仪、光电输入机、磁带机、磁盘机、光盘机等。标准配臵的输入设备室键盘和鼠标器

中央处理器(CPU)包括控制器与运算器,它是计算机的核心。内存储器是CPU根据地址线直接寻址的存储空间,由半导体器件制成。外部存储器不能与CPU直接交换数据

传输速率是指集线器的数据交换能力,也叫“宽带”,单位是bps(位/秒)

CPU中除了内部总线和必要的寄存器外,主要的两大部件分别是运算器和控制器

磁盘驱动是电子计算机中磁盘存储器的一部分,用来驱动磁盘稳速旋转,并控制磁头在磁盘层上按一定的记录格式和编码方式记录和读取信息,分硬盘驱动器、软盘驱动器和光盘驱动器三种。磁盘驱动器既能将存储在磁盘上的信息读进内存中,又能将内存中的信息写到磁盘上。因此,就认为它既是输入设备,又是输出设备。

控制器负责从存储器中取出指令,对指令进行译码,并根据指令的要求,按时间的先后顺序向各部件发出控制信号,保证各部件协调一致地工作,一步一步地完成各种操作。控制器主要由指令寄存器、译码器、程序计数器和操作控制器等组成

计算机中几乎所有的操作都要通过内存储器才能实现。它不仅是CPU直接寻址的存储器,而且还是CPU与外部设备交流的桥梁,用来存放程序和等待处理的数据。内存一般分为只读存储器、随机存储器和高速缓存3种。

计算机指令是CPU能直接识别并执行的指令,它的表现形式是二进制编码。计算指令通常由操作码和操作数地址码两部分组成。操作码指出该指令所要完成的操作,即指令的功能。操作数指参与运算的对象,以及运算结果存放的位臵等

内存按其功能和存储信息的原理又可分成随机存储器和只读存储器。随机存储器简称RAM(Random Access Memory),RAM在计算机工作时,既可从中读出信息,也可随时写入信息,值得注意的是如果断电RAM中的信息就会丢失。只读存储器简称ROM(Read Only Memory)。ROM与RAM的不同之处是它只能在计算机正常工作时从中读出信息,断电也不会丢失信息。软盘、光盘、硬盘都是外部存储器

内存也被称为内部存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中CPU就会把需要的数据调到内存中进行运算,当运算完成后CPU再将结果传送出啦,内存的稳定运行也决定了计算机的稳定运行

当磁盘旋转时,磁头若保持在一个位臵上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。磁盘上的磁道是一组记录密度不同的同心圆。磁道的编号是最外圈为0,其次序由外向内逐渐增大

外存可以存放大量的数据,断电后外存的数据不会因断电而丢失,常见的外存有硬盘、U盘和光盘

CD-RW光盘是可以擦除并多次重写,它可以视作软盘,可以进行文件的复制、删除等操作,方便灵活

只读存储器ROM,在ROM中信息是被永久性地刻在ROM存储单元中的,其中的信息只能被读出,而不能写入或者删除

目前使用的硬磁盘,在其读/写寻址过程中盘片旋转,磁头沿盘片径向运动

MIPS是运算速度,MB是存储容量,MB/s是传输速率,GHz是主频单位

DRAW存在漏电现象,需要每隔一段固定时间就对存储信息刷新一下

USB为通用串行总线

控制器的主要功能是指挥全机各个部件自动、协调的工作

把内存中数据传送到计算机硬盘中,称为写盘。把硬盘上的数据传送到计算机的内存中,称为读盘

RAM有两个特点:一是可读/写性,二是易失性,即断开电源时,RAM中的内存容量立即消失

微型机的主机一般包括CPU、内存(包括RAM和ROM)、I/O接口电路、系统总线

内存储器的存储速度最高,其中Cache的存储速度高于DRAM

鼠标器是在多窗口环境下必不可少的输入设备

一个完整的计算机系统应该包括硬件系统和软件系统两部分

打印机质量从高到低依次为激光打印机、喷墨打印机、点阵打印机、针式打印机

U盘,全称“USB闪存盘”,英文名“USB flash disk”,它是一个USB接口的无需物理驱动器的微型高容量移动存储产品,可以通过USB接口与计算机连接,实现即插即用

存储计算机当前正在执行的应用程序和相应数据的存储器是内存

不间断电源的缩写是UPS

ROM为只读存储器,PROM为可编程只读存储器,Cache为高速缓冲存储器

外部设备主要包括输入设备和输出设备

字长是指计算机运算部件一次能同时处理的二进制数据的位数,运算器可以进行算术运算和逻辑运算,DRAM集成度高于SRAM,SRAM比DRAM存储速度快,DRAM数据要经常刷新

CPU只能与内存储器直接交换数据,其主要组成部分是运算器和控制器

硬盘虽然在主机箱内,但属于外存,不是主机的组成部分

显示器的主要技术指标有扫描方式、刷新频率、点距、分辨率、亮度和对比度、尺寸

系统总线分为三类:数据总线、控制总线、地址总线

P代表奔腾系列,4代表此系列的第4代产品,2.4G是CPU的频率,单位是Hz

DRAM集成度比SRAM高,存储速度SRAM>DRAM,SRAM常用来做Cache

USB具有热插拔与即插即用的功能,不需要另供电源

机器语言是一种CPU的指令系统,是由二进制代码编写,能够直接被机器识别的程序设计语言

绘图仪是输出设备,扫描仪是输入设备,手写笔是输入设备。磁盘驱动器既能将存储在磁盘上的信息读入内存中,又能将内存中的信息写到磁盘上,因此,就认为它既是输入设备,又是输出设备

ROM中的信息一般由计算机制造厂写入并经过固化处理,用户是无法修改的 控制器的主要功能是指挥全机各个部件自动,协调的工作

时钟主频以GHz为单位,存储容量以GB为单位,字长以位为单位,CPU运算速度以MIPS为单位

显示或打印汉字时使用汉字的字形码,在计算机内部时使用汉字的机内码

移动硬盘体积小,容量大、方便携带

控制器是CU 不间断电源是UPS 算术逻辑部件是ALU 存储计算机当前正在执行的应用程序和相应数据的存储器是RAM,ROM为只读存储器

CPU性能的好坏决定了微机性能的好坏

硬盘具有容量大的特点,硬盘不易更换盘片,主机包括CPU和内存储器,不包括硬盘。U盘容量一般都小于硬盘容量

URL为统一资源定位器,RAM为随机存取存储器,USB为通用串行总线 运算器的主要功能是对二进制数码进行算术运算或逻辑运算

硬盘的容量远大于软盘的容量,但存取速度比软盘慢,外部存储设备还有U盘,移动硬盘

高级语言程序编译成目标程序,通过链接将目标程序链接成可执行程序

控制器是CU 运算器是ALU

高级语言的可移植性好,低级语言的可读性差,机器语言和汇编语言不同

编译系统属于系统软件,内存的存储速度比外部存储器快

硬盘的主要技术指标包括平均寻道时间、转速、平均访问时间、平均潜伏期,数据传输率,不包括容量

高速缓冲存储器一般由SRAM组成

高速缓冲存储器负责整个CPU与内存之间的缓冲 内存用来存储正在运行的程序和处理的数据

ROM为只读存储器,一旦写入,不能对其内容进行修改

为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以又通常称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(CP)的内容即是从内存提取的下一条指令的地址。

CD-ROM和光笔只能向主机输入数据,显示器只能接收由主机输出的数据,软盘存储器是可读/写的存储器,它既能向主机输入数据又能接收由主机输出的数据

微型计算机的主机包括CPU和内存储器,UPS为不间断电源,它可以保障计算机系统在停电之后继续工作一段时间,以使用户能够紧急存盘,避免数据丢失,属于外部设备。运算器和控制器是COU的组成部分

控制器中含有状态寄存器,主要用于保持程序运行状态,控制器的基本功能为控制机器各个部件协调一致的工作 操作系统的主要功能是管理计算机系统的软硬件资源,以充分发挥计算机资源的效率,并为其他软件提供良好的运行环境,其中主要有提供人与计算机交互使用的平台、具有进程管理、存储管理、文件管理、作业管理、设备管理等功能

计算机软件是指计算机系统中的程序,数据及其文档

编译程序也叫编译系统,是把用高级语言编写的面向过程的源程序翻译成目标程序的语言处理程序。编译程序把一个源程序翻译成目标程序的工作过程分为5个阶段:词法分析、语法分析、中间代码生成、代码优化、目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。然后再通过连接程序将编译后的目标文件连接成可执行的应用程序

计算机软件用途通常分为两大类:系统软件和应用软件。具有代表性的系统软件有:操作系统、之城服务程序、数据库管理系统以及各种程序设计语言的编译系统等。应用软件是指某特定领域中的某种具体应用,最终给用户使用,如财务报表软件、数据库应用软件等。但最基本、最核心的软件是操作系统

系统软件主要包括以下两类:面向计算机本身的软件,如操作系统、诊断程序等;面向用户的软件,如各种语言处理程序、实用程序、文字处理程序等。

高级语言主要是相对于汇编语言而言的,它是接近人类的语言,如C语言、BASIC语言等。用高级语言编写的程序称为源程序,源程序不能被计算机直接运行,必须通过翻译才能被计算机所接收。高级语言编写的程序可移植性好、可读性好,但是计算机要经过翻译才能认识,所以执行效率最低

机器语言是计算机能够直接识别的语言,用机器语言编写的程序可读性差,但是程序执行效率最高。汇编语言介于机器语言和高级语言之间

系统软件的核心是操作系统,其主要具有进程管理、存储管理、文件管理、作业管理、设备管理等功能

高级语言并不是特指某一种具体的语言,而是包括很多编程语言。如目前流行的Visual Basic语言、C++等。这些语言的语法、命令格式都不相同。而汇编语言是面向机器的程序设计语言,是一种介于低级机器语言和高级语言之间的语言

目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone 和z/OS等,除了Windows和z/OS等少数操作系统,大部分操作系统都为类UNIX操作系统

应用软件是为了某种特定的用途而被开发的。常见的有以下几种:文字处理软件(如WPS、Word等),信息管理软件,辅助设计软件(如AutoCAD)、实时控制软件、教育与娱乐软件等

计算机系统中程序设计语言分为三种类型:机器语言、汇编语言、高级语言。低级的机器语言是计算机能够直接识别的语言,与人类的习惯语言不太相近。而高级语言接近人类的语言,如C语言、Basic语言等。用高级语言辨析的程序称为源程序,源程序不能被计算机直接运行,必须通过翻译才能被计算机所接收。汇编语言介于机器语言和高级语言之间,计算机不能直接识别

Windows XP属于单用户多任务操作系统

高级语言必须经过编译和链接后才能被计算机识别,高级语言不依赖计算机,所以可移植性好

系统软件包括操作系统、语言处理系统、系统性能检测、实用工具软件

Windows 2000、UNIX、MS-DOC为操作系统

操作系统的主要功能:CPU管理、内存管理、信息管理、设备管理和用户接口管理

操作系统是人与计算机之间通信的桥梁,为用户提供一个清晰、简洁、易用的工作界面,用户通过操作系统提供的命令和交互功能实现各种访问计算机的操作

机器语言是计算机唯一能直接执行的语言

用户通过文件名很方便地访问文件,无须知道文件的存储细节

操作系统的主要功能是管理计算机的所有资源(硬件和软件)

将高级语言源程序翻译成目标程序的软件称为编译程序

计算机指令中操作码规定所执行的操作,操作数规定参与所执行操作的数据

所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档 OS是Operation System的简写,即操作系统

高速缓冲存储器(Cache)一般由高速SRAM构成,汉字的内码=汉字的国标码+8080H,指令由操作码和操作数组成

操作系统是以文件为单位进行数据管理

操作系统是以扇区为单位对磁盘进行读/写操作

UNIX是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统

汇编语言无法直接执行,必须翻译成机器语言才能执行。汇编语言不能独立于计算机,面向问题的程序设计语言是高级语言

系统软件和应用软件组成了计算机软件系统的两个部分,它可以直接支持用户使用计算机硬件,并非在应用软件基础上开发的

用汇编语言编制的程序称为汇编语言程序,汇编语言程序不能被机器直接识别和执行,必须由“汇编程序”(或汇编系统)翻译成机器语言才能运行 模拟音频数字化过程由采样、量化和编码三个步骤组成。数字音频的技术指标主要是指采样频率和量化位数(或量化深度)

数字音频的大小=采样频率×量化位数×时间×声道个数

照片的像素是分辨的乘积

JPEG图像文件时目前使用最广泛、最热门的静态图像文件,这是由于JPEG格式的图像文件具有高压缩率、高质量、便于网络传输,它的扩展名为jpg。JPEG采用的是有损压缩,由于它采用了高效的DCT变换、哈夫曼编码等技术,造成在高压缩比的情况下仍然有着很高的图像质量

计算机安全是指计算机资产安全,即计算机你信息系统资源和信息资源不受自然和人为有害因素的威胁和危害

计算机病毒是指编制或者在计算机程序中插入破坏计算机功能或者毁坏数据、影响计算机使用,并能自我复制的一组计算机指令或者程序代码。计算机病毒的特征有繁殖性、破坏性、传染性、潜伏性、隐蔽性和可触发性

计算机安全设臵包括清除上网记录及清除自动完成记录、注册表清除地址栏记录、清除搜索记录和清除共享漏洞、禁用不必要的端口和协议及不必要的服务

计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据、影响计算机使用、并能够自我复制的一组计算机指令或者程序代码。计算机病毒以及反病毒技术都是以软件编程技术为基础的。因此,防病毒软件总是滞后于病毒的发现。任何清除病毒软件都只能发现病毒和清除部分病毒,所以,对于计算机病毒关键是从思想上、管理上、技术上入手做好预防共作,要以“预防为主,诊治结合”。一旦发现计算机运行不正常,立即用杀毒软件检查或清除

为防止计算机传染病毒,凡是从外来的U盘往机器中复制信息,都应该先对U盘进行查毒,若有病毒必须清除,这样可以保证计算机不被新的病毒传染。要经常对磁盘进行检查,若发现病毒就及时清除

计算机病毒不是生物类病毒,而且对硬件的破坏不是永久性的,是一种通过自我复制进行传染的、破坏计算机程序和数据的程序

计算机病毒主要通过移动存储介质(如U盘、移动硬盘)和计算机网络两大途径进行传播

计算机病毒一般不对硬件进行破坏,而是对程序、数据或系统的破坏

计算机病毒式具有破坏的程序,其本身没有逻辑错误,计算机本身对计算机病毒没有免疫性。计算机病毒的特点有寄生性、破坏性、传染性、潜伏性、隐蔽性

对计算机病毒的防治应以“预防为主”,将重要数据文件及时备份到移动存储设备上,用杀毒软件定期检查计算机,不要随便打开/阅读身份不明的发件人发来的电子邮件

计算机网络就是通过电缆、电话或无线通信,将分布在不同地理位臵上具有独立功能的两台以上的计算机、终端及其附属设备用通信手段连接起来以实现资源共享的系统。联网的目的是实现资源共享和快速传输信息

网路拓扑是指网络中各个端点相互连接的方法和形式,它反映了组网的一种几何形式。局域网的拓扑结构主要有总线型、星型、环形以及混合型拓扑结构。以太网的拓扑结构是总线型

综合业务数据网(Integrated Services Digital Network,ISDN)是一个数字电话网络国际标准,是一种典型的电路交换网络系统

网络拓扑是指网络形状,常见的网络拓扑结构有:总线型、星型、环型、树型、网状型拓扑结构等。局域网常用你的网络拓扑结构是总线型、星型、环型。星型拓扑结构是中央结点和通过点到点链路连接到中央结点组成。环型拓扑结构各个结点通过中继器连接成一个闭合环路。总线型拓扑结构是采用一根传输总线作为传输介质,各个结点都通过网络连接在总线上

计算机网络是利用通信线路和通信设备,把地理上分散的具有独立功能的多个计算机系统相互连接,按照网络协议进行数据通信,通过功能完善的网络软件实现资源共享的计算机系统的集合。计算机网络是计算机技术与通信技术相结合的产物

千兆以太网是建立在以太网标准基础之上的技术,是一种高速局域网,其网络数据传输速率大约1 000 000b/s

可以在内部网络和外部的Internet之间插入一个中介系统,竖立起一道安全屏障,这道屏障的作用是阻断来自外部通过网络对内部网络的威胁和入侵,提供扼守本网络的安全和审计的关卡,这种中介系统也叫做防火墙或防火墙系统

IP地址是一个32位的二进制地址,将他们分为4组,每组8位,由小数点分开,用4个字节来表示而且用点分开的每个字节的数值范围是0~255,如219.216.250.1,这种书写方法叫做点数表示法。127.0.0.1表示本地计算机的IP地址

浏览器又称web用户程序。它是一种用于获取Internet上资源的应用程序,是查看万维网中的超文本文档及其他文档,菜单和数据库的重要工具。如果计算机要上网就需要安装浏览器

DNS(Domain Name System,域名系统)是指在Internet上查询域名或IP地址的目录服务系统。Internet域名系统是一个树型结构,其形式如下:.com(企业)、.net(网络运行服务机构)、.gov(政府机构)、.org(非盈利性机构)、.edu(教育),域名系统由InterNic管理,其注册、运行工作目前由Network Solution公司负责

能保存网页地址的文件夹是临时文件夹,在收藏夹中,且一般是隐藏的。如果要找收藏夹中的网页内容,随便在收藏夹中选择一个网页右击在弹出的快捷菜单中选择属性→常规→位臵选项,这样就看见文件夹的路径,按照这个路径找到文件夹

Internet应用有电子邮箱(E-mail)功能、远程登录功能、文件传输(FTP)功能、电子公告板(BBS)功能、信息浏览服务、WWW超文本链接、文件查找(Archic)服务、广域网信息服务(Wais

计算机与外界局域网的连接通过在主机箱内插入一块网络接口板,它又称为通信适配器或网络适配器(adapter)或网络接口(NIC,Network Interface Card),但现在更多的人愿意使用更为简单的名称----------网卡

在Internet上浏览时,浏览器和WWW服务器之间传输网页使用的协议时超文本传输协议HTTP

调制解调器(即Modem),是计算机与电话线之间进行信号转换的装臵,由调制器和解调器两部分组成。调制器是把计算机的数字信号调制成可在电话线上传输的声音信号的装臵;在接收端,解调器再把声音信号转换成计算机能接收的数字信号

计算机以拨号接入Internet网时用的是电话线,但它只能传输模拟信号,如果要传输数字信号必须用调制解调器(Modem)把它转化为模拟信号

写邮件必须要写收件人地址才可以送出去

计算机网络由通信子网和资源子网两部分组成。通信子网的功能:负责全网的数据通信;资源子网的功能:提供各种网络资源和网络服务,实现网络的资源共享 MIPS是运算速度,Mbps是传输比特速率,MB/s是传输字节速率,GHz是主频单位

收件人和发件人必须都有邮件地址才能相互发送电子邮件

电子邮件地址由以下几个部分组成:用户名@域名.地址中间不允许有空格或逗号

Internet实现了分布在世界各地的各类网络的互联,其最基础和核心的协议时TCP/IP。HTTP是超文本传输协议,HTML是超文本标志语言,FTP是文件传输协议

电子邮箱建在ISP的邮件服务器上

TCP协议的主要功能是完成对数据报的确认、流量控制和网络拥塞;自动检测数据报,并提供错误重发的功能;将多条路径传送的数据报按照原来的顺序进行排列,并对重复数据进行选取;控制超时重发,自动调整超时值;提供自动恢复丢失数据的功能

数据通信系统的主要技术指标有宽带、比特率、波特率、误码率

收件人可以在其他电子邮箱申请地3接收电子邮件

域名服务器中存放Internet主机域名与IP地址的对照表

计算机病毒无法通过删除文件来清除,杀毒软件要经常更新,但不一定能完全杀掉所有病毒

ADSL(Asymmetric Digital Subscriber Line)为非对称数字用户线路,ISDN(Integrated Service Digital Network)为综合业务数据网,ISP(Internet Service Provider)为国际互联网服务提供者,TCP(Transmission Control Protocol)传输控制协议

WAN为广域网,MAN为城域网,LAN为局域网

ISP(Internet Service Provider),即因特网服务提供商,能够提供上网服务、网上浏览、下载文件、收发电子邮件等服务,ISP是掌握Internet接口的机构

域名标准的4个部分,依次是:服务器(主机名)、域、机构、国家

TCP/IP协议主要是为已连接因特网的计算机进行提供通信的协议

电子邮件是Internet提供的最长用、最便捷的通信服务

光缆的抗干扰能力最好

在一台计算上申请的电子信箱,不必一定要通过这台计算机收信,通过其他的计算机也可以

无论收件人的计算机是否打开,收件人都可以将发件人发来的邮件保存在电子邮箱中

Telnet 为远程登录,BBS为电子布告栏系统,WWW为全球资讯网

ChinaDDN网、Chinanet网、Internet为广域网

第四篇:全国计算机等级考试二级vfp考点

010二级公共基础知识复习纲要

第 1 章

数据结构与算法

考点1:算法具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。确定性:是指算法中每一个步骤都必须是有明确定义的,不允许模棱两可的定义 有穷性:是指算法必须能在有限的时间内做完

一个算法由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构 考点2:算法复杂度包括时间复杂度和空间复杂度 时间复杂度

执行算法所需要的计算工作量 空间复杂度

执行这个算法所需要的内存空间 考点3:数据结构

一:讨论的问题:1.数据元素之间的逻辑关系,即数据的逻辑结构 2.数据元素在计算机中的存储关系,即数据的存储结构 3.对各种数据结构进行的运算

考点4:数据结构分为两大类型:线性结构与非线性结构。(1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点;

② 每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。

如果一个数据结构不是线性结构,则称之为非线性结构。考点5:线性表

特点:(1)线性表中所有元素所占的存储空间是连续的

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的 考点5: 栈的基本概念

栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。栈是按照“先进后出”或“后进先出”的原则组织数据的。考点6:队列的基本概念

队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。当表中没有元素时称为空队列。即先进先出表。循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用

考点7: 链表

在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。考点8:二叉树性质

(1)

在树结构中,每一个结点只有一个前件,称为父结点,没有父结点的只有一个,成为根结点

(2)

没有后件的结点成为叶子结点

(3)

一个结点所拥有的后件个数称为该结点的度,在树中,所有结点中最大的度称为树的度

(4)

树的最大层次称为树的深度

(5)

在二叉树的第k层上,最多有2^(k-1)个结点(6)

深度为m的二叉树最多有2^m-1个结点(7)

任意一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个(8)

满二叉树:除最后一层外,每一层上的所有结点都有两个子节点

(9)

完全二叉树:除最后一层外,每一层上的结点数都达到最大值,在最后一层上只缺少右边的若干结点

考点9: 二叉树的遍历

根据访问根结点的次序,二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历。(1)前序遍历

先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树 时,仍需先访问根结点,然后遍历左子树,最后遍历右子树。(2)中序遍历

先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子 树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。例如,对图 1-1 中的二叉树进行中序遍历的结果(或称为该二叉树的中序序列)(3)后序遍历

先遍历左子树、然后遍历右子树,最后访问根结点;并且,在遍历左、右子 树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。考点10:各种排序的复杂度(1)顺序查找需要比较n 次

(2)冒泡排序在最坏的情况下需要比较次数为n(n-1)/2。(3)简单插入排序法,最坏情况需要n(n-1)/2 次比较;(4)希尔排序法,最坏情况需要O(n1.5)次比较。

(5)简单选择排序法,最坏情况需要n(n-1)/2 次比较;(6)堆排序法,最坏情况需要O(nlog2n)次比较。

第二章:程序设计基础

考点1:结构化程序设计的原则

(1)自顶向上:先考虑整体,再考虑细节;先考虑全局目标,再考虑局部目标;(2)逐步求精:对复杂问题应设计一些子目标作为过渡,逐步细化;

(3)模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。

(4)限制使用goto 语句:在程序开发过程中要限制使用goto 语句。考点2:结构化程序的基本结构

结构化程序的基本结构有三种类型:顺序结构、选择结构和循环结构。

考点3: 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基本要素。对象是面向对象方法中最基本的概念,主要特点:(1)标识惟一型

(2)分类性(3)多态性

(4)封装性

(5)模块独立性好 考点4:消息:对象间的相互合作需要一个机制来协助进行,这个机制就是消息 考点5:继承是面向对象的方法的一个主要特征,分为单继承和多重继承

第三章:软件工程基础

考点1: 计算机软件是包括程序、数据以及相关文档的完整集合,软件工程包括3 个要素:方法、工具和过程

考点2: 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期还可以分为软件定义、软件开发、软件运行维护阶段 软件定义阶段包括:可行性研究、需求分析

软件开发阶段包括:概要设计、详细设计、实现、测试 软件维护阶段包括:使用、维护、退役

考点3:软件工程的理论和技术性研究主要包括:软件开发技术和软件工程管理 考点4:数据流图图符的含义

圆形表示加工,箭头表示数据流,等于号表示存储文件,矩形表示源、潭

考点5:数据字典:是结构化分析方法的核心,数据字典是对所有与系统相关的数据元素的一个有组织的列表

考点6:软件需求规格说明书是需求分析阶段的最后成果 考点7:模块独立性

衡量模块独立性的定性标准:内聚性与耦合性

内聚性:是一个模块内部各个元素间彼此结合的紧密程度的度量 耦合性:模块间互相连接的紧密程度的度量 一个优秀的设计应尽量做到高内聚、低耦合

考点8:典型的数据流类型有两种:变换型和事务型 考点9:程序流程图图符的含义

考点10:软件测试是为了发现错误而执行程序的过程 静态测试是由人工进行的测试 动态测试是基于计算机的测试

考点11:白盒测试主要方法:逻辑覆盖、基本路径测试

黑盒测试主要方法:等价类划分法、边界值分析法、错误推测法、因果图等

软件测试过程一般按4个步骤来进行:单元测试、集成测试、验收测试、系统测试

考点12:程序调试的任务是诊断和改正程序中的错误,与测试不同,软件测试是尽可能多的发现错误

第四章:数据库设计基础

考点1:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织,数据操纵,数据维护,控制及保护和数据服务等 考点2:数据库系统提供的数据语言:(1)

数据定义语言:该语言负责数据的模式定义与数据的物理存取构建(2)

数据操纵语言负责数据的操纵,包括查询及增、删、改等

(3)

数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等 考点3:数据库系统由如下几部分组成:数据库、数据库管理系统、数据库管理员、硬件平台与软件平台

考点4:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序,数据独立性分为物理独立性和逻辑独立性 考点5:数据库的三级模式

(1)

概念模式:是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图(2)

外模式:是用户的数据视图,也就是用户所见到的数据模式(3)

内模式:它给出了数据库物理存储结构与物理存取方法 考点6:数据模型所描述的内容有三个方面:(1)

数据结构:主要描述数据的类型、内容、性质以及数据间的联系(2)

数据操作:主要描述在相应数据结构上的操作类型与操作方式(3)

数据约束:主要描述数据结构内数据间的语法、语义联系 考点7:E-R模型

(1)E-R模型由三个基本概念组成:实体、联系和属性

(2)在E-R图示法中:矩形表示实体集,椭圆形表示属性,菱形表示联系

考点8:关系模型的约束包括实体完整性约束、参照完整性约束、用户自定义完整性约束 考点9:关系代数

并运算:关系R与S经并运算后所得到的关系是由那些在R内或在S内的有序组 交运算:关系R与S经交运算后所得到的关系是由那些即在R内又在S内的有序组 差运算:关系R与S经差运算后所得到的关系是由那些在R内但不在S内的有序组 自然连接: 考点10:E-R图与关系的转换

E-R图中实体与联系都可以转换成关系,属性也可以转换成关系的属性 1.1 数据库基础知识

考点1 计算机数据管理的发展 1数据与数据处理

数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。2计算机数据管理(l)人工管理。(2)文件系统。(3)数据库系统。

(4)分布式数据库系统。(5)面向对象数据库系统。3数据库管理系统

为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase Management System)。

图1-1 数据库系统中数据与程序的关系 考点2 数据库系统 1有关数据库的概念

(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。

(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。

(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。

(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。2数据库系统的特点

(l)实现数据共享,减少数据冗余。(2)采用特定的数据模型。(3)具有较高的数据独立性。(4)具有统一的数据控制功能。考点3 数据模型 1实体的描述(1)实体。

(2)实体的属性。(3)实体集和实体型。

2实体间联系及联系的种类(1)一对一联系。(2)一对多联系。(3)多对多联系。3数据模型简介

为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。(1)层次数据模型。(2)网状数据模型。(3)关系数据模型。小提示:

数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。1.2 关系模型

关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。1关系术语

(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。

对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为: 关系名(属性名1,属性名2,„,属性名n)(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。

(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。2关系的特点

(1)关系必须规范化。

(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。(3)关系中不允许有完全相同的元组,即冗余。(4)在一个关系中元组的次序无关紧要。(5)在一个关系中列的次序无关紧要。考点5 关系运算

对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。1传统的集合运算

(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。

(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。2专门的关系运算

(1)选择:从关系中找出满足给定条件的元组的操作。(2)投影:从关系模式中指定若干个属性组成新的关系:

(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。

(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。小提示:

选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。1.3 数据库设计基础 考点6 数据库设计步骤 1设计原则

(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。(2)避免在表之间出现重复字段。

(3)表中的字段必须是原始数据和基本数据元素。(4)用外部关键字保证有关联的表之间的联系。2设计步骤

利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。(1)需求分析。(2)确定需求表C(3)确定需求字段。(4)确定联系。(5)设计精确

1.4 Visual FoxPro系统概述 考点7 Visual FoxPro的特点(l)增强项目与数据库管理。

(2)提高应用程序开发的生产率。(3)互操作性与支持Internet。(4)充分利用已有数据。2.1程序与程序文件 程序与程序文件

考点1 程序的概念、建立与执行 1程序的概念

程序是能够完成一定任务的命令集合。这组命令被存放在称为程序文件或命令文件的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令。2程序文件的建立与修改

程序文件的建立与修改一般是通过调用系统内置的文本编辑器来进行的。其建立步骤如下。(l)打开文本编辑窗口。

(2)在文本编辑窗口中输入程序内容,此处所输入的程序命令不会马上被执行。

(3)编辑完成后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件。3打开或修改程序文件的方法

(1)从“文件”菜单中选择“打开”命令,弹出“打开”对话框。(2)在“文件类型”列表框中选择“程序”。(3)在文件列表框中选定要修改的文件,并单击“确定”按钮。

(4)编辑修改后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件,若要放弃修改,可直接按Esc键,或从“文件”菜单中选择“还原”命令。4程序文件的执行

程序文件建立后,可使用多种方式、多次执行它,常用的以下有两种方式。(l)菜单方式。(2)命令方式。

考点2 简单的输入输出命令

程序一般都包含数据输入、数据处理和数据输出3个部分。1 INPUT命令

格式:INPUT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入数据,当用户回车后,系统将表达式的值存入指定的内存变量。

注释:输入的数据可以是常量、变量,也可以是更为一般的表达式。但不能不输入任何内容直接按回车键输入字符串时必须加定界符,输入逻辑型常量时要用圆点定界(如.T.,.F.),则输入日期时间型常量时要用大括号(如{^2001-03-01})。2 ACCEPT命令

格式:ACCEPT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入字符串,当用户回车后,系统将表达式的值存入指定的内存变量。

注释:该命令只能接收字符串。用户在输入字符串时不需要加定界符;否则,系统会把定界符作为字符串本身的一部分。如果不输入任何内容而直接按回车键,系统会把空串赋给指定的内存变量。3 WAIT命令

格式:WAIT[<字符表达式>][TO<内存变量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<数值表达式>] 功能:该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序运行。

注释:<内存变量>用来保存用户输入的字符,其类型为字符型。若用户按的是Enter键或单击了鼠标,那么<内存变量>中保存的将是空串若不选TO <内存变量>短语,则输入的单字符不保留。小提示:

如果用DO命令执行查询文件、菜单文件,在文件名中必须要包括扩展名(QPR、MPR)。7.2 程序的基本结构

程序结构是指程序中命令或语句执行的流程结构,包括3种基本结构:顺序结构、选择结构和循环结构。考点3 顺序结构

顺序结构是最简单的程序结构,它是按命令在程序中出现的先后次序依次执行。考点4 选择结构

支持选择结构的语句包括条件语句和分支语句。1条件语句 格式: IF<条件> <语句序列1> [ELSE> <语句序列2>] ENDIF 功能:该语句根据<条件>是否成立从两组代码中选择一组执行。语句的执行流程图如图7-1和图7-2所示。

图7-1有ELSE的选择语句

图7-2无ELSE的选择语句 2分支语句

格式:DO CASE CASE<条件1> <语句序列1> CASE<条件2> <语句序列2> ……

CASE<条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE

功能:语句执行时,依次判断CASE后面的条件是否成立。分支语句实现的是一种扩展的选择结构,可以根据条件从多组代码中选择一组执行。分支语句的流程如图7-3所示。

图7-3 多分支语句 考点5 循环结构

循环结构也称为重复结构,是指程序在执行的过程中,其中的某段代码被重复执行若一干珠。被重复执行的代码段,通常称为循环体。Visual FoxPro支持循环结构的语句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。1 DO WHILEENDFOR语句 格式:

FOR<循环变量>=<初值>TO<终值>[STEP<步长>] <循环体> ENDFOR 功能:首先将初值赋给循环变量,然后判断循环条件是否成立(若步长为正值,则循环条件为<循环变量><=<终值>;若步长为负值,则循环条件为<循环变量>>=<终值>)。如果成立,则执行循环体,然后循环变量增加一个步长值,并再次判断循环条件,一直到条件为假时,退出循环体。该语句通常用于实现循环次数已知情况下的循环结构〕 3 SCAN-ENDSCAN语句 格式:

SCAN[<范围>][FOR<条件1>][WHERE<条件2>] <循环体> ENDSCAN

功能:该循环语句一般用于处理表中记录,语句可指明需要处理的记录范围及应满足的条件。执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。7.3 多模块程序

模块是一个相对独立的程序段,它可以被其他模块调用,也可以调用其他模块。通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。应用程序一般都是多模块程序,包含多个程序模块。考点6 模块的定义和调用 1模块的定义

在Visual FoxPro中,模块可以是命令文件,也可以是过程。过程定义的语句格式为: PROCEDURE|FUNCTION<过程名> <命令序列> [RETURN[<表达式>]] [ENDPROCIENDFUNC] 功能说明如下。

(1)PROCEDURE|FUNCTION命令表示一个过程的开始,并命名过程。过程名必须以字母或下划线开头,可以包含数字、字母和下划线。

(2)当程序执行到RETURN命令时,控制将转回到调用处(或命令窗口),并返回表达式的值。若默认RETURN命令,系统将在过程结束处自动调用一条隐含的RETURN命令。(3)ENDPROC|ENDFUNC命令表示一个过程的结束。如果默认此语句,那么过程结束于下一条PROCEDURE|FUNCTION命令或文件尾。2模块的调用

模块调用的格式有两种。

(1)使用DO命令,格式如下。DO<文件名>|<过程名>(2)在名字后加一对小括号,格式如下。<文件名>|<过程名>()3打开过程文件 命令格式如下。

SET PROCEDURE TO[<过程文件1>[,<过程文件2>,„][ADDITIVE] 4关闭过程文件 命令格式如下。

RELEASE PROCEDURE<过程文件1>[,<过程文件2>,„] 考点7 参数传递

模块程序可以接收调用程序传递过来的参数。

(1)PARAMETERS<形参变量1>[,<形参变量2>,„]。(2)LPARAMETERS<形参变量1>[,<形参变量2>,„]。

说明PARAMETERS声明的形参被看做是模块程序中建立的私有变量,LPARAMETERS声明的形参被看做是模块程序中建立的局部变量。除此之外,两条命令无其他区别。不管是PARAMETERS或LPARAMETERS,都应该是模块程序的第一条可执行命令。(1)调用参数调用模块程序参数的格式如下。

DO<文件名>|<过程名>WITH<实参1>[,<实参2>,„] <文件名>|<过程名>(<实参1>[,<实参2>,„])说明:实参可以是常量、变量或一般表达式,调用模块程序时,形参的数目不能少于实参的数目,当形参数目多于实参数目时,多余的形参取初值逻辑假.F.。

(2)参数的传递。模块中参数的传递分为两种:按值传递(实参一般为常量和表达式)和引用传递(实参一般为变量)。参数的传递方式可以重新设置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考点8 变量的作用域

变量的一个重要属性是作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在Visual FoxPro中,可分为公共变量、私有变量和局部变量3类。1.公共变量

在任何模块中都可使用的变量称为公共变量,公共变量必须先定义后使用,格式如下。PUBLIC<内存变量表> 说明:该命令是建立公共的内存变量,并赋以初值逻辑假.F.。建立好的公共变量一直有效,即使程序结束返回命令窗口也不会消失,只有执行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被释放。2私有变量

在程序中直接使用(没有预先声明),而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。3局部变量

局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。程序结束时,自动释放局部变量。格式如下 LOCAL<内存变量表> 说明:该变量同样给建立的内存变量赋以初值逻辑假.F.,也必须先定义后使用。当子程序中定义的变量名与主程序中同名时,为避免子程序中的变量值改变主程序中的变量值,可在子程序中使用PRIVATE命令隐藏主程序中可能存在的变量,使这些变量在子程序中暂时无效。格式如下。

(1)PRIVATE<内存变量表>。

(2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。说明:该命令并不建立内存变量,它只是隐藏指定的在上层模块中可能已经存在的内存变量,但是当模块程序返回到上层模块时,被隐藏的变量就自动恢复有效性,保持原值。7.4 程序调试

考点9 调试器环境

程序调试是指在发现程序有错误的情况下,确定出错位置并纠正错误。计算机一般能够发现程序的出错位置,但对于计算机不能发现的错误,只能由用户自己来查错。Visual FoxPro提供的功能强大的调试工具—调试器,可帮助我们进行这项工作。调用调试器的方法一般有两种。

(l)选择“工具”菜单中的“调试器”命令。(2)在命令窗口中输入DEBUG命令。考点10 设置断点

可以设置以下4种类型的断点。

(1)在定位处中断:可指定一行代码,当程序调试执行到该行时,中断程序运行。

(2)如果表达式值为真,则在定位处中断:指定一行代码及一个表达式,当程序调试执行到该行代码时,如果表达式值为真,就中断程序运行。

(3)当表达式值为真时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值为逻辑真.T.时,中断程序运行。

(4)当表达式值改变时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值改变时,中断程序运行。考点11 “调试”菜单

“调试”菜单包含执行程序、选择执行方式、终止程序执行、修改程序,以及调整程序执行速度等命令。各命令具体功能如下。

(1)运行:执行在跟踪窗口中打开的程序:

(2)继续执行:当程序被中断时,该命令可使程序在中断处继续往下执行。(3)取消:终止程序的调试执行,并关闭程序。

(4)定位修改:终止程序的调试执行,然后在文本编辑窗口中打开调试程序。

(5)跳出:以连续方式而非单步方式继续执行被调用模块程序中的代码,然后在调用程序的调用语句的下一行处中断。

(6)单步:单步执行下一行代码。如果下一行代码调用了过程或者方法程序,那么该过程或者方法程序在后台执行。

(7)单步跟踪:单步执行下一行代码。

(8)运行到光标处:从当前位置执行代码直至光标处中断。

(9)调速:打开“调整运行速度”对话框,设置两代码行执行之间的延迟秒数。

(10)设置下一条语句:程序中断时选择该命令,可使光标所在行成为恢复执行后要执行的语句。

3.1 Visual FoxPro数据库及其建立 考点1 建立和使用数据库 1数据库的建立

(1)在项目管理器中建立数据库。(2)通过“新建”对话框建立数据库。(3)使用命令建立数据库,格式为:

CREATE DATABASE[DatabaseName |?] 2数据库的打开

(1)在项目管理器中打开。(2)通过“打开”对话框打开数据库。(3)使用命令打开数据库,格式为:

OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考点2 修改和删除数据库

Visual FoxPro在建立数据库时建立了扩展名分别为dbc、dct和dcx的3个文件,用户不能直接修改这些文件。

Visual FoxPro中修改数据库实际是打开数据库设计器,完成数据库中各种对象的建立、修改和删除等操作。

可以有3种方法打开数据库设计器。(1)从项目管理器中打开数据库设计器。(2)从“打开”对话框中打开数据库设计器。(3)使用命令打开数据库设计器,格式为: MODIFY DATABASE[DatabaseName|?] 在项目管理器中不管删除还是移去数据库文件,都不会删除其所包含的各个对象做口数据表)。如果要在删除数据库的同时删除其所包含的数据表,就必须使用命令,格式为: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:

在Visual FoxPro中,Open DataBase和Modify DataBase命令的区别在于:Open DataBase打开的只是数据库的工作环境,并不会进入数据库设计器;Modify DataBase是打开数据库设计器。4.2 建立数据库表

考点3 在数据库中建立表 在数据库中建立数据表,最直接的方法就是在数据库设计器中利用鼠标右键单击空白处,选择“新建表”命令,在弹出的表设计器中设置数据表结构。另外可以在命令窗口利用OPEN DATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计,如图4-l所示。

图4-1 表设计器 1字段名

(l)自由表字段名最长为10个字符。(2)数据库表字段名最长为128个字符。(3)字段名必须以字母或汉字开头。

(4)字段名可以由字母、汉字、数字和下划线组成。(5)字段名中不能包含空格。2字段类型和宽度

(1)字符型:可以是字母、数字等各种字符型文本,如用户名称。(2)货币型:货币单位,如货物价格。(3)数值型:整数或小数,如订货数量。(3)浮点型:功能类似于“数值型”,其长度在表中最长可达20位。(4)日期型:由年、月、日构成的数据类型,如订货日期。

(5)日期时间型:由年、月、日、时、分、秒构成的数据类型,如员工上班的时间。(6)双精度型:双精度数慎类型,一般用于要求精度很高的数据。(7)整型:不带小数点的数值类型,如订单的行数。

(8)逻辑型:值为“真”(.T.)或假(.F.),如表示订单是否已执行完。

(9)备注型:不定长的字符型文本。在表中占4个字节,表备注型文件的扩展名为FPT。(10)通用型:用于标记电子表格、文档、图片等OLE对象,在表中占4个字节。(11)字符型(二进制)。(12)备注型(二进制)。3空值

一个字段是否允许为空值与实际应用有关,比如作为关键字的字段是不允许为空值的,而那些在插入记录时允许暂缺的字段值往往允许为空值。4字段有效性组框

在字段有效性组框中可以定义字段的有效性规则、违反规则时的提示信息和字段的默认值。5显示组框

在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。输入掩码是字段的一种属性,用限制或控制用户输入的格式。标题用于字段显示时的标题,如果不指定标题则显示字段名。当字段名是英文或缩写时,则通过指定标题可以使界面更友好。6字段注释

可以为每个字段添加注释,便于日后或其他人对数据库进行维护。考点4 修改表结构 在Visual FoxPro中可以对表结构任意修改,修改表结构和建立表结构时,表设计器界面完全一样。修改数据表结构时,首先应该用USE命令打开要修改的数据表,然后利用MODIFY STRUCTURE打开表设计器进行修改,具体操作有以下几种。(1)修改已有字段。(2)添加新字段。(3)删除不用的字段。4.3 表的基本操作

考点5 使用浏览器操作表

在交互式工作方式下,最简单、方便的方法就是使用BROWSE浏览器浏览表,打开浏览器的方法有多种。在项目管理器中将数据库展开至表,然后单击“浏览”按钮,或直接在窗口中输入BROWSE命令(首先应该打开表文件)。1浏览器操作

(1)下一记录(下箭头键)。(2)前一记录(上箭头键)。(3)下一页(PageDown键)。(4)上一页(PageUp键)。(5)下一字段(Tab键)。

(6)前一字段(Shift+Tab键)。2修改记录

只需将光标定位到要修改的记录和字段上,就可以进行修改了。3删除记录 Visual FoxPro中删除记录有逻辑删除和物理删除两种,逻辑删除只在记录旁做删除标记(如图4-2所示),必要时可以进行恢复物理删除是在逻辑删除的基础上真正地将记录从表中删除。要在浏览器中删除有删除标记的记录,可选择“表/彻底删除”菜单命令。

图4-2 增加和删除记录

考点6 增加、删除、修改和显示记录的命令 1增加记录

APPEND命令是在表的尾部增加记录,格式有如下两种。格式1:APPEND 格式2:APPEND BLANK 2插入记录

格式:INSERT [BEFORE][BLANK] 3删除记录

删除记录有物理删除和逻辑删除两种,Visual FoxPro用来删除记录的命令如下。(1)设置删除标记的命令

格式:DELETE [FOR lExpressionl] 说明:如果不使用FOR短语指定逻辑条件,则只删除当前记录,否则逻辑删除满足条件的所有记录。

(2)恢复记录的命令。

格式:RECALL [FOR lExpressionl] 说明:使用该命令恢复表中逻辑删除的记录,短语FOR的功能同上。(3)物理删除有删除标记的记录 格式:PACK 说明:此命令用来物理删除当前表中所有带删除标记的记录。(4)物理删除表中的全部记录 格式:ZAP 说明:不管表中记录是否带有删除标记,此命令可以一次性将当前表中的记录全部物理删除,但表结构仍保留使用此命令相当于DELETE ALL与 PACK的连用。4修改记录

在Visual FoxPro中可以交互修改记录,也可以用指定值直接修改记录。(1)用EDIT或CHANGE命令交互式修改。(2)用REPLACE命令直接修改。5显示记录

格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考点7 查询定位的命令(1)用GOTO命令直接定位(2)SKIP命令

(3)用LOCATE命令定位。

LOCATE命令是按条件定位记录位置,格式为: LOCATE FOR IExpressionl LOCATE命令常用结构如下。LOCATE FOR IExpression1 DO WHILE FOUND()****处理数据*** CONTINUE ENDDO 小提示:

连续使用DELETE ALL和PACK命令,其操作结果与ZAP命令一样,都可以将表中的所有记录一次性物理删除。4.4 索引与排序

考点8 索引的基本概念

索引是对表中的记录按照某种逻辑顺序重新排列。

(l)主索引:在指定的字段或表达式中不允许出现重复值的索引,且一个表只能创建一个主索引。

(2)候选索引:具有与主索引相同的性质和功能,但一个表中可以创建多个候选索引,其指定的字段或表达式中也不允许出现重复值。

(3)唯一索引:它的“唯一性”是指索引项的唯一,而不是字段值的唯一。但在使用该索引时,重复的索引段值只有唯一一个值出现在索引项中。

(4)普通索引:不仅允许字段中出现重复值,并且索引项中也允许出现重复值。考点9 索引的建立 1单项索引

在表设计器界面中有“字段”、“索引”和“表“3个选项卡,在“字段”选项卡中定义字段时就可以直接指定某些字段是否为索引项,用鼠标单击定义索引的下拉列表框可以看到3个选项:无、升序和降序(默认是无)。如果选定升序或降序,则在对应的字段上建立一个普通索引,索引名与字段名同名,索引表达式就是对应的字段。2复合字段索引

(1)在“索引”选项卡中的索引名栏目中输入索引名。(2)在索引类型的下拉框中选择索引类型。

(3)单击表达式栏右侧的按钮,打开表达式生成器。

(4)在“表达式”文本框中输入索引表达式(如图4-3所示),最后单击“确定”按钮。

图4-3 表达式生成器界面

3使用命令建立索引

格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] 从索引的组织方式来讲,索引共有3种类型。(1)单独的IDX索引,是一种非结构索引。

(2)采用非默认名的CDX索引,也是一种非结构复合索引。(3)与表同名的CDX索引,是结构复合索引。结构复合索引文件可随表的打开而打开,在同一个索引文件中能包含多个索引方案或索引关键字,在添加、更改或删除记录时自动维护索引。考点10 索引的使用

(l)打开索引文件,格式为: SET INDEX TO Indexfilelist(2)设置当前索引,格式为:

SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING](3)使用索引快速定位,格式为:

SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING](4)删除索引,格式为:

DELETE TAG TagNamel

&&TagName1为索引名 要删除全部索引,可使用命令:DELETE TAG ALL 考点11 排序

索引可以使用户按照某种顺序浏览或查找表中的记录,这种顺序是逻辑的,如要对表中的记录按物理顺序重新排列,可使用SORT命令,格式为: SORT TO TableName ON FieldNainel[/A}/D][/C][,FieldName2[/A|/D][/C]„][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:

在数据库表中只能有一个主索引,且只能在表设计器中建立。其他3种索引可以建立多个,既能在表设计器中建立,也能以命令方式建立,但在自由表中不能为其创建主索引,只能创建后3种索引,同样也可以建立多个。4.5 数据完整性

考点12 实体完整性与主关键字

(1)实体完整性是保证表中记录唯一的特性,即在同一个表中不允许有重复的记录出现。在Visual Pro中通过主索引和候选索引来保证数据的实体完整性。

(2)如果一个字段的值或几个字段的值能够唯一标志表中的一条记录,则称这个字段为候选关键字。在Visual FoxPro中将主关键字称做主索引,将候选关键字称为候选索引。考点13 参照完整性与表之间的关联 1建立表之间的联系

参照完整性与表之间的联系有关,其含义大致是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,检查对表的数据操作是否正确。

在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表主索引和子表的普通索引建立起两个表之间的联系。2设置参照完整性约束

建立参照完整性之前,首先必须清理数据库,即物理删除表中被逻辑删除的记录,然后选择两个关联表之间的连线并选择“数据库”、“编辑参照完整性”菜单命令,打开如图4-4所示的“参照完整性生成器”对话框。

图4-4 “参照完整性生成器”对话框 小提示:

欲建立两表之间的联系,首先用鼠标选中一个表的主索引,按住鼠标左键不放,并拖动鼠标到另一个表的索引上,这时鼠标箭头变成小矩形状,最后释放鼠标。4.6 自由表

考点14 数据库表与自由表

自由表是不属于任何数据库的表。在没有打开数据库时,所建立的表就是自由表。数据库表与自由表之间可以相互转化。1建立自由表的方法

(1)在项目的“数据”选项卡中选择“自由表”,单击“新建”按钮。

(2)在没有打开数据库的情况下,通过“新建”对话框,选择“表”并单击“新建文件”按钮。

(3)在没有打开数据库的情况下,在命令窗口输入CREATE命令,新建自由表。2数据库表相对于自由表的特点

(l)数据库表可以使用长表名,在表中可以使用长字段名。(2)可以为数据库表中的字段指定标题和添加注释。(3)可以为数据库表中的字段指定默认值和输入掩码。(4)数据库表的字段有默认的控件类。

(5)可以为数据库表规定字段级规则和记录级规则。

(6)数据库表支持主关键字、参照完整性和表之间的联系。(7)支持INSERT,UPDATE和DELETE事件的触发器。考点15 将自由表添加到数据库中

(1)在数据库设计器中可利用“数据库”→“添加表”菜单命令,在“打开”对话框中选择自由表文件,将其添加到数据库中。

(2)直接用命令方式将自由表添加到当前数据库中,格式为: ADD TABLE TableName|?[NAME LongTableName] 考点16 从数据库中移出表

(1)直接利用命令移出数据库表,格式为:

REMOVE TABLE TableName |?[DELETE][RECYCLE](2)从项目管理器中移出数据库。(3)从数据库设计器中移出数据库。4.7 多个表的同时使用

在Visual FoxPro中,一次可以打开多个数据库,每个数据库都可以打开多个数据表。考点17 多工作区的概念

指定工作区的命令格式为SELECT nWorkArea | cTableAlias,每个表打开后都有两个默认别名,一个是表的自身名,另一个是工作区所对应的别名。在前10个工作区中指定的默认别名是工作区字母A~J,其后面的工作区所对应的别名为W11~W32767。

另外还可以在USE命令中通过ALIAS短语指定表别名。

例如:USE学生表IN 1 ALIAS student,为学生表指定了别名student。考点18 使用不同工作区的表

除了使用SELECT命令切换不同的工作区之外,也可以在一个工作区使用其他工作区的数据表。即通过短语:IN nWorkArea|cTableAlias。在表别名后加上“.”或“->”操作符,可在一个工作区中直接调用其他工作区中数据表的记录。例如当前工作区号为2,要调用1区上学生表中的班级号的相关字段,可使用命令:

学生表.班级号 或学生表->班级号或A.班级号或A->班级号 考点19 表之间的关联

使用SET RELATION命令建立表间记录指针的临时联系(关联)。

格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。

说明:eExpressionl是指建立临时联系的索引关键字,一般是父表的主索引,子表的普通索引。用工作区号 nWorkAreal或表的别名cTableAlias I说明临时联系是由当前工作区的表到哪个表。利用SET RELATION TO命令将取消当前表到所有表的临时联系。4.1 SQL概述 5.1 SQL概述 考点1 概述 1概念

SQL是结构化查询语言Structured Query Language的缩写。它包括数据查询、数据定义、数据操纵和数据控制4部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它没有提供数据控制功能。2 SQL语言的特点

(1)一种一体化的语言。

(2)一种高度非过程化的语言。(3)语言非常简洁。

(4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查询功能

SQL的核心是查询,基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可嵌套执行,如表5-1所示。

表5-1 SQL命令动词

考点2 简单查询 1简单查询

简单查询是由SELECT和FROM短语构成的无条件查询,或由SELECT,FROM和WHERE短语构成的条件查询。2简单的连接查询

连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。3嵌套查询

嵌套查询所要求的结果出自一个关系,但关系的条件却涉及多个关系。其内层基本上也是一个SELECT-FROM-WHERE查询语句。这种简单嵌套查询,可使用谓词IN或NOT IN来判断在外层的查询条件中是否包含内层查询的结果。考点3 特殊运算符号 1 BETWEEN„AND„

含义:该查询的条件是在„„范围之内,相当于用AND连接的一个逻辑表达式。2 LIKE 含义:它是一个字符串匹配运算符,与之搭配使用的通配符包括“*”和“?”。考点4 排序

使用SQL SELECT可以将查询结果进行排序,排序的短语是ORDER BY。格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]„] 说明:可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。考点5 计算查询 1简单的计算查询

SQL不仅具有一般的检索能力,而且还有计算方式的检索,用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)及MIN(求最小值)。2分组与计算查询

在SQL SELECT中可以利用GROUP BY子句进行分组计算查询。

格式:GROUP BY GroupColumn[,GroupColumn„][HAVING FilterCondition] 说明:可以按一列或多列分组,还可以用HAVING子句进一步限定分组的条件。它必须跟在GROUP BY子句之后,不可单独使用,与WHERE子句并不矛盾。考点6 别名和自连接查询

(1)SQL语句允许在二OM短语中为关系定义别名,格式为:一 <关系名><别名>(2)SQL不仅可以对多个关系进行连接操作,也可以将同一关系与其自身进行连接,这种连接就称为自连接。在关系的自连接操作中,别名是必不可少的。考点7 使用量词和谓词的查询

与嵌套查询或子查询有关的运算符,除了IN和NOT IN运算符外,还有两类与子查询有关的运算符,它们有以下两种格式。

(1)<表达式><比较运算符>[ANY I ALL | SOME](子查询)(2)[NOT]EXISTS(子查询)EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。考点8 超链接查询

(1)在新的SQL标准中支持两个新的关系连接运算符,这两个新的连接运算是左连接(*=)和右连接=*):首先保证一个表中满足条件的元组都在结果表中,然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则应将来自另一个表的属性值置为空值。在一般SQL中超链接运算符是“*=”(左连接)和“=*”(右连接)。(2)在Visual FoxPro中不支持超链接运算符“*=”和“=*”,Visual FoxPro有专门的连接运算。下面拼出SQL中超链接的部分语句格式: SELECT…

FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE…

考点9 Visual FoxPro中SQL SELECT的几个特殊选项(l)显示部分结果,格式为: TOP nExpr[PERCENT](2)将查询结果存放到数组中,格式为: INTO ARRAY ArrayName(3)将查询结果存放到临时文件中,格式为: INTO CURSOR CursorName(4)将查询结果存放到永久表中,格式为: INTO DBF|TABLE TableName(5)将查询结果存放到文本文件中,格式为: TO FILE FileName[ADDITIVE](6)将查询结果直接输出到打印机,格式为: TO PRINTER[PROMPT] 5.3 操作功能 考点10 插入

Visual FoxPro支持两种SQL插入命令的格式,一种是标准格式,另一种是特殊格式。1标准格式

INSERT INTO dbf name[(frame 1[,fname2,„])] VALUES(eExpressionl[,eExpression2,„])2特殊格式

INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考点11 更新

SQL的数据更新命令格式如下: UPDATE TableName SET Column_Namel=eEpressionl[,Column_Name2=eExpression2„] WHERE Condition 说明:利用WHERE字句指定条件,以更新满足条件的一些记录的字段值,并巨一次可更新多个字段;如果不使用WHERE子句,则更新全部记录。考点12 删除

SQL从表中删除数据的命令格式如下:

DELETE FROM TableName[WHERE Condition] 说明:FROM指定从哪个表中删除记录,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。小提示:

当一个表定义一个主索引或候选索引后,由于相应的字段具有关键字的特性,即不能为空,所以只能用此命令插入记录、)APPEND和INSERT都是插入一条空白记录再输入各字段的值,故不能用它们来插入记录。5.4 定义功能 考点13 表的定义

利用SQL命令建立的数据表同样可以完成在表设计器中设计表的所有功能。格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,FieldName2„] [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,FOREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne 说明:此命令除了建立表的基本功能外,还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值DEFAULT等,另外还有描述表之间联系的FOREIGN KEY和REFERENCES等。考点14 表的删除

利用SQL命令删除表,可直接使用语句,格式为: DROP TABLE Table_name 说明:如果删除的是自由表,则应该将当前打开的数据库先关闭,才能进行删除。如果删除数据库表,则要先打开数据库,在数据库中进行操作二否则,即使删除了数据库表,但记录在数据库中的信息并没有被删除,此后会出现错误提示。考点15 表结构的修改

修改表结构的命令是ALTER TABLE,该命令有3种格式。

(1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕](2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK](3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕

[ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考点16 视图的定义 1视图的概念及其定义(l)视图的概念。

Visual FoxPro中视图是一个虚拟的表,可以是本地的、远程的或带参数的。(2)视图的定义,格式为:

CREATE VIEW view name[(column_name[,column_name]„)] AS select_statement 2从单个表派生出来的视图

视图一经定义,就可以和基本表一样进行各种查询,也可以进行一些修改操作。对于最终用户来说,有时并不需要知道操作的是基本表还是视图。3从多个表派生出来的视图

视图一方面可以限定对数据的访问,另一方面又可以简化对数据的访问。4视图的删除

视图由于是从表派生出来的,所以不存在修改结构的问题,但是视图可以删除。格式:DROP VIEW<视图名> 5关于视图的说明

在关系数据库中,视图始终不真正含有数据,它总是原有表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新和删除操作在视图上却有一定限制。在一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新和删除操作都不允许进行。这种限制是很有必要的,它可以避免一些潜在问题的发生。5.1 查询与视图

考点1 查询设计器 1查询的概念

查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询以扩展名为QPR的文件保存在磁盘上的,这是一个文本文件,它的主体是SQL SELECT语句。2查询的建立

建立查询可以使用“查询设计器”,但它的基础是SQL SELECT语句。建立查询的方法有以下几个方面。

(l)可以利用CREATE QUERY命令打开查询设计器建立查询。(2)可以利用“新建”对话框打开查询设计器建立查询。

(3)可以在项目管理器的“数据”选项卡中打开查询设计器建立查询。(4)可直接编辑QPR文件建立查询。建立查询时,首先进入如图6-1所示的界面选择用于建立查询的表或视图,选择表或视图后,单击“添加”按钮。最后单击“关闭”按钮,进入如图6-2所示的查询设计器界面。

图6-1 为查询选择表或视图

查询设计器中的各选项卡和SQL SELECT语句的各短语是相对应的,对应关系如下。“字段”――SELECT短语,用于指定要查询的数据 “连接”――JOIN ON短语,用于编辑连接条件。“筛选”――WHERE短语,用于指定查询条件。

“排序依据”――ORDER BY短语,用于指定排序字段和排序方式。“分组依据”――GROUP BY短语和HAVING短语,用于分组。

图6-2 查询设计器 3查询的运行

运行查询有下列两种方法。

(1)可以在项口管理器的“数据”选项卡中,展开“查询”选项,然后选择要运行的查询文件,单击“运行”按钮,可查看查询结果。(2)在命令窗门执行命令DO QueryFile。

注意:此处的查询文件名是全名,包括扩展名QPR。4查询去向

设计查询的目的不只是完成一种查询功能,在查询设计器中可以根据需要为查询输出定位查询去向。通过“查询”菜单卜的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮。“查询去向”对话框如图6-3所示

图6-3 “查询去向”对话框 各去向的含义如下。

(1)浏览:在“浏览”(BROWSE)窗口中显示查询结果,这是默认的输出去向。(2)临时表:将查询结果存储于一个命名的临时只读表中。(3)表:将结果保存在一个命名的数据表文件中。(4)图形:查询结果可以用于Microsoft Graph。

(5)屏幕:在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。(6)报表:将结果输出到一个报表文件。(7)标签:将结果输出到一个标签文件。小提示:

在7种输出去向中,只有“浏览”和“屏幕”两种输出去向才能直接看到查询结果。6.2 视图

考点2 视图的概念与建立 1视图的概念

视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时才能使用。

视图兼有“表”和“查询”的特点,与查询相类似的地方是可以用来从一个或多个相关联的表中提取有用信息;与表类似的地方是可以用来更新其中的信息,并将结果永久性保存在磁盘上。

2视图的建立

(l)用CREATE VIEW命令打开视图设计器建立视图。(2)利用“新建”对话框打开视图设计器建立视图。

(3)在项目管理器的“数据”选项卡中打开视图设计器建立视图。(4)利用SQL命令CREATE VIEW...AS...建立视图。3视图设计象

视图设计器(如图6一所示)与查询设计器基本上一样,主要有以下几点不同。(1)视图的结果保存在数据库中,在磁盘上找不到类似的文件。

(2)视图可以用来更新数据,因此在设计器中多了一个“更新条件”选项卡。(3)在视图中没有“查询去向”的问题。

图6-4 视图设计器

考点3 远程视图与连接

为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visual FoxPro数据库中的一种对象。1定义数据源和连接

数据源一般是ODBC数据源,开放数据库互连ODBC是一种连接数据库的通用标准。为了定义ODBC数据源,必须首先安装ODBC驱动程序。2建立连接

建立连接的方法有以下几种。(1)用CREATE CONNECTION命令打开“连接设计器”,或完全用命令方式建立连接。(2)通过“新建”对话框建立连接。

(3)在项目管理器的“数据”选项卡中建立连接。3设计远程视图

利用数据源或连接建立的远程视图的SQL语法要符合远程数据库的语法,例如,SQL Server的语法和Visual FoxPro的语法就有所区别。考点4 视图与数据更新

视图是根据基本表派生出来的,所以把它叫做虚拟表为了通过视图能够更新基本表中的数据,需要在视图设计器的“更新条件”选项卡中的左下角选中“发送SQL更新”复选框。1指定可更新的表

如果视图是基于多个表的,默认可以更新“全部表”的相关字段,如果要指定只能更新某个表的数据,则可以通过“表”下拉列表框选择表 2指定可更新的字段

在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”表示关键字,“铅笔”表示更新通过单击相应列可以改变相关的状态,默认可以更新所有非关键字字段,并且通过基本表的关键字完成更新,即Visual FoxPro用这些关键字字段来唯一标识那些已在视图中修改过的基本表中的记录建议不要改变关键字的状态,不要试图通过视图来更新基本表中的关键字字段值,如有必要,可以指定更新非关键字字段值 3检查更新的合法性 如图6-1所示,“SQL WHERE子句包括”框中的选项决定哪些字段包含在UPDATE或DELETE语句的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到远程数据源或基本表中,WHERE子句就是用来检查自从提取记录用于视图中后,服务器上的数据是否已经改变。“SQL WHERE子句包括”框中各选项的含义如下。

(l)关键字段:当基本表中的关键字字段被改变时,更新失败。

(2)关键字和可更新字段:当基本表中任何标记为可更新的字段被改变时,更新失败。

(3)关键字和已修改字段:当在视图中改变的任一字段的值在基本表中已被改变时,更新失败。

(4)关键字和时间戳:当远程表上记录的时间戳在首次检索之后被改变时,更新失败。4使用更新方式

“使用更新”框的选项决定当向基本表发送SQL更新时的更新方式。

(1)SQL DELETE然后INSERT:先用SQL DELETE命令删除基本表中被更新的旧记录,再用SQL INSERT命令向基本表中插入更新后的记录。

(2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考点5 使用视图

视图建立后,不但可以用它来显示和更新数据,而且可以通过调整它的属性来提高性能,它的使用类似于表。1视图操作

(1)在数据库中使用USE命令打开或关闭视图。(2)在“浏览器”窗口中显示或修改视图中的记录。(3)使用SQL语句操作视图。

(4)在文本框、表格控件、表单或报表中使用视图作为数据源。2使用视图

视图一经建立就基本可以像基本表一样使用,适用于基本表的命令基本都可以用于视图。比如在视图上也可以建立索引,此索引当然是临时的,视图一关闭,索引自动删除,多工作区时也可以建立联系等。但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由基本表派生出来的,只能修改视图的定义。

小提示:

查询与视图的区别是:查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据;而利用视图可以修改数据,可以利用SQL将对视图的修改发送到基本表,特别是对于远程表的操作,利用视图是非常有效的。

6.1表单与控件 面向对象的概念 考点1 对象与类 1对象(Object)客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念二(1)属性:用来表示对象的状态。(2)方法:用来描述对象的行为。2类(Class)类是对一类相似对象性质的描述。同类对象具有相同的性质:相同的属性及方法。考点2 子类与继承 1继承

继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指基于现有类的方法和属性。2类

我们把新类称为现有类的子类,而把现有类称为新类的父类。一个子类的成员一般包括以下两个方面。

(l)从其父类继承的成员,包括属性、方法。(2)由子类自己定义的成员,包括属性、方法。8.2 Visual FoxPro基类简介 考点3 Visual FoxPro基类

Visual FoxPro中所有基类共有的属性如表8-1所示。表8-1 Visual FoxPro基类的最小属性集

(l)在编程方式里,对象的生成通常使用CREATE OBJECT函数来完成,格式为: CREATE OBJECT(<类名>[,<参数1>,<参数2>,„])说明:函数基于指定的类生成一个对象,并返回对象的引用。(2)对象属性访问及对象方法调用的基本格式为: <对象引用>.<对象属性> <对象引用>.<对象方法>[(„)] 考点4 容器与控件

Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。

(l)控件:是一个可以以图形化的方式显示出来并能与用户进行交互式的对象。(2)容器:可看成是一个特殊的控件,它能包容其他的控件或容器。(3)层次:容器内的包容关系形成r对象的嵌套层次关系。对象的层次概念与类的层次概念是两个完全不同的概念对象的层次关系指的是包容与被包容的关系,而类的层次指的是继承与被继承的关系。

在对象的嵌套层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置。对象引用的几个属性或关键字如表8-2所示。表8-2 对象引用的几个属性或关键字

考点5 事件

事件是一种由系统预先定义而由用户或系统发出的动作。它作用于对象,对象识别事件并做出相应的反应。与方法集可以无限扩展不同的是,事件集是固定的。用户不能定义新的事件。表8-3列出了VisualFoxPro基类的最小事件集,不管哪个基类都包含这些事件。表8-3 Visual FoxPro基类的最小事件集

8.3 创建与管理表单

考点6 创建、修改及运行表单 1使用表单向导创建表单

调用表单向导的方法有多种,这里只做简单介绍。

(l)在“项目管理器”窗口中,选择“文档”选项卡,选择其中的“表单”图标。(2)单击“新建”按钮,系统弹出“新建表单”对话框。(3)单击“表单向导”图标按钮,打开“向导选取”对话框。(4)从列表框中选择要使用的向导,然后单击“确定”按钮。2使用表单设计器创建表单

可以使用以下3种方法中的任何一种调用表单设计器。(1)在项目管理器环境下调用。(2)菜单方式调用。(3)命令方式调用。3修改已有的表单

一个表单无论是通过任何途径创建的,都可以使用表单设计器进行编辑修改。我们可以通过项目或使用命令“MODIFY FORM<表单名>”来打开表单设计器。4运行表单

可以采用下列方法运行通过表单设计器创建的表单文件。

(1)在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。

(2)在表单设计器环境下,选择“表单”菜单中的“执行表单”命令,或单击标准工具栏上的“运行”按钮。

(3)选择“程序”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。(4)在命令窗口中输入命令,格式为:

DO FORM<表单文件名>[NAME<变量名>] WITH<实参>[,<实参>,„][LINKED][NOSHOW] 考点7 管理表单属性和方法

可以向表单添加任意数量的新属性和新方法,并像引用表单的其他属性和方法一样引用它们。Visual FoxPro中表单的属性大约有100个,但绝大多数很少用到。表8-4列出了常用的一些表单属性,这些属性规定了表单的外观和行为。表8-4 表单的常用属性

1创建新属性

向表单添加新属性的方法如F。

(l)选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框,如图8-1所示。(2)在“名称”文本框中输入新属性的名称。

(3)有选择地在“说明”列表框中输入新建属性的说明信息。

图8-1 “新建属性”对话框

2创建新方法

向表单添加新方法的步骤如下

(l)运行“表单”→“新建方法程序”命令,打开“新建方法程序”对话框,如图8-2所示。(2)在“名称”文本框中输入新方法名。

(3)有选择地在“说明”列表框中输入新建方法的说明信息。

图8-2 “新建方法程序”对话框

3编辑方法或事件代码

在表单设计器中,编辑方法或事件代码的步骤如下。

(1)选择“显示”菜单中的“代码”命令,打开代码编辑窗口,如图8-3所示。(2)从“对象”框中选择方法或事件所属的对象。(3)从“过程”框中指定需要编辑的方法或事件。(4)在编辑区输入或修改方法或事件的代码。

图8-3 代码编辑窗口

考点8 常用事件与方法

下面将以表的形式简单介绍一下表单及控件常用的一些事件和方法,如表8-5所示。表8-5 常用的一些属性和方法

8.4 表单设计器

考点9 表单设计器环境

表单设计器启动后,在Visual FoxPro的主窗口中出现“表单设计器”窗口、“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏及“表单”菜单。1“表单设计器”窗口

用户可视化地添加和修改控件的窗口。2“属性”窗口

如图8-4所示,在“属性”窗口中包括对象框、属性设置框、方法和事件列表。用户可在此窗口中选择表取中的控件,并为表单设计属性、方法及事件。

对于表单及控件的绝大多数属性,其数据类型是固定的。一般来说,要为属性设置一个字符型数值,可以在设置框中直接输入,不需要加定界符。

“属性”窗口可以通过单击“表单设计器”工具栏中的“属性窗口”按钮或选择“显示”菜单中的“属性环境”命令打开或关闭。

图8-4 “属性”窗口

3“表单控件”工具栏

如图8-5所示,利用“表单控件”工具栏可以方便地向表单添加控件。

图8-5 “表单控件”工具栏

除了控件按钮外,“表单控件”工具栏还包含“选定对象”、“按钮锁定”、“生成器锁定”和“查看类”4个辅助按钮。4“表单设计器”工具栏

“表单设计器”工具栏如图8-6所示,它可以通过“显示”菜单中的“工具栏”命令打开或关闭。

图8-6 “表单设计器”工具栏

5“表单”菜单 “表单”菜单中的命令主要用于创建、编辑表单或表单集,如为表单增加新的属性和方法等。考点10 控件的操作与布局 1控件的基本操作

在表单设计器下,对表单上的控件可进行移动、改变大小、复制、删除等操作。(l)选定控件。(2)移动控件

(3)调整控件大小。(4)复制控件。(5)删除控件。2控件布局 利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。“布局”工具栏丁以通过单击“表单设计器”工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。3设置Tab键次序

当表单运行时,用户可以按Tab键选择表单中的控件,使焦点在控件间移动。控件的Tab键次序决定了选择控件的次序。Visual FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。考点11 数据环境 1数据环境的常用属性

常用的两个数据环境是AutoOpenTables和AutoCloseTables,其功能如下。

(1)AutoOpenTables;表示当运行或打开表单时,是否打开数据环境中的表和视图,默认值为逻辑真.T.)。

(2)AutoCloseTables:表示当释放或关闭表单时,是否关闭由数据环境指定的表和视图,默认值为逻辑真(.T.)。

2打开数据环境设计器

可通过单击“表单设计器”工具栏中的“数据环境”按钮,也可以选择“显示”菜单中的“数据环境”命令打开或关闭“数据环境设计器”窗口。3向数据环境中添加表或视图

(1)选择“数据环境”菜单中的“添加”命令,或用鼠标右键单击“数据环境设计器”窗口,然后在弹出的快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。

(2)选择要添加的表或视图并单击“添加”按钮。如果单击“其他”按钮,将调出“打开”对话框,用户可以从中选择需要的表。4从数据环境中移去表或视图

在数据环境设计器环境下,按下列方法从数据环境移去表或视图。(1)在“数据环境设计器”窗口中,单击选择要移去的表或视图。(2)选择“数据环境”菜单中的“移去”命令。

也可以用鼠标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择“移去”命令。当表从数据环境中移去时,与这个表有关的所有关系也将随之消失。5在数据环境中设置关系

如果添加到数据环境的表之间具有在数据库中设置的永久关系,这些关系也会自动添加到数据环境中。如果表之间没有永久关系,可以根据需要在数据环境设计器下为这些表设置关系。6在数据环境中编辑关系

关系是数据环境中的对象,它有自己的属性、方法和事件。常用的关系属性如表8-6所示。

表8-6 常用的关系属性

7向表单添加字段

我们可以利用“表单控件”工具栏方便地将一个标准控件放置到表单上,也可以从“数据环境设计器”窗口、“项目管理器”窗口或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相联系。8.5 常用表单控件

考点12 标签(Label)控件 标签的常用属性如下

(1)Caption属性:指定标签的标题文本很多类控件都具有Caption属性。用户可以利用该属性为所创建的对象指定标题文本。

(2)Alignment属性:指定标题文本在控件中的显示对齐方式。该属性包括三个属性值――0、1和2,分别代表左对齐、右对齐和中央对齐。考点13 命令按钮(CommandButton)控件 命令按钮的常用属性如下。

(1)Default属性:该属性默认值为.F.。当属性为.T.时,可称为“确定”按钮,一个表单中只能包含一个“确定”按钮;在Windows中,当焦点不在命令按钮上时,按Enter键,系统将自动执行该命令按钮的Click事件代码、(2)Cancel属性:该属性默认值为.F.。当属性为.T.时,可称为“取消”按钮,在表单中,可通过Esc键执行该命令按钮中的Click事件代码一个表单中可有多个命令按钮的Cancel属性值为.T.。(3)Enabled属性:指定表单或控件能否响应用户引发的事件。默认的属性值为.T.,即对象是有效的,当Enabled=.F.时,只是用来显示只读的信息。

(4)Visible属性:指定对象是可见还是隐藏。默认的属性值为.T.,即对象是可见的。考点14 命令组(CommandGroup)控件

命令组是包含一组命令按钮的容器控件,其常用属性如下。

(1)ButtonCount属性:指定命令组中命令按钮的个数,默认的属性值为2。(2)Buttons属性:用于存取命令组中各按钮的数组。用户可以利用该数组为命令组中的命令按钮设置属性或调用其方法,属性数组下标的取值范围应该在1到ButtonCount属性值之间。(3)Value属性:指定命令组当前的状态。该属性的类型可以是数值型,也可以是字符型。考点15 文本框(TextBox)控件 文本框的常用属性如下。

(1)ControlSource属性:可利用该属性为文本框指定一个字段或内存变量,运行时,文本框中首先显示该变量的内容

(2)Value属性:返回文本框的当前内容。该属性的默认值是空串。(3)PasswordChar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。该属性的默认值是空串,此时没有占位符。当为属性指定一个占位符(例如*)后,文本框中只显示占位符。

(4)InputMask属性:指定在一个文本框中如何输入和显示数据。各种模式符的功能如表8-7所示。

表8-7 模式符及其功能

考点16 编辑框的常用属性如下。

(1)AllowTabs属性:指定编辑框中能否使用Tab键。该属性的默认值为.F.,当按Tab键时,焦点移出编辑框。

(2)HideSelection属性:指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。该属性的默认值为.T.,即当编辑框失去焦点时,编辑框中选定的文本不显示为选定状态(3)ReadOnly属性:指定用户能否编辑编辑框中的内容。如果该属性的默认值为.F.,则叮以编辑编辑框中的内容;当属性值为.T.时,编辑框中的内容为只读。

(4)ScrollBars属性:指定编辑框是否具有滚动条。该属性包括“0-无” 和“2-垂直”两个属性值。

(5)SelStart属性:返回用户在编辑框中所选文本的起始位置或插入点位置。属性的有效取值范围在0与编辑区中的字符总数之间。

(6)SelLength属性:返回用户在控件的文本输入区中所选定字符的数目,或指定要选定的字符数目。

(7)SelText属性:返回用户编辑区内选定的文本。如果没有选定文本,将返回空串。考点17 复选框(CheckBox)控件 复选框的常用属性如下。

(1)Caption属性:用来指定显示在复选框旁边的文字。

(2)Value属性:用来指明复选框的当前状态,共有3种情况:0或.F.表示未被选中;1或.T.表示被选扣;2或.NULL.表示不确定,只在代码中有效。

(3)ControlSource属性:指明与复选框建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型或数值型。考点18 选项组(OptionGroup)控件

选项组是包含若干个选项按钮的一种容器控件,其常用属性如下。(1)ButtonCount属性:指定选项组中选项按钮的数目,其默认值为2,(2)Value属性:用于指定选项组中哪个选项按钮被选中。该属性值的类型可为数值k1J或字符型。

(3)ControlSource属性:指明与选项组建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是字符型或数值型

(4)Buttons属性:用于存取选项组中每个按钮的数组,其含义与命令组的Buttons类似。考点19 列表框(ListBox)控件 列表框的常用属性如下

(1)RowSourceType属性与RowSource属性:RowSourceType属性指明列表框中的条目数据源的类型,RowSource属性指定列表框的条目数据源。RowSourceType属性共有10种取值范围:0-无(默认值)、1-值,2-别名、3-SQL语句,4-查询(.qpr),5-数组,6-字段,7-文件,8-结构,9-弹出式菜单。(2)List属性:用以存取列表框中数据条目的字符串数组。(3)ListCount属性:指明列表框中数据条目的数目。(4)ColumnCount属性:指定列表框的列数。

(5)Value属性:列表框中被选中的条目。该属性可以是数值型,也可以是字符型。

(6)ControlSource属性:该属性在列表框中的用法和在其他控件中的用法有所不同。用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。(7)Selected属性:指定列表框内的某个条目是否处于选定状态〕(8)MultiSelect属性:指定用户在列表框控件内进行多重选定。其中,0或.F.表示不允许多重选定,为系统默认值;1或.T.表示允许多重选定。考点20 组合框(ComboBox)控件

组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框的特点如下。(1)对于组合框来说,通常只有一个条目是可见的。(2)组合框不提供多重选定的功能。

(3)组合框可通过Style属性设置其形式,共有两种:0表示下拉组合框,2表示下拉列表框。考点21 表格(Gride)控件 表格是一种容器对象。一个表格对象由若十列对象组成,每个列对象包含一个标头对象和若干控件,它们都有自己的属性、事件和方法。1表格的常用属性

(l)RecordSourceType属性与RecordSource属性:RecordSourceType属性指明表格数据源类型,RecordSource属性指定表格数据源。其中数据类型共有5种取值范围:0-表、1-别名(默认值)、2-提示、3-查询(.qpr)、4-SQL语句。

(2)ColumnCount属性:指定表格的列数,即一个表格对象所包含的列对象数目。(3)LinkMaster属性:用于指定表格控件中所显示的子表的父表名称。(4)ChildOrder属性:用于指定建立一对多的关联关系,子表所要用到的索引。该属性类似于SET ORDER命令。

(5)RelationalExpr属性:确定基于主表字段的关联表达式。2常用的列属性

(1)ControlSource属性:指定要在列中显示的数据源,常见的是表中的一个字段。

(2)CurrentControl属性:指定列对象中的一个控件,该控件用以显示和接收列中活动单元格的数据。

(3)Sparse属性:用于确定CurrentControl属性是影响列中的所有单元格还是影响活动单元格。

3常用的标头(Header)属性

(1)Caption属性:指定标头对象的标题文本,显示于列顶部。(2)Alignment属性:指定标题文本在对象中显示的对齐方式。考点22 页框(PageFrame)控件

页框是包含页面(Page)的容器对象,其常用属性如下。

(1)PageCount属性:用于指明一个页框对象所包含的页对象的数量。最小值为0,最大值为99。

(2)Pages属性:该属性是一个数组,用于存取页框中的某个页对象。(3)Tabs属性:指定页框中是否显示页面标签栏。

(4)TabStretch属性:如果页面标题文本太长,可通过设置该属性利用多行显示。其中0表示多重行,1表示单行(默认值)。

(5)ActivePage属性:返回页框中活动页的页号,或使页框中的指定页 7.1菜单设计

9.1 Visual FoxPro系统菜单 考点1 菜单结构 Visual FoxPro支持两种类型的菜单:条形菜单和弹出式菜单。菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内部名称或选项序号则用于在代码中引用。每一个菜单项都可以选择设置一个热键和一个快捷键。无论哪种类型的菜单,当选择某个选项时都会有一定的动作,这个动作可以是下列3种情况之一:执行一条命令、执行一个过程或激活另一个菜单。考点2 系统菜单 Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。条形菜单的内部名字为_MSYSMENU,也可看做是整个菜单系统的名字。

条形菜单中常见选项的名称及内部名字如表9-1所示,各弹出式菜单的内部名字如表9-2所示。表9-3的是“编辑”菜单中常用选项的选项名称和内部名字。表9-1 主菜单(MSYSMENU)常见选项

表9-2 弹出式菜单的内部名字

表9-3 “编辑”菜单(_MEDIT)常用选项

通过SET SYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新配置系统菜单,格式如下。

SET SYSMENU ON|OFF AUTOMATIC |TO[<弹出式菜单名表>] |TO[<条形菜单项名表>] |TO[DEFAULT]|SAVE|NOSAVE 小提示:

如不带任何参数,直接SET SYSMENU TO命令,将屏蔽系统菜单,使系统菜单不可用。9.2 下拉式菜单设计

考点3 菜单设计的基本过程

用菜单设计器设计下拉式菜单的基本过程如下。(l)调用菜单设计器。

(2)在“菜单设计器”窗口中定义菜单,指定菜单的各项内容,定义完成后,通过菜单命令“保存”或直接使用快捷键Ctrl+W保存菜单。

(3)通过菜单命令“菜单”*“生成”命令,产生可执行的菜单程序文件(MPR)。

(4)在命令窗口中,使用DO命令执行菜单文件,此处的文件扩展名MPR不能默认。菜单设计的基本流程如图9-1所示。

图9-1 菜单设计的基本流程图 考点4 定义菜单

1“菜单设计器”窗口

“菜单设计器”窗口每页显示和定义一个菜单,可以是条形菜单(菜单栏),也可以是弹出式菜单(子菜单)。“菜单设计器”窗口打开时,首先显示和定义的是条形菜单,即主菜单名。窗口的左边是一个列表框,其中每一行定义当前菜单的一个菜单项,包括“菜单名称”、“结果”和“选项”3列内容(如图9-2所示)。(1)“菜单名称”列。(2)“结果”列。(3)“选项”列。2“显示”菜单

在菜单设计一器环境下,系统“显示”菜单会出现两条命令。(1)“常规选项”对话框。(2)“菜单选项”对话框。

图9-2 “菜单设计器”窗口 考点5 用编程方式定义菜单

无论是条形菜单还是弹出式菜单,都可以通过命令进行定义和设计。此处介绍几种有关菜单定义的简单命令。(1)条形菜单定义。(2)弹出式菜单定义。

考点6 为顶层表单添加菜单

为顶层表单添加下拉式菜单的方法和过程如下。(1)在“菜单设计器”窗口中设计好下拉式菜单。

(2)打开“常规选项”对话框,选中对话框右下角的“顶层表单”复选框。(3)将表单的ShowWindow属性设置为2,使之成为顶层表单。(4)在表单的Init事件中添加调用菜单的程序代码: DO<文件名>WITH This[,“<菜单名>”] 此处的<文件名>是指被调用的菜单程序文件(MPR),<菜单名>是为被添加的下拉式菜单的条形菜单指定的一个内部名字。

(5)在表单的Destroy事件中添加清除菜单的程序代码: RELEASE MENU<菜单名>[EXTENDED] 其中EXTENDED表示在清除条形菜单时一起清除其下属的所有子菜单。9.3 快捷菜单设计

考点7 快捷菜单的建立与执行

与下拉式菜单相比,快捷菜单没有条形菜单,只有弹出式菜单。建立快捷菜单的方法和过程如下。

(1)打开“新建”对话框二

(2)在“新建”对话框中选择“菜单”选项.单击“新建文件”按钮。

(3)在“新建菜单”对话框中选择“快捷菜单”选项,打开“快捷菜单设计器”窗口。

(4)用与设计下拉式菜单相似的方法,在“快捷菜单设计器”窗口中设计快捷菜单,生成菜单程序文件。

(5)在快捷菜单的“清理”代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除菜单,释放其所占用的内存空间,格式为: RELEASE POPUPS<快捷菜单名>[EXTENDED](6)在设计器环境下,选定需要添加快捷菜单的对象。

(7)在选定对象的RightClick事件代码中,添加调用快捷菜单程序的格式为: DO<快捷菜单程序文件名> 此处的文件扩展名MPR不能默认。

第五篇:计算机等级《二级C语言程序设计》押题卷

计算机等级《二级C语言程序设计》预测试卷

(一)一、单项选择题(共40题,合计40分)1以下能正确定义一维数组的选项是()。A.int a[5]={0.1,2.3.4,5); B.char a口={0,1,2,3,4,5); C.char a={'A’,'B','C'); D.int a[5]=”0123”; [正确答案]B

试题解析: 数组下标从0开始,A选项中所赋值的个数超过了数组的长度;c选项中定义a为字符型变量,而不是数组,赋值错误;D选项中,整型数组不能赋字符串。

2视图设计一般有3种设计次序,下列不属于视图设计次序的是()。A.自顶而下 B.由内向外 C.由外向内 D.自底向上 [正确答案]C

试题解析: 视图设计的设计次序分3种:自顶向下、自底向上和由内向外。它们为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握。

3链表不具有的特点是()。A.不必事先估计存储空间 B.町随机访问任意元素

C.插入、删除不需要移动元素 D.所需空间与线性表长度成正比 [正确答案]B

试题解析: 链表采用的是链式存储结构,它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,插入、删除不需要移动数据元素。但是链式存储结构也有不足之处:每个结点中的指针域需额外占用存储空间,它是一种非随机存储结构。

4有以下程序: main(){ int x,i;

for(i=l;i<=50;i++){x=i; if(x%2=0)if(x%3=0)if(x%7=0)printf(”%d,i)”; } } 输出结果是()。A.28 B.27 C.42 D.41 [正确答案]C

试题解析: 只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择C选项。

5若已定义:int a口一(0,1,2,3,4,5,6,7,8,9),*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是()。A.a[p-a] B.*(&a[i])C.p[i] D.*(*(a十i))[正确答案]D

试题解析: A:P开始是数组a首地址,只要p++则再减去a的首地址aEp—a]就能取到所有元素,B:&a[i]循环取其地址,*(&a[i])是该地址中所存储的元素C:p就是指针变量,相当于a[i],D:*(a+i)则正确。

6设有下列程序段: char str[]=“HelloWorld”: char*ptr; ptr=str;执行上面的程序段后,*(ptr+10)的值为()。A.'\O' B.'0' C.不确定的值 D.'0'的地址 [正确答案]A

试题解析: 本题主要考查字符数组和指针,在c语言中,字符型数组在存放字符串时会自动在末尾加上'',所以数组str有ll个元素;ptr指向数组str的首地址,ptr+10是指向str[10],*(ptr+10)是引用strEl0]的值。

7下列4个关于C语言的结论中错误的是()。

A.可以用do while语句实现的循环一定可以用while语句实现 B.可以用for语句实现的循环一定可以用while语句实现 C.可以用while语句实现的循环一定可以用for语句实现

D.do-while语句与while语句的区别仅是关键字“while”出现的位置不同 [正确答案]D

试题解析: 本题考查对各个循环语句的理解。①do—while语句、for语句、while语句所实现的循环可以相互替代;②d0—while语句至少执行一次,而while是符合条件执行,不符合不执行。

8有以下程序: #include main()

{char s[]=“012xyO8s34f4w2‘; int i;n=0;,for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++; printf(”%dn“,n); } 程序运行后的输出结果是()。A.0 B.3 C.7 D.8 [正确答案]B

试题解析: 考查简单的C程序数组和循环。for循环是指i=0,如果s/[3]!=0,则i自动加1。if循环指的是s[i]中的元素大于等于0且小于等于9,则n加l,所以答案为B。

9若有以下说明,则()不是对strcpy库函数正确的调用。strcpy库函数用于复制一个字符串:char*str1==”abed”,strZ[10],*str3=”hijklmn“,*str4[-2],*str5=”aaaa”; A.strcpy(str2,str1)B.strcpy(str3,slrl)C.strcpy(str1,str2)

D.strcpy(str5,strl)[正确答案]C

试题解析: strcpy(sl,s2)函数的功能是将字符串s2复制到字符串sl中。要保证sl存储区能容纳下s2字符串。

10数据库系统的核心是()。A.数据模型

B.数据库管理系统 C.数据库

D.数据库管理员 [正确答案]B

试题解析: 本题考查对数据库系统的理解。数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台5个部分构成。其中数据库管理系统是数据库系统的核心,它负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等工作。

11有下列函数定义: fun(float h){ printf(”%f,%f\n”,h,h*h);)该函数的类型是()。A.int类型 B.float类型 C.void类型

D.函数无类型说明,定义有错 [正确答案]A

试题解析: 本题考查函数值的类型,在函数定义时,由于函数没有说明其类型,系统默认一律自动按整型(int)处理。

12有以下程序 #include struct tt {int x;struct tt*y;)*P;

struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a); main(){ int i;

P—a: .

for(i=1;i<=2;i++)(printf(”%d,”,p->x);P =P->y:})程序的运行结果是()。A.20,30,B.30,17,C.15,30,D.20,15,[正确答案]D

试题解析: 程序的结构体数组a的元素形成了一个单向的循环链表,每个元素的指针成员都指向下一个元素的地址。有以下程序: main(){ union {char ch[2]; im d;

d一0x4321;

printf(”%x,%x\n”,s.ch[O],s.ch[1]);)S;

在16位编译系统上,程序执行后的输出结果是()。A.21,43 B.43,21 C.43,00 D.21,00 [正确答案]A

试题解析: s是一个公用体,d的值分别与ch中的两个元素的值相同,d的高位放在eh[1]中、低位放在ch[O]中,因此输出的结果为21,43。

14有以下程序: main(){int a=0,b=0;

a=10; /*给a赋值 b=20; 给b赋值 */ printf(”a+b=%d\n”,a+b);//输出计算机结果)程序运行后的输出结果是()。

A.a+b=10 B.a+b=30 C.30 D.出错 [正确答案]A

试题解析: 本题中/*……*/为多行注释,所以可知b=20为注释语句,在程序运行时不起作用,b仍为0,所以本题中选项A正确。

15若有定义:“int a[2][3];”,则对a数组的第i行第j列元素的正确引用为()。A.*(*(a+i)+j)B.(a+i)[j] C.*(a+j+j)D.*(a+i)+j [正确答案]A

试题解析: 通过地址来引用数组元素的方法有下列5种:①a[i][j];②*(a[i]+J);③*(*(a+i)+j);④*(aEiJEj]);⑤(&a[o]EoJ+3*i十j)。故A正确。

16以下程序的输出结果是()。main(){int i,a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf(”%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]; } A.0650 B.1470 C.5430 D.输出值不定 [正确答案]A

试题解析: 当所赋的值不够其列的宽度时,系统在其后自动补0,因此a[o][3]=0,a[-1][2]=6,a[2][1]=5,a[3][o]=0,故选择A选项。

17软件生命周期中,花费最多的阶段是()。A.详细设计 B.软件编码 C.软件测试

D.软件维护 [正确答案]D

试题解析: 本题考查对软件生命周期的理解,软件生命周期整体上可分为定义阶段、开发阶段和维护阶段。其中定义阶段包括可行性研究与计划制订和需求分析;开发阶段包括概要设计、详细设计、开发和测试;维护阶段是一个单独阶段,不包含在开发阶段内,它是所花费用最多的一个阶段。

18语句“printf(”a\bre”\'hi\’y\\\bou\n”);”的输出结果是()。A.a\bre\'hi\'y'\\\bou B.a\bre\'hi\\y\bou C.re'hi'you D.abre'hi'y\bou [正确答案]C

试题解析: 先输出a、b表示退一格,当执行到:\b后,1光标往后退,接着输出re’hi’y\(反斜杠后又加一个反斜杠的意思是要输出一个反斜杠),此时又执行:\b后,\就被OU 覆盖。

19有以下程序 #include void fun(int x){if(x/Z>1)fun(x/Z); printf(”%d“,x); } main(){fun(7);printf(”n“);} 程序运行后的输出结果是()。A.1 3 7 B.7 3 1 C.7 3 D.3 7 [正确答案]D

试题解析: 本程序主要考查递归函数。fun(7),首先将参数代入函数,因为(7/2)>1,所以执行f(3),依此类推直到f(1.5),(1.5/2)<1,所以执行打印函数,此时X值为3,然后退出f(1.5),返回f(3),打印x值即7。所以选D。

20下列运算符中优先级最低的算符是()。A.|| B.!= C.<一 D.十

[正确答案]A

试题解析: C语言中规定运算符的优先顺序:一元算术运算符一>二元算术运算符一>关系运算符一>逻辑运算符一>赋值运算符,A项中为逻辑运算符,B项和C项都为关系运算符,D项为一元运算符。因此最低的是A项。

21软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于()。A.定义阶段 B.开发阶段 C.维护阶段 D.上述三个阶段 [正确答案]B

试题解析: 开发阶段在开发初期分为需求分析、总体设计、详细设计3个阶段,在开发后期分为编码、测试两个子阶段。

22有以下程序 #include main(){char cl,c2;

c1='A'+'8'-'4' c2='A'+'8'-'5';printf(”%C,%dn“,cl,c2); } 已知字母A的ASCIl码为65,程序运行后的输出结果是()。A.E,69 B.D,69 C.E,D D.输出无定值 [正确答案]A

试题解析: 本值输出两个值,%c为输出一个字母,0/4d输出一个数字。“A”的ASCIl码为65,再加 4之后为69,也就是字母E,所以本题A正确。

23设有以下语句: int a=1,b=2,c; c=a^(b<<2);

执行后,c的值为()。A.6 B.7 C.8 D.9 [正确答案]D

试题解析: 本题考查两个知识点,按位异或左移把b左移2位化成二进制c=a^(b<<2)=a^(oooolo<<2)=a^o01000=0000001^001000=9,故选择D。

24设有二元关系R和三元关系s,下列运算合法的是()。A.Rn S B.RU S C.R-S D.R×S [正确答案]D

试题解析: 本题给出的两个关系R与s的表结构是不同的(R是二元关系,S是三元关系),它们不能进行“n、U、一”运算,却可以进行笛卡儿积(×)运算。

25结构化程序设计的3种结构是()。A.顺序结构、选择结构、转移结构 B.分支结构、等价结构、循环结构 C.多分支结构、赋值结构、等价结构 D.顺序结构、选择结构、循环结构 [正确答案]D

试题解析: 结构化程序设计的基本要点:①采用自顶向下、逐步求精的程序设计方法;②任何程序都可由顺序、选择和循环三种基本控制结构构造。

26下面for语句的循环次数为()。for(x=1,y=0;(Y!=19)&&(x<6);x++); A.是无限循环 B.循环次数不定 C.最多执行6次

D.最多执行5次 [正确答案]D

试题解析: 本题考查for循环的使用。根据条件考虑X的取值变化,X从1取到5,可以循环5次,但并不知道Y如何变化,有可能出现Y=l9提前跳出循环的情况,所以最多执行5次。

27下列叙述中正确的是()。

A.可以用关系运算符比较字符串的大小

B.空字符串不占用内存,其内存空间大小是0 C.两个连续的单引号是合法的字符常量 D.两个连续的双引号是合法的字符串常量 [正确答案]D

试题解析: 比较两个字符串大小用函数strcomp(S,t),空字符串有结束符,所以也要占用字节,两个双引号表示的是空字符串。

28以下程序的输出结果是()。void fun(int*a,int i,int j){int t; if(i

for(i=0;i<4;i++)printf(”%2d”,x[i]); printf(”\n”);)A.1,2,6,8 B.8,6,2,1 C.8,l,6,2 D.8,6,1,2

试题解析: 本题用了函数调用,fun中if语句成立则进行i,j的交换,用到主函数中则为把下标为0、3,1、2互换,因此,当执行完后x的数组为8,1,6,2,故选择C选项

29设有定义”double a[10],*s=a;“,以下能够代表数组元素a[3]的是()。A.(*s)[3] B.*(s+3)C.*s[3] D.*s+3 [正确答案]B

试题解析: 用带下标的指针变量引用一维数组元素若有以下定义和语句:“int*P,s[10],i;P=s}”,且o≤i<10,可以用&.s[i]、s+i和p+i三种表达式来表示s[i]的地址。同时可以用s[i]、*(s+i)和*(p+i)三种表达式来表示数组元素s[i]。

30下列选项中非法的字符常量是()。A.'\t' B.'39' C.',' D.'\n' [正确答案]B

试题解析: 水平制表符中,’\t'表示的是横向跳若干格;选项B中,’\039’错误,’\039’是八进制形式表的字符,最大数为7,但其中出现'9',’,’是字符逗号;选项D中,7\n’表示的是换行。

31有以下程序: main(){ int x=102,y=012; printf(”%2d,%2d\n”,x,y); } 执行后输出结果是()。A.10,01 B.02,12 C.102,10 D.02,10 [正确答案]C

试题解析: x的值为十进制数102,而Y的值为八进制数012,根据题意将Y用十进制表示为10%md,m为指定输出数据的宽度,若位数小于m则左端补以空格,若位数大于m则按实际输出,所以答案是C。

32相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。A.可重用性差 B.安全性差 C.非持久性 D.冗余性 [正确答案]D

试题解析: 文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。

33有以下程序: #include main(){ FILE*fp;

int k,n,i,a[6]={1,2,3,4,5,6};

fp=fopen(”d2.dat“,”w“);

for(i=0;i<6;i++)fprintf(fp,”%dn“,a[i]); fclose(fp);

fp(i=0;i<3;i++)fscanf(fp,”%d%d“,&k,&n);

fclose(fp);

printf(”%dn,%dn,k,n); } 程序运行后的输出结果是()。A.1, 2 B.3,4 C.5,6 D.123,456 [正确答案]C

试题解析: 此题是考查fprintf和fscanf,其中fprintf是向文件输出,文件为da2.dat文件,fscanf是向文件输入,所以根据程序循环写入和写出.可知答案为C。

34有以下程序段: int k,j,s;

for(k=2;k<6;k++,k++){ s=1;

for(j=k;j<6;j++)s+=j;)print[(”%d\n”,s);

程序段的输出结果是()。

A.9 B.1 C.11 D.10 [正确答案]D

试题解析: 因为首先k一2,然后你进行一次循环后,k自增两次,变成4,所以这时候S又成l了。然后当k一4的时候,s=1,j=4,然后执行内层循环,s=1+4,然后j自增等于5,s=5+5,然后J再自增为6,跳出内层循环。k自增两次后等于6,不成立,跳出外层循环。然后输出s的值,即为10。因此正确选项为D。

35下列叙述中正确的是()。

A.软件测试应该由程序开发者来完成 B.程序经调试后一般不需要测试 C.软件维护只包括对程序代码的维护 D.以上三种说法都不对 [正确答案]D

试题解析: 程序调试是由程序开发者完成诊断和改正程序中的错误的过程;软件测试是由专门的测试人员完成,是发现错误而执行程序的过程;软件维护是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程,是软件生存周期中非常重要的一个阶段。

36若有定义:int X,*pb;则正确的赋值表达式是()。A.pb=&X B.pb=X C.*pb=&x D.*pb=*x [正确答案]A

试题解析: *pb是指解除对*pb的引用(也可以认为是取pb所指向的地址的值),被解除引用的指针可以作为左值,&为取地址运算符,&X就是取指向变量X的指针。

37下列叙述中正确的是()。

A.为了建立一个关系,首先要构造数据的逻辑关系

B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C.一个关系的属性名表称为关系模式 D.一个关系可以包括多个二维表 [正确答案]A

试题解析: 元组分量的原子性要求二维表中元组的分量是不可分割的基本数据项。关系的框架称为关系模式。一个称为关系的二维表必须同时满足关系的7个性质。

38设有以下语句

char chl,ch2; scanf(“%c%C”,&chl,&ch2);

若要为变量chl和ch2分别输入字符A和B,正确的输入形式应该是()。A.A和B之间用逗号间隔

B.A和B之间不能有任何间隔符 C.A和B之间可以用回车间隔 D.A和B之间用空格间隔 [正确答案]B

试题解析: scanf输入函数中,格式控制J必须严格按照函数中的要求进行输入,在scanf(“%c%c”,&chl,&ch2)的格式控制语句中没有任何字符进行间隔,所以在输入时也不能使用任何字符进行间隔,所以答案选择B。

39设x=011050,则x=x&01252的值是()。A.000000 1000 101000 B.***1 C.0000001 01 1 100010 D.1100000OOOl0 1 000 [正确答案]A

试题解析: 本题主要考查按位与运算,x—Oll050的二进制形式为O001001000010lo00,01252的二进制形式为***0,两者相与得***0。

40有下列程序: #include main(){ int a=6,b=7,m=1; switch(a%2){ case 0:m++;break; case 1:m++; switch(b%2){default:m++;

case 0:m++;break;))printf(”%d\n”,m);

程序的运行结果是()。A.3 B.2 C.4 D.1 [正确答案]B

试题解析: 本题考查switch语句及break的用法。第一个switch语句,因为a=6,a%2=0,所以执行“case0,m++;”,将m加-1,遇到break语句跳出switch语句,结束循环。不执行下面的switch。

二、填空题(共1题,合计18分)41请补充main()函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。例如,当str[M]=”abcdefl23ABCD”,结果输出:“ABC DEF123ABCD”。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

试题程序: #include #include #include #define M 80 void main(){ intj;

char str[M]=“ abcdefl23ABCD”; char *pf=str; system(”CLS”):

printf(”***original string *** n”): puts(str); 【1】

while(*(pf+j)){ if(*(pf+j)>='a' &&*(pf+j)<='Z'){ *(pf+j)=【2】 ; 【3】 ;)else j++;)printf(”****new string****n”); puts(str);

system(”pause”);} [正确答案]【1】j=0【2】*(pf+j)-321311j++

试题解析: 由程序中可知,变量j为字符数组的下标,其初始值为0。因此,【l】处填“j=0”;大写字母的ASCIl码值比小写字母的小32,要将小写字母变为大写字母,因此,【2】处填“*(pftj)-32”;要将字符串数组中的所有小写字母变为大写字母,需要检查其中的每一个字符,因此,【3】处填“j++”。

三、改错题(共1题,合计24分)42下列给定程序中,函数proe()的功能是:对M名学生的学习成绩,按从高到低的顺序找出前m(m<10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

#include%stdlib.h> #include #include #include #include%malloe.h> #define M 10 typedef struct ss { char num[10]; int s; } STU;

STU *proc(STU a[],int m){ STU b[-M],*t; int i,j,k;

//****found**** *t=calloc(m,sizeof(STU)); for(i=0;ib[j].s)j=i;

//****found**** t[k].num=b[j].num; t[k].s=b[j].S; b[j].s=0; } return t: } void outresuh(STU a[],FILE *pf)f int i;

for(i=0;i

system(”CLS”);

printf(”****THE RESULT****n”); outresuh(stu,stdout);

print{(”nGive the number of the students who have better score:”); scanf(”%d”,&m); while(m>10)printf(”nGive the number of the students who have better score:”); scanf(”%d”,&m); } p()rder=proc(stu,m);

printf(”****THE RESULT****n”); printf(”The lop:n”); for(i=0:i

(1)错误:*t=ealloc(m,sizeof(STU));

正确:t=(structSS*)calloc(m,sizeof(STU));(2)错误:t[kJ.num=b[j].num; 正确:t[k]-h[j+;

试题解析: 因为t是指向一个动态存储空间,因此其是指针,而不是其中的内容,故把“*t=calloc(m,sizeof(STU))”改为“t=(structSS*)calloc(m,sizeof(STU));”,而题目要求把学生的全部内容互换,因此即整个结构体,故把“t[k]. num=bl;”改为“t[k]=;”。

四、编程与应用题(共1题,合计18分)43学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:按分数的高低排列学生的记录,高分在前。注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

# include #define M 16 typedef s truct { char num[10]; inl S;)STREC;

void proc(STREC a[])int i,j; STREC t;

for(i=1;i

in/i;

proc(stu):

prinlf(”The data afwr sorted:n”); for(i=0;i

printf(”%s%4d”,stu[i].num,stu[i].s); } printf(”n”): } [正确答案]voidproc(STRECa[]){ inti,j; STRECt;

for(i=1;i

试题解析: 要按分数的高低排列学生的记录,可以使用冒泡排序法。将每一个学生的成绩与其他学生的成绩相比较,对不符合要求的记录交换位置。

下载2018年9月全国计算机等级考试二级Office考前押题word格式文档
下载2018年9月全国计算机等级考试二级Office考前押题.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    全国计算机等级考试二级MS Office 2010高级应用Excel习题(精选五篇)

    1、小霞是一位书店的销售人员,负责对计算机类图书的销售情况进行记录、统计和分析,并按季上报分析结果。2013年1月份时她需要将2012年第四季度的销售情况进行汇总,习题文件夹下......

    课课家教育-2018年12月全国计算机等级考试二级office考试视频教程

    课课家教育网址:www.xiexiebang.com 课课家教育-2018年12月全国计算机等级考试二级office考试视频教程 课程目标:零基础通过2018年12月全国计算机二级office考试视频教程 适......

    全国计算机等级考试二级VF考点分析

    全国计算机等级考试二级VF考点分析之VF基础(第一章) 1.1 数据库基础知识 考点1 计算机数据管理的发展 1数据与数据处理 数据是指存储在某一种媒体上能够识别的物理符号。数据......

    全国计算机等级考试一级办公office考点集

    Windows基本操作题 考点1:文件(文件夹)的复制 步骤1:右键单击将要复制的文件(文件夹),选择“复制”命令,如图1.10所示。 图1.10 步骤2:打开目标文件夹,右键单击空白处,选择“粘贴”......

    全国计算机二级考试历年真题(整理)

    05年试卷 一、选择题((1)~(35)每小题2分,共70分 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)数据的存储结构是指......

    全国计算机等级考试总结

    全国计算机等级考试淮阴工学院考点 工作总结 自全国计算机等级考试在我考点开考以来,总共有73701名考生在本考点参加了考试。十多年来,从最初的每次只有200多名考生,到如今的每......

    全国计算机等级考试实施办法

    全国计算机等级考试实施办法 ------------------ 第一章 总则 第一条 全国计算机等级考试是经国家教育部批准由国家教育部考试中心主办,测试应试者计算机应用知识与能力的等......

    全国计算机等级考试总结

    全国计算机等级考试总结 禅城区南庄高中 胡永华 我校参加全国计算机一级考证已有近四年,每年两次都参加,在所有的考试中,我校的通过率相对来讲还是比较高的,对于取得这样的成绩,......