试题一
1、阅读以下说明和流程图,填写流程图中的空缺。
【说明】
下面流程图所示算法的功能是:在一个二进制位串中,求出连续的“1”构成的所有子串的最大长度M。例如,对于二进制位串0100111011110,M=4。
该算法中,将长度为n的二进制位串的各位数字,按照从左到右的顺序依次存放在数组A[1..n]。在对各个二进制位扫描的过程中,变量L动态地记录连续“1”的个数。
【流程图】
注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1。
格式为:循环控制变量=初值,终值[,递增值]
试题二
2、阅读以下说明和C代码,填补C代码中的空缺。
【说明】
& ……此处隐藏20295个字…… 为NULL时,则只打印出“订单抬头”和“订单脚注”。
入口函数main()中,先用new关键字创建Order类的对象,即对象指针order,并作为参数传递给PrintOrder的构造器进行创建PrintOrder对象,即对象指针print,之后print->printOrder()即调用PrintOrder中的printOrder()方法,执行主要打印逻辑。即:
Order *order=new Order();
PrintOrder *print=new PrintOrder (order);
print->printOrder();
综上所述,第1空和第6空表示继承Order类,即:public Order;第2空需要表示Decorator对象的order属性,即this->order或(*this).order;第3空和第4空需要显式调用父类Decorator的带参数构造器,参数为order,即Decorator (order);第5空处调用父类对象的printOrder()方法,即Decorator::printOrder();第7空需要表示PrintOrder对象的order属性,即this->order或(*this).order 。