31)若定义int k=7,x=12;,则值为3的表达式是
A)x%=(k%=5) B)x%=(k-k%5)
C)x%=k-k%5 D)(x%=k)-(k%=5)
(32)在位运算中,操作数每右移一位,其结果相当于
A)操作数乘以2 B)操作数除以2 C)操作数乘以4 D)操作数除以4
(33)有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是
struct node
{ char data;
struct node*next;
}a,b,*p=&a,*q=&b;
A)a. next=q; B)p. next=&b; C)p->next=&b; D)(*p).next=q;
(34)一个类的友元函数能够访问该类的
A)私有成员 B)保护成员 C)公有成员 D)所有成员
(35)下面程序的输出结果是
#include<iostream. h>
#include<string. h>
void main()
{
char p1[10],p2[10];
strepy(p1,”abc”):
strcpy(p2,”ABC”);
char str[50]=”xyz”;
strcpy(str+2,strcat(p1,p2));
cout<<str;
}
A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC
二、填空题(每空2分,共30分)
请将答案分别写在答题卡中序号为【1】~【15】的横线上,答在试卷上不得分。
(1)在树形结构中,树根节点没有 【1】 。
(2)Jackson结构化程序设计方法是英国的M. Jackson提出的,它是一种面向 【2】 的设计方法。
(3)面向对象的模型中,最基本的概念是对象和 【3】 。
(4)软件设计模块化的目的是 【4】 。
(5)数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【5】 和物理数据模型。
(6)派生类的成员一般分为两部分,一部分是 【6】 ,另一部分是自己定义的新成员。
(7)以下程序输出的结果是 【7】 。
#include<]ostream. h>
void main()
{
int a=5,h=4,c=3,d;
d=(a>b>c);
cout<<d;
}
(8)设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j-- k=i+j;语句后,k的值为 【8】 。
(9)如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是 【9】 。
(10)如果类B继承了类A,则称类A为类B的基类,类B称为类A的 【10】 。
(11)将x+y中的+运算符用友元函数重载应写为 【11】 。
(12)已知程序的结果为123,请填空
#include<iostream.h>
template<class T>
class A
{
public:
Tx,y,z:
void display(){cout<<x<<” ”<<y<<” ”<<z;}
}
void main()
{
<Int>al;
【12】
【13】
【14】
al.display();
}
(13)下列程序段的输出结果是 【15】 。
cout<<fixed<<509.123456789<<endl;