1、初级程序员下午试题-97 及答案解析(总分:105.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明图 4-8 的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除,但保留非空字符。例如,原字符串“ FileName ”,处理变成“File Name”。图 4-9、图 4-10 和图 4-11 分别详细描述了图 4-8 流程图中的处理框 A、B、C。假设原字符串中的各个字符依次存放在字符数组 ch 的各元素 ch(1)、ch(2)、ch(n)中,字符常量 KB表示空白字符。图 4-8 所示的流程图的处理过程是:先从头开始找出该字符串中的第一个非空
2、白字符 ch(i),再从串尾开始向前找出位于最末位的非空白字符 ch(j),然后将 ch(i)、ch(j)依次送入 ch(1)、ch(2)、中。如果字符串中没有字符或全是空白字符,则输出相应的说明。在图 4-8 流程图中,strlen()是取字符串长度函数。图 4-8 算法总流程图图 4-9 处理框 A 对应的流程图图 4-10 处理框 B 对应的流程图(分数:15.00)_二、试题二(总题数:1,分数:15.00)1.说明某种传感器的输出值 Ratio 依赖于环境温度 temp(-40temp50)。对一组环境温度值(ITEMS 个),已经测量得到了相应的 Ratio 值(如表 4-10 表
3、格所示)。表 4-10 粗略地描述了曲线 Ratio(temp)。表 4-10 曲线 Ration(temp)的列表值环境温度 temp 传感器的输出值 Ratio-40 0.20-20 0.60-10 0.800 1.0010 1.1730 1.5050 1.80校正系数 K 是 Ratio 的倒数,因此也依赖于环境温度 temp。在数据处理中,需要用更多的列表值细致地描述曲线 K(temp),如表 4-11 所示。表 4-11 曲线 K(temp)的列表值环境温度 temp 校正系数 K-40 5.00-39 4.55-38 4.17-37 3.85 -20 1.67-19 1.61 -1
4、0 1.25-9 1.22 -19 0.56在表 4-11 中,各温度值所对应的 K 值是对表 4-10 进行线性插值再求倒数得到的,具体的计算方法如下。1) 根据 temp 值,在表 4-10 中用二分法查找;2) 若找到相应的温度值,则按相应的 Ratio 值求倒数得到 K 值;3) 若没找到相应的温度值,则可确定 temp 所在的温度区间Tp1,Tp2,同时获得了相应的 Ratio1 和 Ratio2,再按如下公式计算 K 值:(分数:15.00)_三、试题三(总题数:1,分数:15.00)2.说明以下C 程序是对某电码明文(原文)进行加密形成密文。其加密算法如下。假定原文为 C1C2C
5、3Cn,加密后形成的密文为 S1S2S3Sn其中 n 为小于 256 的任意自然数。首先读入正整数 Key(Key1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,如图 4-12 所示。图 4-12 密文字符环示意图加密时从 S1位置起顺时针计数,当数到第 Key 个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第 Key 个字符位置时,将原文中字符 C2放入其中,并从环中除去该字符位置;依此类推,直至 n 个原文字符全部放入密文环中。由此产生的 S1S2Sn即为原文的密文。例如,原文:One World One
6、 Dream。当 Key=5 时,其密文为:me OnWlanD oOedrer;当 Key=6 时该原文的密文为:oeDn OedrrOn Wma le。程序使用示例如图 4-13 所示。(分数:15.00)_四、试题四(总题数:1,分数:15.00)3.说明函数 int Toplogical (LinkedWDigraph G)的功能是对图 G 中的顶点进行拓扑排序,并返回关键路径的长度。其中,图 G 表示一个具有 n 个顶点的 AOE-网,图中顶点从 1n 依次编号,图 G 的存储结构采用邻接表表示,其数据类型定义如下。typedef struct Gnode /* 邻接表的表节点类型
7、*/int adjvex; /* 邻接顶点编号 */int weight; /* 弧上的权值 */struct Gonde*nextare; /* 指示下一个弧的节点 */Gnode;typedef struct Adjlist /* 邻接表的头节点类型 */char vdata; /* 顶点的数据信息 */struct Gnode*Firstadj; /* 指向邻接表的第一个表节点 */Adjlist;typedef struct LinkedWDigraph /* 图的类型 */struct Adjlist head; /* 指向图中第一个顶点的邻接表的头节点 */LinkedWDigra
8、ph;例如,某 AOE-网如图 4-14 所示,其邻接表存储结构如图 4-15 所示。图 4-14 某 AOE-网(分数:15.00)_五、试题五(总题数:1,分数:15.00)说明某 Visual Basic 应用程序用于监测某种锅炉设备内液面高度(050cm),其运行窗口界面如图 4-16 所示。(分数:15.00)_六、试题六(总题数:1,分数:15.00)说明已知以下 C+程序运行时的输出结果如下。1:11:11:1C+程序01 #include iostream02 using namespace std;03 class Stock04 protect:05 (1) ;06 Sto
9、ck(int n, int pr=1) 07 shares = n; share_val=pr;08 ;09 void Stock() ;10 public:11 /成员函数12 void output() 13 (2) shares “:“ share_val endl;14 15 private:16 /成员变量17 int shares;18 int share_val;19 ;2021 void main() 22 Stock a(1); a.output23 Stock b; b.output24 Stock c = Stock (); c.output25 1. 问题 1请根据 C
10、+程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。(分数:15.00)_七、试题七(总题数:1,分数:15.00)4.说明类 Queue 表示队列,类中的方法如表 4-12 所示。表 4-12 类 Queue 中方法说明表方法 说明IsEmpty() 判断队列是否为空,如果队列不为空,返 回 true;否则,返回 falseEnqueue(object NewNode) 入队操作Dequeue() 出队操作。如果队列为空,则抛出异常类 Node 表示队列中的元素;类 EmptyQueueException 给出了队列中的异常处理操作。Java 代码public class t
11、estmain /主类public static viod main (string args) Queue q= new Queue;q.enqueue(“first!“);q.enqueue(“second!“);q.enqueue(“third!“);(1) while(true)system.out.println(q.dequeue();catch( (2) ) public class Queue /队列node m_firstnode;public Queue()m_firstnode=null;public boolean isempty() if (m_firstnode=
12、=null)return true;elsereturn false;public viod enqueue(object newnode) /入队操作node next = m_firstnode;if (next = = null) m_firstnode=new node(newnode);else while(next.getnext() !=null)next=next.getnext();next.setnext(new node(newnode);public object dequeue() (3) /出队操作object node;if (is empty()(4) else
13、 node =m_firstnode.getobject();m_firstnode=m_firstnode.getnext();return node;public class node /队列中的元素object m_data;node m_next;public node(object data) m_data=data; m_next=null;public node(object data,node next) m_data=data; m_next=next;public void setobject(object data) m_data=data; public object
14、getobject(object data) return m_data; public void setnext(node next) m_next=next; public node getnext() return m_next; public class emptyqueueexception extends (5) /异常处理类public emptyqueueexception() system. out. println ( “队列已空!“ );(分数:15.00)_初级程序员下午试题-97 答案解析(总分:105.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.
15、00)说明图 4-8 的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除,但保留非空字符。例如,原字符串“ FileName ”,处理变成“File Name”。图 4-9、图 4-10 和图 4-11 分别详细描述了图 4-8 流程图中的处理框 A、B、C。假设原字符串中的各个字符依次存放在字符数组 ch 的各元素 ch(1)、ch(2)、ch(n)中,字符常量 KB表示空白字符。图 4-8 所示的流程图的处理过程是:先从头开始找出该字符串中的第一个非空白字符 ch(i),再从串尾开始向前找出位于最末位的非空白字符 ch(j),然后将 ch(i)、ch(j)依次送入
16、ch(1)、ch(2)、中。如果字符串中没有字符或全是空白字符,则输出相应的说明。在图 4-8 流程图中,strlen()是取字符串长度函数。图 4-8 算法总流程图图 4-9 处理框 A 对应的流程图图 4-10 处理框 B 对应的流程图(分数:15.00)_正确答案:(本题用分层的流程图形式描述给定的算法。图 4-8 所描述的流程图是顶层图,其中用A、B、C 标注了 3 个处理框。而图 4-9、图 4-10 和图 411 所描述的流程图分别对这 3 个处理框进行了细化。处理框 A 的功能是依次检查 ch(1),ch(2),(即从串首开始查找),直到找到非空白字符 ch(i)。在图4-9 所
17、描述的流程图中,对 i=1,2进行循环,只要未找到字符串尾部标志(即“/0“),且 ch(i)为空白字符(KB),那么还需要继续查找。因此,(1)空缺处所填写的内容是“i=n”或“n=i”或其他等价形式。处理框 B 的功能是依次检查 ch(n),ch(n-1),(即从串尾向前开始查找),直到找到非空字符 ch(j)。在图 4-10 所描述的流程图中,对 j=n,n-1进行循环,只要 ch(j)=KB(空白字符),那么还需要继续循环查找。由于 B 框处理的前提是 A 框中已经找到了非空字符 ch(i),因此循环最多到达“j=i”处就会结束。可见,(2)空缺处所填写的判断条件是“ch(j)=KB”
18、。而图 4-10 中的判断条件“ji”是可有可无的。处理框 C 的功能是将 ch(i),ch(i+1),ch(j)的内容依次送入 ch(1),ch(2)中。在图 4-11 所描述的流程图中,对 kf=i,i+l,j 进行循环,只要满足“k=j”的条件,就要继续循并环做传送处理,因此(3)空缺处所填写的内容是“k=i”或其等价形式。由于 ch(i)应送往 ch(1),ch(i+1)应送往 ch(2),因此,ch(k)应送往 ch(k-i+1)。这是程序员应熟练掌握的基本功,即从几个特例,寻找普遍规律,再用特例代进去试验是否正确。因此,(4)空缺处所填写的内容是“ch(k-i+1)”。)解析:_正
19、确答案:(在图 4-8 所描述的流程图中,判断 ch 是空白字符串,等价于 A 框处理结束后没有找到空白字符。从图 4-9 所描述的流程图中可以看出,循环变量 i 超过 n(或达到 n+1)时,就说明从头到尾一直没有找到空白字符。因此,在图 4-8 流程图中,判断框 P 中的条件可表示为“in”,即(5)空缺处所填写的内容是“n”。)解析:_正确答案:(函数 f_str(char*str,char del)的功能是:将非空字符串 str 以分割标志字符为界线,分割成若干个子字符串并输出。由函数说明和 C 代码可知,该函数对给定的字符串进行从左至右的扫描,找出不包含标志字符(变量 del 的值)
20、的子字符串。在该函数 C 代码中,变量 i 的初值为 0,len 表示字符串的长度。当 ilen 时进入循环体。如果当前字符(即 stri的值)是标志字符,则不做处理,继续扫描以处理标志字符连成一串的情况。因此(6)空缺处所填写的内容是“stri=del”或其等价形式。当退出第 2 个 while 循环时,当前字符 stri不是标志字符,此时从 stri开始继续寻找,直到标志字符出现的个子字符串(变量 i 保持不变,用 j 标记寻找的过程),给找到的字符序列置字符串结束标志,以便于后面语句的输出。因此(7)空缺处所填写的内容是“strj”。printf 输出语句结束之后,就要继续寻找后面不包含
21、标志字符的子字符串。此时,需要把数组指针 i 移至 j 的后面,再继续扫描。因此(8)空缺处所填写的内容是“i=j+1”。)解析:二、试题二(总题数:1,分数:15.00)1.说明某种传感器的输出值 Ratio 依赖于环境温度 temp(-40temp50)。对一组环境温度值(ITEMS 个),已经测量得到了相应的 Ratio 值(如表 4-10 表格所示)。表 4-10 粗略地描述了曲线 Ratio(temp)。表 4-10 曲线 Ration(temp)的列表值环境温度 temp 传感器的输出值 Ratio-40 0.20-20 0.60-10 0.800 1.0010 1.1730 1.
22、5050 1.80校正系数 K 是 Ratio 的倒数,因此也依赖于环境温度 temp。在数据处理中,需要用更多的列表值细致地描述曲线 K(temp),如表 4-11 所示。表 4-11 曲线 K(temp)的列表值环境温度 temp 校正系数 K-40 5.00-39 4.55-38 4.17-37 3.85 -20 1.67-19 1.61 -10 1.25-9 1.22 -19 0.56在表 4-11 中,各温度值所对应的 K 值是对表 4-10 进行线性插值再求倒数得到的,具体的计算方法如下。1) 根据 temp 值,在表 4-10 中用二分法查找;2) 若找到相应的温度值,则按相应的
23、 Ratio 值求倒数得到 K 值;3) 若没找到相应的温度值,则可确定 temp 所在的温度区间Tp1,Tp2,同时获得了相应的 Ratio1 和 Ratio2,再按如下公式计算 K 值:(分数:15.00)_正确答案:(这是一道要求读者掌握线性插值计算及二分查找算法的 C 语言程序设计题。本题的解答思路如下。1) 试题中已给出函数 GetK(intTemp,CURVE *p,int n)用二分法在 n 个元素的有序表 p 中查找与 Temp 对应的传感器输出值,表中的元素已经按照温度有序排列。2) 结合本题的应用背景,二分查找算法是指先计算表的中间位置,即(low+high)/2,若待查元
24、素等于中间位置上的元素,则查找成功并结束查找过程;若待查元素大,则在后半区间(m+1,high)继续进行二分查找:否则,在前半区间(low,m-1)进行二分查找,如图 4-17 所示。本试题中low=0,m=3,high=6。图 4-17 二分查找算法示意图 13) 以查找温度值 20C 为例,由于 200,因此设置下一个查找区间为(m+1,high),即4,6,如图 418 所示。图 4-18 二分查找算法示意图 24) 由于 2030,因此取 high 等于 m-1,即下一个查找区间为(low,m-1),即4,5。再进一步分析,由于 2010,因此取 low 等于 m+1,即再下一个查找区
25、间为5,5。而查找区间5,5上的数据3020,至此可确定此次查找失败,即如图 4-19 所示。图 4-19 二分查找算法示意图 35) 由以上分析可知,(1)空缺处应填入“(low+high)/2”。6) 程序中“if(Temp=(p+m)-Temp)”语句用于判断是否找到相应的温度值,若找到,则执行“return (2)”语句以返回相应温度的校正系数 K。由试题关键信息“若找到相应的温度值,则按相应的 Ratio 值求倒数得到 K 值”可推理出,(2)空缺处应填入“1.0/(p+m)-Ratio”。7) 当“if(Temp=(p+m)-Temp)”语句的判断条件不满足时,将执行“if(Tem
26、p(p+m)-Temp)”判断语句。若待查元素小,将执行“high=m-1;”语句,即在前半区间(low,m-11)进行二分查找。若待查元素大,则在后半区间(m+1,high,继续进行二分查找,因此 else 语句中则需将“low”指针向上移动,即执行“low=m+1”语句。8) 根据题干中给出的计算式子“Step= ”,以及题目中要求线性插值再求倒数得到 K 值可推理出(4)空缺处应填入“(p+1)-Ratio-p-Ratio”。9) 同理,根据题干中给出的计算式子“ )解析:三、试题三(总题数:1,分数:15.00)2.说明以下C 程序是对某电码明文(原文)进行加密形成密文。其加密算法如下
27、。假定原文为 C1C2C3Cn,加密后形成的密文为 S1S2S3Sn其中 n 为小于 256 的任意自然数。首先读入正整数 Key(Key1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,如图 4-12 所示。图 4-12 密文字符环示意图加密时从 S1位置起顺时针计数,当数到第 Key 个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第 Key 个字符位置时,将原文中字符 C2放入其中,并从环中除去该字符位置;依此类推,直至 n 个原文字符全部放入密文环中。由此产生的 S1S2Sn即为原文的密文。例如,原文:O
28、ne World One Dream。当 Key=5 时,其密文为:me OnWlanD oOedrer;当 Key=6 时该原文的密文为:oeDn OedrrOn Wma le。程序使用示例如图 4-13 所示。(分数:15.00)_正确答案:(本案例是对一字符串根据正整数 key 进行加密处理。C 程序中原文存放在数组 old 中,用函数 decode(old, key)将原文 old 加密成密文,并返回存放密文字符数组的首指针。了解加密算法和存放原文与密文的数据结构及完成加密功能的函数名称后,再仔细阅读程序,分析给出的语句在加密过程中的作用,就能逐步求得解答。主函数 main 用来接收输
29、入参数并输出加密结果。仔细阅读程序,可知加密函数 decode 在 main 之后定义而被 main 引用,在引用前应给予说明。因此(1)空缺处是用来说明函数 decode 的,其所填入的内容是“*decode()”。主函数中用 while 循环语句读入原文并存放在数组 old中,控制条件是已接收 255 个字符或回车符。在C 语言中规定,一个字符串数据总是以/0为结束标志。在接收字符过程中,变量 num 总是指向下一个要接收的字符存放位置。如果已接收 255 个字符,就应该把/0放入 old255;如果遇到回车符,因其不是原文字符,则应该把/0放入 oldnum-1中。因此(2)空缺处需要使
30、用 C 语言中的条件语句来完成相应的功能,该空缺处所填入的内容是“(num=255)?num:num-1”。函数 decode 把存放在 old 中的原文按 key 值进行加密,加密结果存放在以 new 为首地址的字符串中,并将该地址返回。这此信息可从函数一开始的“char *decode(old,key)”和函数结束处的“return (new);”得知。函数 decode 中调用另一个函数 length(old),以计算数组 old 中的字符个数,并利用此长度去分配存储空间。该存储空间用于存放密文,空间的首地址指针为 loop,类型为 CODE。借鉴语句“new=(char *)mallo
31、c(length+1) *sizeof(char);”可得,(3)空缺处所填入的内容是“CODE*”,使之成为待加密的双向环状链表。在函数 decode 中,对待加密的双向环状链表加密之后,利用 for 循环语句找出应从环中去除字符的位置,因此(4)空缺处所填入的内容是“p-forward”,使指针 p 指向下一个节点。按题干说明的加密算法,应把*old 放入该节点,并要把该节点从双向链表中删除。(5)、(6)即为将该节点从链表中脱钩,节点本身仍然存在,可以通过 loopi的形式取其密文。因此(5)、(6)空缺处所填入的内容分别是“p-forward”和“p-backward”。函数 strl
32、en 的功能是计算字符串的长度。它先取字符串进行判别,即是否为字符串的结束标志/0,是则结束;否则应使 S 指向该串的下一个字符,同时计数器加 1。因此(7)空缺处所填入的内容是“*s+”。)解析:四、试题四(总题数:1,分数:15.00)3.说明函数 int Toplogical (LinkedWDigraph G)的功能是对图 G 中的顶点进行拓扑排序,并返回关键路径的长度。其中,图 G 表示一个具有 n 个顶点的 AOE-网,图中顶点从 1n 依次编号,图 G 的存储结构采用邻接表表示,其数据类型定义如下。typedef struct Gnode /* 邻接表的表节点类型 */int a
33、djvex; /* 邻接顶点编号 */int weight; /* 弧上的权值 */struct Gonde*nextare; /* 指示下一个弧的节点 */Gnode;typedef struct Adjlist /* 邻接表的头节点类型 */char vdata; /* 顶点的数据信息 */struct Gnode*Firstadj; /* 指向邻接表的第一个表节点 */Adjlist;typedef struct LinkedWDigraph /* 图的类型 */struct Adjlist head; /* 指向图中第一个顶点的邻接表的头节点 */LinkedWDigraph;例如,某
34、 AOE-网如图 4-14 所示,其邻接表存储结构如图 4-15 所示。图 4-14 某 AOE-网(分数:15.00)_正确答案:(这是一道要求读者掌握数据结构中拓扑排序和求关键路径问题的算法分析及设计题。本题的解答思路如下。AOE-网(Activity On Edge network,边表示活动的网)是一个带权的有向无环图,其中顶点表示事件,弧表示活动,权表示活动持续的时间。通常,AOE-网可以用来估算工程的完成时间。在 AOE-网中,入度为 0 的顶点为源点,出度为 0 的顶点为汇点。由于有些活动可以并行地执行,因此从源点到汇点的路径中,长度最长的路径称为关键路径(路径长度即指路径上各种
35、活动持续时间之和)。表示事件的顶点存在最早、最晚发生时间。若以顶点 V1表示源点、顶点 Vn表示汇点,则汇点的最早发生时间和最晚发生时间是一致的,并且等于关键路径的长度。设顶点巧的最早发生时间用 ve(j)表示,则 ve(j)是指从源点 V1到 Vj的最长路径长度(时间)。这个时间决定了所有从 Vj发出的弧所表示的活动能够开工的最早时间。ve(j)计算方法为:)解析:五、试题五(总题数:1,分数:15.00)说明某 Visual Basic 应用程序用于监测某种锅炉设备内液面高度(050cm),其运行窗口界面如图 4-16 所示。(分数:15.00)_正确答案:(在 Visual Basic
36、程序中,定时器的定时间隔属性(Interval)的单位时间是:毫秒(ms)。由题干关键信息“应用程序中每隔 3 秒算出曲线点(x,y)”可知,定时器 TimT 的定时间隔属性(Interval)值应设置为 3000 毫秒,即(1)空缺处所填写的内容是“3000”。在暂停按钮(cmdStop)的 CmdStop_Click()事件过程中,语句“TimT.Enabled=False”使得定时器不起作用。而本应用程序是利用定时器的定时间隔来计算曲线点,在按钮开始(cmdStart)的CmdStart_Click()事件过程中,需要启用定时器,即(3)空缺处所填写的属性值是“True”。在定时器 ti
37、mT_Timer()事件过程中,利用语句“WHInt(Rnd*51)”随机模拟实时检测到的锅炉设备的液面高度(0cm50cm)。用随机数模拟实时检测数据是常用的方法。Rnd 是由计算机产生的均匀分布在(0,1)区间内的伪随机数。每调用一次 Rnd 就会产生一个新的随机数。随机取若干个数据,观察其分布特性,就会发现其在(0,1)中比较均匀分布(不会过于集中在某个小段)。从而,Rnd*51 产生的随机数均匀分布于(0,51),取整数部分 Int(Rnd*51)后,所产生的随机数均匀分布于 0,1,50 之间。WH=Int(Rnd*51)均匀分布于 0,1,50 之间,因此,程序中可以用 WH 值来
38、模拟实时检测到的液面高度。屏幕上的液面高度计形状控件 shpMeter 是固定的,其高度由其 Height 属性决定(shpMeter.Height),其顶部离屏幕上边的距离由其 Top 属性决定(shpMeter.Top)。由于液面高度计形状的属性 FillsStyle 默认为透明,因此水银柱(shpT)高度的变化在 shpMeter 中将实时可见。水银柱(shpT)的底部应固定在液面高度计(shpMeter)的底部,水银柱的高度应随液面高度 WH 的变化而改变。由题干关键信息“矩形形状 shpT(水银柱)的 Visible 属性初始设置为不可见”可知,程序设计时要求:尚未开始检测液面高度时
39、,水银柱应不可见;启动检测后,当液面高度 WH=0 时,水银柱的高度为0;当液面高度 WH=50 时,水银柱的高度应等于液面高度计的高度:对于其他液面高度,水银拄的高度应按线性规律变化。水银柱形状 shpT 在屏幕上的位置取决于表 4-13 所列的 3 个属性。表 4-13 影响水银柱属性表属性 说明shpT.Top 顶部位置(随液面高度 WH 的变化而变化)shhpT.Height 高度 H(随液面高度 WH 的变化而变化)shp.Left 左边位置(固定不变)(6)空缺处所在语句要求算出水银柱的高度,而水银柱的高度 H 应是液面高度 WH 的线性函数,其端点值如表 4-14 所示。表 4-
40、14 水银柱高度值与液面高度值对应表液面高度 WH 水银柱高度 H0 050 shpMeter.Height若按线性比例,由表 4-14 可得:解得, 。因此(6)空缺处应填入“WH/50”。(7)空缺处所在语句要求算出水银柱的顶部位置值。如图 4-16 所示,水银柱的顶部离屏幕上边的距离(shpTTop)应等于液面高度计离屏幕上边的距离(shpMeter.Top)加上水银柱顶部到液面高度计顶部的距离,而后者就是液面高度计的高度(shpMeter.Height)与水银柱的高度(H)之差,即 ShpT.Top=shpMeter.Top+shpMeter.Height-H因此(7)空缺处应填入“s
41、hpMeter.Top+shpMeter.Height-H”。根据题干的说明可得,图片框 picCurve 中定义的坐标系统如图 4-20 所示。它与直观见到的屏幕情况不同,点坐标也不是像素值。)解析:_正确答案:(若要在图 4-16 窗口内新增一个帮助按钮,单击该按钮就会弹出一个帮助对话框(另一窗体frm002),用户必须在其中做出响应,程序才能继续运行。该命令按钮的单击事件过程中的部分程序代码如下。Private Sub CmdHelp_C1ick()Frm002.Show vbModelEnd Sub)解析:六、试题六(总题数:1,分数:15.00)说明已知以下 C+程序运行时的输出结果
42、如下。1:11:11:1C+程序01 #include iostream02 using namespace std;03 class Stock04 protect:05 (1) ;06 Stock(int n, int pr=1) 07 shares = n; share_val=pr;08 ;09 void Stock() ;10 public:11 /成员函数12 void output() 13 (2) shares “:“ share_val endl;14 15 private:16 /成员变量17 int shares;18 int share_val;19 ;2021 void main() 22 Stock a(1); a.output23 Stock b; b.output24 Stock c = Stock (); c.output25 1. 问题 1请根据 C+程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。(分数:15.00)_正确答案:(由题干的说明可知,程序的输出全部为 1。根据主程序 main()中语句“Stock b;”可以判断出:类 Stock 有默认的构造函数,且