导航:首页 > 源码编译 > 编译60分

编译60分

发布时间:2025-01-14 05:19:13

编译是什么意思

问题一:编译和解释的区别是什么? 后来为了方便记忆,就将用0、1序列表示的机器指令都用符号助记,这些与机器指令一一对应的助记符就成了汇编指令,从而诞生了汇编语言。无论是机器指令还是汇编指令都是面向机器的,统称为低级语言。因为是针对特定机器的机器指令的助记符,所以汇编语言是无法独立于机器(特定的CPU体系结构)的。但汇编语言也是要经过翻译成机器指令才能执行的,所以也有将运行在一种机器上的汇编语言翻译成运行在另一种机器上的机器指令的方法,那就是交叉汇编技术。高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言逗迟的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。那具体的说,要将高级语言编译到什么程度呢,这又跟编译的技术有关了,既可以编译成直接可执行的目标代码,也可以编译成一种中间表示,然后拿到不同的机器和系统上去执行,这种情况通常又需要支撑环境,比如解释器或虚拟机的支持,Java程序编译成bytecode,再由不同平台上的虚拟机执行就是很好的例子。所以,说高级语言不依赖于机器,是指在不同的机器或平台上高级语言的程序本身不变,而通过编译器编译得到的目标代码去适应不同的机器。从这个意义上来说,通过交叉汇编,一些汇消键编程序也可以获得不同机器之间的可移植性,但这种途径获得的移植性远远不如高级语言来的方便和实用性大。二、编译与解释编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器山桥李也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.1、编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM),如:LX.ASM; 2、汇编:用汇编程序(MASM.EXE)对源程序进行汇编,形成目标文件(.OBJ),格式如下:MASM LX.ASM; 3、连接:用连接程序(LINK.EXE)对目标程序进行连接,形成可执行文件(.EXE),格式如下:LINK LX.OBJ; 4、执行:如果结果在屏幕在显示,则直接执行可执行文件。 5、调试:用调试程序(DEBUG.EXE)对可执行文件进行调试,格式如下:DEBUG LX.EXE1. 在具体计算机上实现一种语言,首先要确定的是表示该语言语义解释的虚拟计算机,一个关键的问题是程序执行时的基本表示是实际计算机上的机器语言还是虚拟机的机器语言。这个问题决定了语言的实现。根据这个问题的回答,可以将程序设计语言划分为两大类:编译型语言和解释型语言。2. 由编译型语言编写的源程序需要经过编译、汇编和链接才能输出目标代码,然后机器执行目标代码,得出运行结果,目标代码由机器指令组成,一般不能独立运行,因为源程序中可能使用了某些......>>

问题二:函数的编译是什么意思??? 你说的这个问题,是把(不仅仅是数学上的函数式子)某个项目内容,进行编程。也就通过设计好了的运算程序,上百上千次进行与或非门运算。你想,电子,也就是通电断电额事。写成数字,就是010100001110000000111101111等等。
这需要专门的【编程员】大费脑筋的。有时候,需要好几年。

问题三:编译程序是什么意思?编译是什么意思? 把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言书写的目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。

问题四:编译时间是什么意思? 在ROM发布的时候,会提供这个ROM的一些版本。
编译时间能够告诉用户这个系统的发布时间。
有一些软件会提供类似的编译Revision。功能基本上相同。

问题五:编译错误是什么意思 编译错误,一般指语法上的错误
运行错误,一般指程序上的bug

问题六:什么是编译原理 编译:就是将程序语言进行翻译,生成可供用户直接执行的二进制代码,即可执行文件。
任务是个比较模糊的概念,指的是操作系统中正在进行的工作,既可以指进程,也可以指程序。
程序指的是可以连续执行,并能够完成一定任务的一条条指令的 *** 。
进程是程序在一个数据 *** 上运行的过程,它是传统操作系统进行资源分配和调度的一个独立单位。
线程是一个指令执行序列,是操作系统调度的最小单位。一个或多个线程构成进程,构成一个进激的线程之间共享资源。进程和线程之间的最大区别就是线程不能独立拥有资源,进程拥有自己的资源。

问题七:编译原理中V*是什么意思 V是一个符号 *** ,假设V指的是三个符号a, b, c的 *** ,记为 V = {a, b, c }
V* 读作“V的闭包”,它的数学定义是V自身的任意多次自身连接(乘法)运算的积,也是一个 *** 。
也就是说,用V中的任意符号进行意多次(包括0次)连接,得到的符号串,都是V*这个 *** 中的元素。
0次连接的结果是不含任何符号的空串,记为 ε
1次连接就是只有一个符号的符号串,比如,a,b, c
2次连接是两个符号构成的符号串,比如,aa, ab, ac, ba, bb, bc,等等
……
n次连接是一个长度为n、由a、b、c三个符号构成的符号串,比如abaacbbac……
因此,V*包含一切由a,b,c三个符号连接而成的、任意长度的符号串(以及空串ε)

问题八:编译和预编译有什么区别。 60分 预编译又称为预处理,是做些代码文本的替换工作。
处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等
就是为编译做的预备工作的阶段
主要处理#开始的预编译指令
编译(pilation , pile) 1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。

问题九:C语言中程序编译的正确理解及其含义 预处理。首先程序会被送给预处理器了。预处理器执行以#开头的命令(通常称为指令)。预处理器有点类似于编辑器,它可以给程序添加内容,也可以对程序进行修改。

编译。 修改后的程序现在可以进入编译器了。编译器会把程序编译成机器指令(即目标代码)。然而,这样的程序是不可运行的。

链接。 在最后步骤中,链接器把编译器产生的目标代码和所需的其他附加代码整合在一起,这样才最终产生完全可执行的程序。这些附加代码包括程序中用到的库函数(如printf函数)

问题十:编译和解释的区别是什么? 后来为了方便记忆,就将用0、1序列表示的机器指令都用符号助记,这些与机器指令一一对应的助记符就成了汇编指令,从而诞生了汇编语言。无论是机器指令还是汇编指令都是面向机器的,统称为低级语言。因为是针对特定机器的机器指令的助记符,所以汇编语言是无法独立于机器(特定的CPU体系结构)的。但汇编语言也是要经过翻译成机器指令才能执行的,所以也有将运行在一种机器上的汇编语言翻译成运行在另一种机器上的机器指令的方法,那就是交叉汇编技术。高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。那具体的说,要将高级语言编译到什么程度呢,这又跟编译的技术有关了,既可以编译成直接可执行的目标代码,也可以编译成一种中间表示,然后拿到不同的机器和系统上去执行,这种情况通常又需要支撑环境,比如解释器或虚拟机的支持,Java程序编译成bytecode,再由不同平台上的虚拟机执行就是很好的例子。所以,说高级语言不依赖于机器,是指在不同的机器或平台上高级语言的程序本身不变,而通过编译器编译得到的目标代码去适应不同的机器。从这个意义上来说,通过交叉汇编,一些汇编程序也可以获得不同机器之间的可移植性,但这种途径获得的移植性远远不如高级语言来的方便和实用性大。二、编译与解释编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.1、编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM),如:LX.ASM; 2、汇编:用汇编程序(MASM.EXE)对源程序进行汇编,形成目标文件(.OBJ),格式如下:MASM LX.ASM; 3、连接:用连接程序(LINK.EXE)对目标程序进行连接,形成可执行文件(.EXE),格式如下:LINK LX.OBJ; 4、执行:如果结果在屏幕在显示,则直接执行可执行文件。 5、调试:用调试程序(DEBUG.EXE)对可执行文件进行调试,格式如下:DEBUG LX.EXE1. 在具体计算机上实现一种语言,首先要确定的是表示该语言语义解释的虚拟计算机,一个关键的问题是程序执行时的基本表示是实际计算机上的机器语言还是虚拟机的机器语言。这个问题决定了语言的实现。根据这个问题的回答,可以将程序设计语言划分为两大类:编译型语言和解释型语言。2. 由编译型语言编写的源程序需要经过编译、汇编和链接才能输出目标代码,然后机器执行目标代码,得出运行结果,目标代码由机器指令组成,一般不能独立运行,因为源程序中可能使用了某些......>>

② 计算机二级C语言都有哪些题型

全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。


单选题中1~10题为二级公共基础知识,考试内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。单选题的11~40题是C语言的内容。


操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。
程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。程序填空题以实际填写的内容为评分依据,填写正确一个空,给一个空的分。如果是2个空,每个空就是9分;如果是3个空每个空是6分。
程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。与程序填空类似,2处错误的话,每处9分,3处错误的话,每处6分。程序改错题的题目会提示每一处错误所在的行,在那一行的上一行有********found********标识。
编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。因此,大多数情况下,编程题要么就是得24分满分,要么就是0分。

③ 计算机二级c语言上机三道题都编译运行出结果,而且结果都正确了为什么还没过

全国计算机等级考试二级c的程序题共有三道,分别是填空、改错、编程,分值方面填空占18分,改错18分,编程24分,总分60分。而卷面总分(选择+程序)60分以上,才会判定成绩就合格,才能够领到证书。

各题详细答题方式和评分准则如下:

1、填空题:
答题方式:
在指定位置,也就是标记有类似
/********************found*************************/
for(i=0; ____1____ ; i++)
这种位置作答。
答题时,将“____1____”双引号内的部分完全删除,然后把作答的答案填补进去,也就是“将类似__1__这种位置标记替换为作答的答案”。

题面会给出“例如输入***数据,得到***数据”的注解,可以借此编译运行程序,通过输入和输出的结果来判定程序是否正确。

评分准则:
填空题的评分准则并非以程序本身“能否正确运行”为准则,而是通过类似”对比答题的程序文本与命题组答案,逐行按比例给分“的方式来评分,也就是很多人所谓的“逐项(或逐个答题位置给分)“。

上述描述信息量过大,下面举例说明:
①题面有明文要求,只允许在指定位置作答,不许添加或删除空格、回车之类的字符,不许增减程序代码行数,更不许改动题面的程序原始代码。

例如:
题面如下:
int i,j,sum=0;
/**************found********************/
for(i=0; __1__ ;i++) //假设答案应为i<10或其他等价写法
sum+=i;

答题后排版如下:
int i,j,sum=0;
/**************found********************/
for(i=0; i<10 ;i++) sum+=i; //注意这里删除了一个回车符

卷面要求对应行数(第3行)应为
for(i=0; i<10 ;i++)
评分时判定该行内容为
for(i=0; i<10 ;i++) sum+=i;
文本与命题组答案不符,故该处答案不予给分。
同时,由于更改了行数,后续程序文本均会受影响,从而影响正常得分。

②关于上文中所谓的“命题组答案”
仍以
int i,j,sum=0;
/**************found********************/
for(i=0; __1__ ;i++) //假设答案应为i<10或其他等价写法
sum+=i;
为例。

正确答案应该是i<10或其他等价写法,那么命题组会将各种“正常的”写法作为命题组答案编撰以供评分。依旧举例说明,等价写法包括:
i<=9
i<9+1
i<=10-1
后续有无数种写法就不一一例举了
明显只有i<10和<=9是正常写法,后续写法都过于奇葩,故此处在考试时只有写入i<10或<=9才会得到正常的分数,其他写法均不给分。

另外,这里无需担心,命题组很贴心的将各种常见写法都纳入到”命题组答案“中,只要不是过于特立独行的答案,均会在考试中得到本该有的分数。

总结:
填空题,在程序能够“运行出正确的答案”,并且没有违反①和②所强调的事项,均会得到本该有的分数。
①项通常不会违反,被此项影响得分的人数很少
②项不管是考试还是练习,在”能够运行处正确的答案“前提下依旧丢分的几乎全都是因为此项。
例如考试时,答案过于特立独行,将i=i+1;写成i=i+3-2;
而市面上绝大多数的等考模拟软件,鉴于各种原因,都没有使用”命题组答案“给出的姑且称为”正确答案库“的答案范围,而是每个位置只给出一种在该模拟软件中可以得分的答案写法,其他”考试时将会正常得分“的答案写法,造成考试时能够得分但是在使用这些模拟软件时均得不到分数的情况,也就是学生们经常询问的问题:
”老师,i=i+1;和i+=1;不是一样吗?为什么这道题写i=i+1;才给分,另一道题只有写i+=1;才给分?“

2、改错题:
答题方式和评分准则完全等同与填空题,不再重复叙述

3、程序编写,即俗称的编程题:
答题方式:
题目中有明确叙述,要求书写程序的某一部分,以实现题目要求的功能。通常要求书写的位置是某个指定函数的函数体,或者部分主函数的函数体,代码量6-10行左右。

评分准则:
编程题,评分依据是”能够运行出正确的结果“,即评分依据有两个关键点,一是运行,二是结果正确。
此题评分准则依旧是跟”命题组答案“对照,依旧是对比文本后逐行按比例给分,而命题组答案在此题中将会是唯一的。
编程题的评分依据,是程序编译运行后得到的一个所谓的”out文件“,该文件在考生文件夹下,由编程运行时产生,文件名中通常带有”out”字样,各题具体的文件名,查看编程题中调用fopen函数时所书写的文件名就可以确认。
例如某题面中存在如下语句:
fopen(fp,"out.dat",w);
那么该题目对应的评分依据就是对应考生文件夹下的名为“out.dat”的文件。

编程题的评分,是将out文件的内容与命题组答案对比,逐行按比例给分。

影响得分的项目如下:
①程序存在error,无法通过编译:
无法编译,就无法运行。没有运行,就不会产生out文件。没有out文件,那么将会得到“指定文件未找到”的错误,此题判0分。
另外还有一点要注意,有个别模拟软件曾经出现过,题目中指定文件名为"out.dat",但是题面程序代码中创建的却是"ps35.out",造成“指定文件未找到”判0分的情况。这属于模拟软件的bug,不会在考试中发生。

②程序通过编译且能够运行,但是代码本身存在bug。
举个例子,写程序找出1-15之间的素数。
命题组给出的out文件内容如下:
2
3
5
7
11
13
一共6行,因为编程题总分24分,所以每行占4分。
如果考生答题过程中程序书写没有错误的话,一定会得到跟命题组内容与格式完全一样的答案(文件的书写由题面的fprintf函数负责,不允许考生改动,故文件格式是已经被指定的),将会得到满分24分。
如果代码有误,程序判定过程中将7判定为非素数,得到的out文件内容与命题组答案对比及评分细则如下:
2 2 匹配,得4分
3 3 匹配,得4分
5 5 匹配,得4分
7 11 不匹配,得0分
11 13 不匹配,得0分
13 不匹配,得0分
故此题得分仅12分。
如果上述数值均正确判断,但是错误的将1判断为素数,out文件内容如下:
1
2
3
5
7
11
13
结果可想而知,逐行判定,最终肯定判0分。
额外要说明的是,大部分模拟软件,不会进行逐行按比例给分,而是一旦out文件内容与命题组答案”不完全匹配“,直接判0分,而考试时一定是逐行按比例给分的,这点无需担心。

③程序书写正确无bug,但是改动过程序命令禁止改动的其他部分,例如fprintf函数,请参考②

总结:由于②导致该题丢分的几率是最高的,一定要小心再小心。代码出现问题时,别心急。很多时候,将已经书写完毕的代码整体删掉,重新书写,是最省事省力的解决bug的方案。

最后,补充一点,万一程序原始结构被破坏,别着急,不要冒险关闭vc6,只要按下ctrl+z组合键,就能逐步恢复之前的样式。因为ctrl+z组合键的功能是”撤销“

阅读全文

与编译60分相关的资料

热点内容
androidcmnet 浏览:31
易语言标题源码 浏览:948
腾讯云服务器如何开网店 浏览:889
qit没找到命令 浏览:62
exe安卓怎么用 浏览:440
社保在哪里查询app 浏览:919
工程师和程序员有什么不同 浏览:427
php正整数验证 浏览:363
有个腹黑程序员男友是什么体验 浏览:110
pdf添加文本框 浏览:770
系统文件夹很大没有文件 浏览:74
苏宁电器app如何还分期 浏览:635
苹果怎么在主屏幕创建文件夹 浏览:627
河南云服务器租用虚拟主机 浏览:361
centos修改ip命令 浏览:779
租用服务器属于什么服务类型 浏览:135
英雄联盟说没有网络连接到服务器地址 浏览:28
单片机周期信号波形识别 浏览:42
算法驱动的成长史 浏览:936
好又省APP怎么用 浏览:576