单项选择(2017年程序员软考)

编译和解释是实现高级程序设计语言的两种方式,其区别主要在于【 】。

A、是否进行语法分析

B、是否生成中间代码文件

C、是否进行语义分析

D、是否生成目标程序文件

答案解析

D

【解析】

高级语言程序需要进行翻译后才能在计算机上执行,编译和解释是两种基本的翻译方式。在编译方式下,会产生独立于源程序的目标程序,再经过链接后形成可执行程序文件;而在解释方式下,由解释器对源程序或者其中间代码表示进行解释执行,不会产生与源程序等价的目标程序文件和可执行程序文件。在对程序语言的语法和语义分析方面,这两种方式没有差别。

讨论

适合开发设备驱动程序的编程语言是【 】。

在对高级语言编写的源程序进行编译时,可发现源程序中【 】

对布尔表达式进行短路求值是指在确定表达式的值时,没有进行所有操作数的计算。对于布尔表达式“a or((b>c)and d)”,当【 】时可进行短路计算。

一个变量通常具有名字、地址、值、类型、生存期、作用域等属性,其中,变量地址也称为变量的左值(1-value),变量的值也称为其右值(r-value)。当以引用调用方式实现函数调用时,【 】。

如果要使得用C语言编写的程序在计算机上运行,则对其源程序需要依次进行【 】等阶段的处理。

将多个目标代码文件装配成一个可执行程序的程序称为【 】。

用某高级程序设计语言编写的源程序通常被保存为【 】

设数组 a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素 a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为【 】。

已知函数 f()、g()的定义如下所示,调用函数f()时传递给形参x的值是5。若 g(a)采用引用调用(call by reference)方式传递参数,则函数f()的返回值为______;若 g(a)采用值询用(call by value)的方式传递参数,则函数f()的返回值为______。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以 2。f(int x) int a =x>>1; g(a); return a+i;g(int x) x=x*(x+1)i; returni;

某C语言程序中有表达式x%m(即x被 m除取余数),其中,x为浮点型变量,m为整型非0常量,则该程序在______时会报错,该错误属于______错误。