① DB伪指令的使用!
DB XXDB的作用就是定义字节型数据...比如:DB ? ;定义一个随即值的空间</b>DB '$' ;定义'$'(结束符)
DB 5 ;定义数字5
DB 5,? ;定义5和随即值的连续空间
和高级语言里声明一个常量作用是一样的...就是在内存中放了个数据...
你这里的SQRTAB里的DB定义的是一个数据区0,1,4,9,16,然后第二个数据区是25,36,49,64,81,学编程的都知道就是类似数组的作用.但是这里并不一定是数组,编译原理不一样.
[木头爱编程 [email protected]]
② 编程菜鸟
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。
目前通用的编程语言有两种形式:汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。
不要过度贬低编码
不要真的认为"不少大师级的计算机技术研究者是不懂编程的",做软件开发编码是最最基础的东西,只有踏踏实实的掌握好这个基础你才有办法往上走,不管做分析做设计做项目管理你都需要能清楚东西是如何实现的?可不可以实现?否则肯定出现大量的:"设计是设计,编码是编码","产品都是代码人员从头到尾实现的","究竟需花多少时间,难度有多大,开发人员说了算","质量/成本/进度全是黑匣子"...现象,如果你是做编码那编码就更重要了:).所以对于有志从事这个行业(软件开发)的个人来说,必须先从"重视编码"开始.过了这一关才能去考虑做系统分析,做项目管理...
软件开发的各个环节是相辅相承的,分析有分析的重要,设计有设计的重要,编码有编码的重要,测试实施也各有其地位,任何一个环节搞不好就如同我们熟悉的木桶理论,"最薄弱的一个环节制约着其总容量".
既然编码重要,那该如何学编码?
专心学好一门语言
算算自己用过的语言也不少(括号里为使用该语言写的比较有代表性的东东),C(dos版的图像/图标编辑工具,96年的《电脑报》有介绍),C++(可自定义方块形状的方块游戏,被收录于99年《软件》杂志的附送光盘上),汇编(DOS汉字系统,97年底完成),PB(学校自动排课/排考模块,98年),ASP(一套web版的企业信息系统,99年),VB(企业信息系统的核心组件,99年),delphi(工作流平台,组件式GIS系统等),Java(Delphi Client + J2EE Server协同实现),.Net(规则引擎),PHH...
看起来好象也不少,回过头来想想自己真正认真学过的语言只有一个,就是“C”, Dos年代的TC2.0,用它写了大量的小程序,比较系统的了解了编程是怎么一回事,记得那个时候看到什么软件都要琢磨它是如何实现的?如果让我来实现该如何做?也模仿了不少东西,虽然多是很表面的模仿但对自己编程思维的锻炼很有好处.后来用其它语言基本上都只是翻翻帮助,然后找找其Demo代码来看看,很快就可进入状态.
语言都是差不多的,重要的是“编码的思想”,具备了该思想语言就只是工具了,用什么工具实现都差不多,该思想的形成是需要“磨练”的,就是“专心使用一门语言”来磨练(甚至需要有“咬文嚼字的孔已己作风”),然后可“一理通百理通”,不然你只是浮于表面的去学再多的语言都没有.都不能拿来做真正的开发.都不能了解“编码”的内涵.
如在今年招聘面试的时候看到太多写着什么语言都精通(或熟练)的毕业生,我惯用的方法是给他(她)一张纸一支笔,让他(她)用自己最了解的语言写一个算阶乘的函数,这个问题你一看肯定说很简单,好,接着我会往下问,可以有多少种方法来实现:循环,递归…还有吗?你能写出多少种来?(代码基本结构模式的考察).代码质量如何? 有没有考虑错误处理(太多人写的代码会进入死循环比如输入的是负数) ? int的上限是多少,用long? 如果输入值比较大,算得出结果吗,该如何去实现可以计算很大数的该函数?...看着他(她)写出来的代码一个个问题的问就得了,不管你用什么语言,不管你“精通”多少种语言,我只问这些用什么语言来解决问题都需要的基础的东西, 就是“编码的思想”.
在学专一门语言的基础上新东西当然要跟,不然在这个行业你是很难“混下去”的,但有这“学专一门”的前提后,你跟起来就轻松了,而不用总是得“追”~
在“专”一门语言的过程中为解决问题你会发现“算法”很重要,这就是接下来要说的“基础”了.
基础很重要
面试的时候我一般都会问,基础知识学得如何? 一般重点问的是:《数据结构》, 《编译原理》, 《数据库原理》的内容.至于《由》文提到的:《汇编语言》,《 Windows 程序设计》我是不会问的.这些是可以进一步学习的东西,但对现在的开发来说不是必须的.《软件工程》我向来不问,教材理论跟实际差得太远了~
《数据结构》很重要,不懂数据结构很多编码就是“蛮干”,而且往往把“简单问题复杂化”,甚至复杂到不可能解决.认真学习《数据结构》并多做尝试用你熟悉的语言去实现里面的算法,你会发觉“世界真奇妙”~不要认为你不会去开发“编程语言”不需要学习《编译原理》, 《编译原理》里面包含了太多开发软件的“奇妙”的思想案例,认真体会你肯定会被其解决问题的方法折服,从中你能体会到很多东西,对以后做软件(不管是设计还是编码等)大有帮助,里面有很多现存的方法可用在你的项目中,而这些跟《数据结构》是互为补充的.在这些基础上接下来《设计模式》一书你也一定得看看.
很多应用都离不开数据库,最终总得找个地方来“操纵,存储,分析数据”,关于范式,关于锁,关于SQL,关于笛卡儿那一套你总得了解了解,不然无法入手,这就需要好好学习《数据库原理》了.单纯知道几条SQL语句是远远不够的,如何保证数据的完整性,安全性?如何提高效率等等都需要这些基础的支持~
当然英文也是基础,看英文资料确实重要,不单是书,还有网络上的大量资料,论坛…看的时候别害怕就是了,毕竟都是受过高等教育的,英语也学了那么多年起码都有点底吧,配合这两个工具:《金山词霸》及Google.com,不懂的单词“即指即译”,但很多名词或基础知识不是靠单词解释能清楚的,配合搜索引擎查查相关资料看看,记住一点,看到不懂的东西多看几遍,默记一小会,日积月累你能看懂的东西就多了。
兴趣
最后该说说的就是兴趣问题,如果你能对它真正感兴趣(如果要从事软件开发又没兴趣的话赶紧先培养兴趣去^_^),对看技术资料就想别人看武侠小说看球赛一样的话,再配合上面提到的几点(踏实, 先专后广, 基础扎实)相信在这一行多少是可以做点东西出来的~~
③ c++什么是使用/md编译
With these options, you can select either single-threaded or multithreaded run-time routines, indicate that a multithreaded mole is a dynamic-link library (DLL), and select the retail or debug version of the library.
/MD就是链接多线程版的运行时库,/ML是链接单线程版的。
/MD Multithreaded DLL Defines _MT and _DLL so that both multithread- and DLL-specific versions of the run-time routines are selected from the standard .H files. This option also causes the compiler to place the library name MSVCRT.LIB into the .OBJ file.
Applications compiled with this option are statically linked to MSVCRT.LIB. This library provides a layer of code that allows the linker to resolve external references. The actual working code is contained in MSVCRT.DLL, which must be available at run time to applications linked with MSVCRT.LIB.
/ML Single-Threaded Causes the compiler to place the library name LIBC.LIB into the .OBJ file so that the linker will use LIBC.LIB to resolve external symbols. This is the compiler’s default action. LIBC.LIB does not provide multithread support.
④ MD是什么意思
MD的全称为:MachineDescription文件,是一个开发文件,用于程序。
⑤ C语言system()函数里的参数可以是变量吗
system是执行DOS的指令,在DOS下能执行的指令,用system都可以执行
把dos的命令直接放到它的参数里面就可以执行
system("cls")对应控制台程序,可以清屏
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
.
.
BREAKSetsorclearsextendedCTRL+Cchecking.
(ACLs)offiles.
.
.
.
.
.
.
CLSClearsthescreen.
.
.
.
.
.Youcannotconvertthe
currentdrive.
.
DATEDisplaysorsetsthedate.
DELDeletesoneormorefiles.
.
.
.
DOSKEYEditscommandlines,recallsWindows2000commands,andcreatesmacros.
ECHODisplaysmessages,orturnscommandechoingonoroff.
.
ERASEDeletesoneormorefiles.
EXITQuitstheCMD.EXEprogram(commandinterpreter).
,anddisplaysthedifferences
betweenthem.
.
.
.
.
.
batchprogram.
mode.
.
.
LABELCreates,changes,.
MDCreatesadirectory.
MKDIRCreatesadirectory.
MODEConfiguresasystemdevice.
.
.
.
.
.
PRINTPrintsatextfile.
.
.
RDRemovesadirectory.
.
REMRecordscomments(remarks)inbatchfilesorCONFIG.SYS.
RENRenamesafileorfiles.
RENAMERenamesafileorfiles.
REPLACEReplacesfiles.
RMDIRRemovesadirectory.
SETDisplays,sets,.
.
.
SORTSortsinput.
.
.
.
.EXEsession.
.
.
.
correctlytoadisk.
.
.
⑥ 悬赏80分:计算机等级考试,VF的评分该怎么来实现。
二级(Visual FoxPro数据库程序设计)考试大纲
公共基础知识
基本要求
1. 掌握算法的基本概念。
2. 掌握基本数据结构及其操作。
3. 掌握基本排序和查找算法。
4. 掌握逐步求精的结构化程序设计方法。
5. 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6. 掌握数据库的基本知识,了解关系数据库的设计。
考试内容
1. 具有数据库系统的基础知识。
2. 基本了解面向对象的概念。
3. 掌握关系数据库的基本原理。
4. 掌握数据库程序设计方法。
5. 能够使用Visual FoxPro建立一个小型数据库应用系统。
考试内容
一、Visual Foxpro基础知识
1. 基本概念:
数据库,数据模型,数据库管理系统,类和对象,事件,方法。
2. 关系数据库:
(1) 关系数据库:关系模型,关系模式,关系,元组,属性,域,主关键字和外部关键字。
(2) 关系运算:选择、投影、连接。
(3) 数据库的一致性和完整性:实体完整性、域完整性、参照完整性。
3. Visual FoxPro系统特点与工作方式:
(1) Windows版本数据库的特点。
(2) 数据类型和主要文件类型。
(3) 各种设计器和向导。
(4) 工作方式:交互方式(命令方式、可视化操作)和程序运行方式。
4. Visual Foxpro的基本数据元素:
(1) 常量,变量,表达式。
(2) 常用函数:字符处理函数,数值计算函数,日期时间函数,数据类型转换函数,测试函数。
二、Visual FoxPro数据库的基本操作
1. 数据库和表的建立、修改与有效性检验:
(1) 表结构的建立与修改。
(2) 表记录的浏览、增加、删除与修改。
(3) 创建数据库,向数据库添加或移出表。
(4) 设定字段级规则和记录级规则。
(5) 表的索引:主索引,候选索引,普通索引,唯一索引。
2. 多表操作:
(1) 选择工作区。
(2) 建立表之间的关联,一对一的关联,一对多的关联。
(3) 设置参照完整性。
(4) 建立表间临时关联。
3. 建立视图与数据查询:
(1) 查询文件的建立、执行与修改。
(2) 视图文件的建立、查看与修改。
(3) 建立多表查询。
(4) 建立多表视图。
三、关系数据库标准语言SQL
1. SQL的数据定义功能:
(1) CREATE TABLE-SQL。
(2) ALTER TABLE-SQL。
2. SQL的数据修改功能:
(1) DELETE-SQL。
(2) INSERT-SQL。
(3) UPDATE-SQL。
3. SQL的数据查询功能:
(1) 简单查询。
(2) 嵌套查询。
(3) 连接查询。
内连接
外连接:左连接,右连接,完全连接
(4)分组与计算查询。
(5) 集合的并运算。
四、项目管理器、设计器和向导的使用
1. 使用项目管理器:
(1) 使用“数据”选项卡。
(2) 使用“文档”选项卡。
2. 使用表单设计器:
(1) 在表单中加入和修改控件对象。
(2) 设定数据环境。
3. 使用菜单设计器:
(1) 建立主选项。
(2) 设计子菜单。
(3) 设定菜单选项程序代码。
4. 使用报表设计器:
(1) 生成快速报表。
(2) 修改报表布局。
(3) 设计分组报表。
(4) 设计多栏报表。
5. 使用应用程序向导。
6. 应用程序生成器与连编应用程序。
五、Visual FoxPro程序设计
1. 命令文件的建立与运行:
(1) 程序文件的建立。
(2) 简单的交互式输入、输出命令。
(3) 应用程序的调试与执行。
2. 结构化程序设计:
(1) 顺序结构程序设计。
(2) 选择结构程序设计。
(3) 循环结构程序设计。
3. 过程与过程调用:
(1) 子程序设计与调用。
(2) 过程与过程文件。
(3) 局部变量和全局变量,过程调用中的参数传递。
4. 用户定义对话框(MESSAGEBOX)的使用。
考试方式
1. 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2. 上机考试:90分钟,满分100分。
(1) 基本操作。
(2) 简单应用。
(3) 综合应用。
----------------------------------------
如何应考二级FoxBASE+语言
1998年,根据我国计算机应用水平的实际情况,教育部考试中心颁布了新的考试大纲。新大纲中关于二级FoxBASE语言考试部分变化不大。今后,适应我国计算机应用水平的发展,教育部考试中心将会不断更新考试大纲,可能在近几年内会以二级FoxPro考试取代目前的二级FoxBASE考试。
在全国计算机等级考试的各个级别的各种类别、语言的考试中,二级FoxBASE考试逐渐成为应试人员最多的一门考试,发展趋势之快是其它门考试所不能及的。但应试人数的增多并不代表这门考试较其它容易过关,尤其上机考试部分的编程题,对于非计算机专业的考生来说是有一定的难度的。因此,在进行考前复习时,要有重点、有针对性。至于什么是重点、要针对什么复习,我们通过对近几年来二级FoxBASE考试的试卷作的一些分析研究,又参考新大纲中有关二级FoxBASE的考纲和模拟考题,提出下面一些分析结果供大家参考。
首先,分析笔试试卷。笔试考试时间两小时,考题分单项选择题和填空题,其中单项选择题有50题,前40题每题1分,后10题每题2分;而填空题共有20个空(不是20题),每空2分。考试内容涉及了两大部分:
第一部分是计算机的基础知识与基本操作。
在以往几次笔试中这一部分共占30分(选择题第1-20题,填空题第1-5空),新大纲颁布后,如果仅根据大纲中提供的模拟试题,这一部分可能会减至25分(选择题减少5题)。其主要由以下几个方面内容组成:
DOS的基本操作,占10分以上。需要注意的是,这一方面题大部分题型灵活多变,要求我们熟练掌握文件、目录、路径的使用和常用命令的基本格式及其参数(注意命令格式中重定向符>和>>的使用和区别)。
计算机的常用数制及其转换;数据基本单位,包括位、字、节以及汉字编码的概念和有关运算,例如点阵汉字所占字节数的运算,占5分以上。这一方面题要求我们熟练掌握这些转换和运算的公式,不妨在复习时列一个公式表出来以便重点记忆。
特别提一下,①、②两方面的内容通常是有关这一部分的填空题5个空所涉及的内容。
多媒体技术、计算机网络的一般知识;WINDOWS的基本操作。这三部分是新大纲中新增内容,每部分至少会有1-2分的题,因为是首次考,我想暂时主要考的是它们的基本概念和一些基本组成、特点等等。
其它内容。例如计算机的基本构成、计算机的使用注意、病毒的常识等等。
③、④两方面对应的考题多为基本概念和基本常识题,复习时通常只要针对书中有关内容进行多次仔细阅读,使我们能留下较深刻的印象,不必死记硬背。
第二部分是数据库语言程序设计。
这一部分考题中选择题与填空题相比难易度和题型都区别较大,因此我分开来分析。
一、选择题。
它主要含有以下三个方面:
数据库系统及FoxBASE+的基础知识。这一方面题所涉及的都是一些固定不变的概念,包括:数据库、数据库管理系统、数据库系统、数据库模型的概念及其相互关系;关系数据库中的关系术语和关系运算,特别是几种关系运算在FoxBASE+中的体现;FoxBASE+的系统性能与工作方式等。
表达式和函数的单独应用以及它们的组合应用。对于表达式,应掌握各类型表达式的组成以及它们所涉及的运算符、运算符的优先级别、运算规则等;对于函数,要仔细阅读每个常用函数的有关组成,包括:函数名、函数的自变量的个数、每个自变量的类型、函数值的运算、函数值的类型等,其中应特别注意以下三类:一些比较难于理解的函数,如宏替换函数&;一些容易出错的函数,如求余数函数MOD();一些很少使用的函数,如文件测试函数FILE()。只有熟练掌握了以上这些基础,仔细理解书中有关这些表达式和函数的例题,才能对这一方面的题应付自如。
命令的简单应用。这里的命令是广义的,还包含有与程序有关的命令和语句、SET命令等。如同上面所说的函数一样,在熟练掌握常用命令的格式和功能之余,也要求我们了解那些不常用命令,另外就是许多命令的格式中含有的可选项的使用。
与填空题比较起来,选择题较简单,但涉及的知识面相当广,许多我们平常学习时容易忽略的知识点都有可能在它之中出现。
二、填空题。
它主要有两种类型的题:命令序列的填空题和程序填空题,每种题型又分三种方式:补充填空,即命令序列或程序中缺失的整条命令语句填空;完整填空,即序列或程序中某条命令语句不完整,对缺失部分填空;结果填空,即对序列或程序的运行结果进行填空。
就我认为,做填空题中最大的难点是阅读量大,虽说与数据库有关的空只有15个,但往往会有10组(个)左右的命令序列和程序需要阅读,
这中间还包括理解题意和浏览有关的数据库文件等。与选择题相反,它所涉及的知识点与面较小,都是一些常用命令和与程序有关的常用命令语句,这中间难一点的是多重数据库操作,其次就是与子程序和过程文件有关的内容,还有用SET命令进行开关状态的设置和环境参数的设置,比如说颜色的设置等,偶尔也会出现一些较偏一点的函数和命令填空,例如函数FILE()、汇总命令TOTAL等等。阅读程序和命令序列没有什么窍门,只有能熟练掌握数据库的命令,并进行大量的习题练习,培养出进行快速、准确阅读的能力,考试才能作出正确的思考和判断,填写正确的结果。
以上是我对笔试考试的分析,应考时要注意时间的分配,不要在某一小题、某一空上浪费过多时间。
接下来,分析上机考试的试卷。上机考试时间一小时,由考试系统自动计时,考题共三大题:
第一大题:操作系统考试题。分数30分,含五或六小题,涉及的DOS命令以DOS 5.0为基准,理论上包括所有的内部和外部命令,当然,一些具有进攻性的命令除外,例如磁盘格式化命令FORMAT、硬盘分区命令FDISK等能导致软件系统被破坏的命令。在以往几次考试中,只考过以下六个命令:建目录命令MD、删目录命令RD、删文件命令DEL、文件复制(或文件顺序连接)命令COPY、文件更名命令REN、设置文件属性命令ATTRIB,现在依旧不排除会考其它命令的可能。这一大题考的是对DOS命令及其命令参数的使用,因此在考试时要依题意做出正确的命令及命令参数,以期得到正确的结果;如果做某一题时确实发现与这一题相关的源文件或目录不存在(这种情况很少存在),只要命令和参数输入正确,即使得不到正确结果,同样给分。
通过我对近几次考试的观察,现提出应考时的几点窍门:
对于上面六个命令,除了复制命令外,其它五个命令输入完后回车,若操作系统没有任何提示出现,往往就表示这一答案正确。对于复制命令,根据题目要求,若系统提示中有“x file(s) copied”(翻译为:x个文件被复制),多数时候可以认为答案正确。
对于删除X子目录下的Y子目录的考题时,应首先检查Y子目录下是否有下一级文件,如没有,可以直接用RD命令,若出错,应首先检查目录名是否输错。
另外还有几点注意:
假若这一题要求产生新的文件或目录,而你将新文件名或目录名输错,那只好看你发现没有,系统是不会提示的。
考题中除非有特别提示,做题时能用上面六个命令做到的,就不要使用其它命令,例如说使用DELTREE命令来删除目录或文件、使用XCOPY命令来复制文件等,否则可能这一题无分。最为重要的是考试时不可脱离考生目录,切记。
第二大题:程序修改考试题。分数30分,仅一道题,需修改的源程序存放在MODI1.PRG文件中。二级各语言考试的程序修改题中共有三种题型:填空、填写语句和改错,但在以往二级FoxBASE+语言的几次考试中只使用了改错这一种题型,其余两种考试中出现的较少。
在做程序修改题时,首先要找出程序的修改点。这一点不难做到,因为在源程序中提供了几行这样的注释行:“***found***”或“***FOUND***”,称为标识行,用来标识修改点所在,指出修改点就是它下面几行语句中的某一行,而且就我注意往往是它下面的第一行。有几个标识行就有几个修改点,一般来说源程序中有三处。找到修改点后,知道了哪一行语句需修改,再根据题意以及上下关系来修改就容易多了。如果是属于改错语句,大多数时候它所给出的命令动词都是对的,需要修改的只是该命令根据上下文所应有的范围、表达式以及条件不正确;少数时候正好反过来,仅需修改命令动词。
最后当程序修改完毕以后,必须要运行该程序,判断其运行结果是否符合题意:若正确,即可认为修改题满分;若不正确,返回去再修改,直至正确。实在做不出来,考试评分系统也会检测修改点,评估有几个修改点正确,并按比例给分。
做程序修改题中有几个注意点:
一般不允许增或删行数(包括空行),修改点所在行只能修改或填写一个或几个地方。
不能删除或移动标识行,否则将会直接影响考生这部分的成绩。
对于运行结果,它可能在屏幕上直接有显示,也可能没有显示,而是直接存放在结果输出文件中,这时需要去打开该文件来检查运行结果。
第三大题:程序设计考试题。分数40分,也是仅一道题,其部分源程序存放在文件PROG1.PRG中,不过多数时候这个所谓“部分”可以说没有。程序设计题只有一种题型:编写部分程序、过程或函数。
考试时,考生必须首先要理解试题,分析出试题要求做什么,然后进行编程,最后必须运行程序以得到运行结果并存放到指定的结果输出文件中,编程题的评分规则是判定最终的运行结果,按正确结果的多少按比例进行给分。
在近几次的考试中,编程题都是对数据库的操作题,而且越来越接近实际应用,不过非常简单化。这些编程题中,总要要求有一个库文件用来存放最终的结果,称之为结果输出文件。需要注意的是这个结果输出文件有时在考题中已经提供,有时要求在程序中通过已有的库文件产生,有时又要在编程前用CREATE命令建立。后两种情况对于考生是很有利的,当你的程序无法得到最终的正确结果时,只要你产生了这个结果输出文件就会得到一定的分数。
编程前,首先要做三件事:阅读并分析试题、仔细浏览试题中所涉及的数据库文件的库结构和看一下库记录。其实由于上机考试是无纸无笔操作,光考记忆一下子是记不了这全部内容,因此这三件事是在编程过程中常常要做的。
接下来就是进行编程及调试。观察近几次考试的编程题,编出来的程序其主体多涉及到多重数据库操作以及循环嵌套和分支嵌套,尤其是它们的混合使用,由于题目中往往是要求对库记录的数据进行修改,因而在程序中最常使用的命令是字段替换命令REPLACE。
能独立编写程序非一日之功,虽有各种窍门,要想化为己用,还的靠大量的练习。
上机考试时要注意心理状态和时间分配。心理上,即使做不到当作一次普通的上机练习,也起码应把它当作一次普通的笔试类考试,只不过这个试卷是一台计算机罢了;时间上,前两大题花20多分钟足以,剩下时间用于编程题,如果直到最后10分钟编程题还未编完,甚或还没有头绪,最好先返回去仔细检查前两大题,确保这两题没有错误,以便得到或接近60分,再回头来编写程序并运行使自己能够得到部分的最终正确结果,例如就产生一个上文所说的结果输出文件(无结果数据)也行,而不要去强求编完全部程序后再来产生一个有结果数据的结果输出文件,正确与否还不得而知。
以上所有就是我分析几年来全国计算机等级考试二级FoxBASE语言考试得到的一点心得,希望能给广大考生应考提供有益的帮助。
⑦ 如何判断一个lib是用/ mt还是/ md编译的
VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,否则就会有相应的提示,甚至可能会出现无法解析的函数。有时我们使用的库不是自己可以控制的,那么就只能把工程属性设置成河你使用的库相同的选项。
错误 1 error LNK2005: _free 已经在 libcmtd.lib(dbgheap.obj) 中定义 MSVCRT.lib
错误 2 error LNK2005: _malloc 已经在 libcmtd.lib(dbgheap.obj) 中定义 MSVCRT.lib
.....
如果有一堆的重定义错误发生在同一个lib中,而且跟它冲突的也是同一个lib,那么这个两个lib的功能应该是一样的,可以2选一,只要在“忽略特定的库”内填入需要忽略的库。
项目属性-配置属性-链接器-输入-忽略特定的库:libcmtd.lib
项目属性-配置属性-常规-MFC的使用:在共享 DLL 中使用 MFC
MSVCRT.lib 和libcmt.lib的冲突还是比较常见的。
从错误信息可以看出是msvcrt.lib和libcmt.lib库中重复定义了__isctype等符号。为什么会出现这样的问题呢?这就要从这两个库的作用说起了。
msvcrt.lib是VC中的Multithreaded DLL 版本的C运行时库,而libcmt.lib是Multithreaded的运行时库。在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文 件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。
告警信息的意思我们明白之后,就要找造成这个问题的原因了。在项目设置中我们可以看到当前项目使用的是Multithreaded非DLL版本的运 行时库,这说明项目中还有其他文件用到了不是这个版本的运行时库。很显然,就是openssl的静态库。查看openssl中ms下的nt.mak,我们 可以发现静态库版本中openssl使用编译开关/MD进行编译的,也就是说openssl静态库是默认用的Multithreaded DLL 版本的C运行时库。
原因找到了。那么解决方法,很明显有两个。总之就是将两个项目的运行时库统一。
简单的方式就是将项目的动态库修改为使用Multithreaded DLL 版本的C运行时库即可。
某些情况下你的项目可能不能改变当前的运行时库,你可以将openssl的nt.mak中的/MD开关修改为/MT然后重新编译openssl静态库就可以了。
默认库“library”与其他库的使用冲突;请使用 /NODEFAULTLIB:library LNK4098 的解决办法
您试图与不兼容的库链接。
注意
运行时库现在包含可防止混合不同类型的指令。如果试图在同一个程序中使用不同类型的运行 时库或使用调试和非调试版本的运行时库,则将收到此警告。例如,如 果编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),并试图链接它们,则将得到此警告。应 将所有源文件编译为使用同一个运行时库。有关更多信息,请参见使用运行时库(/MD、/MT 和 /LD)编译器选项。
可以 使用链接器的 /VERBOSE:LIB 开关来确定链接器搜索的库。如果收到 LNK4098,并想创建使用如单线程、非调试运行时库的可执行文件,请使用 /VERBOSE:LIB 选项确定链接器搜索的库。链接器作为搜索的库输出的应是 LIBC.lib,而非 LIBCMT.lib、MSVCRT.lib、LIBCD.lib、LIBCMTD.lib 和 MSVCRTD.lib。对每个要忽略的库可以使用 /NODEFAULTLIB,以通知链接器忽略错误的运行时库。
⑧ c语言输出数据对齐不了怎么弄
实在不行用printf()输出
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。%-md表示靠左输出,右边补空格 ;