12.在Windows编程中下面的说法正确的是:A.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的 C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同. 13.下面哪种情况下,B不能隐式转换为A?
A.class B:public A{} B.class A:public B{} C.class B{operator A();} D.class A{A(const B&);}
14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.
A.使公司员工只能访问Internet上与其业务联系的公司的IP地址. B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP. C.使员工不能直接访问FTP服务器端口号为21的FTP地址. D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络 15.数字字符0的ASCII值为48,若有以下程序: main() {
char a=’1’,b=’2’; printf(“%c,”,b++); printf(“%d\\n”,b-a); }
程序运行之后的输出结果是:
A.3,2 B.50,2 C.2,2 D.2,50
二. 填空题(共40分)
本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.
程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出. 程序中的外部函数
int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);
从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0. #include #include #include #include #define SOURCE_FILE \"text.in\" #define OUTPUT_FILE \"word.out\" #define MAX_WORD_LEN 128
typedef struct treenode {
char szWord[MAX_WORD_LEN]; int nCount;
struct treenode* pLeft; struct treenode* pRight; }BNODE;
int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);
void binary_tree(BNODE** ppNode,char* pszWord) {
if(ppNode != NULL && pszWord != NULL) {
BNODE* pCurrentNode = NULL; BNODE* pMemoNode = NULL; int nStrCmpRes=0;
____(1)_____;pCurrentNode=*ppNode
while(pCurrentNode) {
/*寻找插入位置*/
nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->nCount
if(!nStrCmpRes) {
___(3)___; pCurrentNode->nCount++
return; } else
{
___(4)___; pMemoNode=pCurrentNode pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft; } } }
pCurrent=new BNODE;
if(pCurrentNode != NULL) {
memset(pCurrentNode,0,sizeof(BNODE));
strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1); pCurrentNode->nCount=1; }
if(pMemoNode==NULL) {
___(5)___; *ppNode= pCurrentNode }
else if(nStrCmpRes>0) {
pMemoNode->pRight=pCurrentNode; } else {
&nb