在表达式中引用对象名称时,如果它包含空格和特殊的字符,需要用()将对象名称包含起来。
A.“#”
B.“""”
C.“()”
D.“[]”
A.“#”
B.“""”
C.“()”
D.“[]”
下列关于控件的说法中正确的是______。
A.控件是窗体上用于输入数据、修改数据、执行数据的对象
B.计算型控件用表达式作为数据源,表达式可以利用窗体或报表所引用的表或查询字段中的数据,但不可以是窗体或报表上的其他控件中的数据
C.虽然组合框的列表是由多行数据组成,但平时只能显示一行,而且不能输入新值,所以它的应用比列表框要窄
D.窗体中的列表框可以包含一列或几列数据,用户只能从列表中选择值,而不能输入新值
下列关于控件的说法中正确的是
A.控件是窗体上用于输入数据、修改数据、执行数据的对象
B.计算型控件用表达式作为数据源,表达式可以利用窗体或报表所引用的表或查询字段中的数据,但不可以是窗体或报表上的其他控件中的数据
C.虽然组合框的列表由多行数据组成,但平时只能显示一行,而且不能输入新值,所以它的应用比列表框要窄
D.窗体中的列表框可以包含一列或几列数据,用户只能从列表中选择值,而不能输入新值
可扩展置标语言XML(eXtensible Markup Language)是一种置标语言。它依赖于描述一定规则的标签和能够读懂这些标签的应用处理工具来发挥它的强大功能。其中在XML文档中使用CSS样式单正确的方式为(7),XSL的格式对象称为(8),使用XSL定义 XML文档显示方式的基本思想是(9)。
A.引用式和嵌入式
B.内部和外部
C.交叉引用
D.包含式
在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为(34)。同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为(35)。编译程序根据上下文判定算子的操作意义,这称为(36)。
A.参数多态
B.过载多态
C.包含多态
D.隐含多态
在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为(1)。同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为(2)。编译程序根据上下文判定算子的操作意义,这称为(3)。
(1)
A.参数多态
B.过载多态
C.包含多态
D.隐含多态
试题四(共 15 分)
阅读以下说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式
“46+5*(120-37)”的后缀表达式形式为“46 5 120 37 - * +” 。
计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37 - * +”的计算过程为:
a. 依次将 46、5、120、37 压入栈中;
b. 遇到“-”,取出 37、120,计算 120–37,得 83,将其压入栈中;
c. 遇到“*”,取出 83、5,计算 5*83,得 415,将其压入栈中;
d. 遇到“+”,取出 415、46,计算 46+415,得 461,将其压入栈中;
e. 表达式结束,则计算过程完成。
函数 computing(char expr[],int *result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组 expr)的值,并通过参数 result 返回该值。函数的返回值为-1/0 分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“\”)。
函数 computing 中所用栈的基本操作的函数原型说明如下:
void InitStack(STACK *s):初始化栈。
void Push(STACK *s, int e): 将一个整数压栈,栈中元素数目增 1。
void Pop(STACK *s):栈顶元素出栈,栈中元素数目减 1。
int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。
int IsEmpty(STACK s):若s 是空栈,则返回1 否则返回 0。
[C 函数]
int computing(char expr[], int *result)
{
STACK s; int tnum, a,b; char *ptr;
InitStack(&s);
ptr = expr; /*字符指针指向后缀表达式串的第一个字符*/
while (*ptr!='\0') {
if (*ptr==' ') { /*当前字符是空格*/
(1) ; /*字符指针指向下一字符*/
continue;
}
else
if (isdigit(*ptr)) {
/*当前字符是数字,则将该数字开始的数字串转换为数值*/
tnum = (2) ;
while (*ptr>=’0’ && *ptr <=’9’) {
tnum = tnum * 10 + (3) ;
ptr++;
}
Push((4) );
}
else /*当前字符是运算符或其他符号*/
if (*ptr=='+'||*ptr=='-'||*ptr =='*'||*ptr =='/'){
if (!IsEmpty(s)) {
a = Top(s); Pop(&s); /*取运算符的第二个运算数*/
if (!IsEmpty(s)) {
b = Top(s); Pop(&s); /*取运算符的第一个运算数*/
}
else return -1;
}
else return -1;
switch (*ptr) {
case '+': Push(&s,b+a); break;
case '-': Push(&s,b-a); break;
case '*': Push(&s,b*a); break;
case '/': Push(&s,b/a); break;
}
}
else
return -1;
ptr++; /*字符指针指向下一字符*/
} /* while */
if (IsEmpty(s)) return -1;
else {
(5) = Top(s); Pop(&s); /*取运算结果*/
if (!IsEmpty(s)) return -1;
return 0;
}
}
下列关于顺序图的描述中,正确的是——。
A.当一个操作调用它本身时,消息总是异步的
B.消息线的箭头说明消息的类型,如同步、异步或简单。画一条线指向接收对象,包括一个箭头,实心表示异步信号;棍形箭头表示同步调用操作
C.消息也可以有条件。只有条件为真时才可以发送和接收消息。条件表达式被用来抽象分支或决定是否发送一条消息。如果用条件来抽象分支,则各分支是互斥的
D.在顺序图中可以描述如何创建和破坏对象,并把它作为描述情节的一部分。一个对象可能通过一条消息来建另一个对象。被创建的对象符号在创建它的地方(在纵坐标时间轴上)
A.为存储阵列内一个数据对象(LUN或VOLUME)产生的完全可用的副本,它包含 该数据对象在某一时间点的映像
B. 快照是关于数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷 贝开始的时间点)的映像。
C. 分裂镜像快照引用镜像硬盘组上所有数据。每次应用运行时,都生成整个LUN的快 照。
D. 在创建克隆快照时,系统先分配等同于主卷大小的物理空间(称为从卷),然后启动 一个后台拷贝进程,将主卷的数据完整拷贝到从卷,建立一份创建时间点的完整拷贝。