C++/MFC 试题 (1)

一.填空题 (26 分 )

1 . WIN32 平台下, sizeof(short) = __2__ , sizeof(int) = __4__ , sizeof(long) = __4__ 。 (3 分 )

2 .请给出如下程序的结果 (2 分 )

int a = 3;

int b = a << 3;

a = __3__ , b = __24__ 。

3 .请 给出如下程序的结果 (2 分 )

int aaa = 0x01;

htonl(aaa) = _16777216___ 。 //这题运行显示的是16777216,我觉得可能是随机值

4 .请给出如下程序的结果 (2 分 )

#define MAX_NUM 100+200

int nTemp = MAX_NUM*10;

则 Temp = __2100__ 。

5 .请给出如下程序的结果 (3 分 )

char szTemp[1000] = "";

int nLen1 = sizeof(szTemp);

int nLen2 = strlen(szTemp);

strcpy(szTemp, "abc");

int nLen3 = sizeof(szTemp);

int nLen4 = strlen(szTemp);

int nTemp[100];

int *pTemp = nTemp;

int nLen5 = sizeof(pTemp);

char szResult[200] = "";

sprintf(szResult, "%d,%d,%d,%d,%02d.", nLen1, nLen2, nLen3, nLen4, nLen5);

则 szResult = ____ 。

6 . MFC 中,大部分类是从哪个类继承而来( CCmdTarget 、 CObject 、 CWinApp 、 CWnd )? (2 分 )__CObject __

7 .内存是进程范围 or 线程范围; ____

CPU 调度时,针对进程 or 线程; ____

函数调用堆栈,针对进程 or 线程。 ____(3 分 )

8 .调用函数 bbb 后,输出是什么 (4 分 )

void ccc(int x)

{

       char szTemp[10] = "";

       x = 2;

       sprintf(szTemp, "%d,", x);

       afxDump << szTemp;

       if(x = 3)

       {

              int x = 4;

              sprintf(szTemp, "%d,", x);

              afxDump << szTemp;

       }

       sprintf(szTemp, "%d,", x);

       afxDump << szTemp;

}

void bbb()

{

       char szTemp[10] = "";

       int x = 7;

       ccc(x);

       sprintf(szTemp, "%d,", x);

       afxDump << szTemp;

}

 

二.改错题 ( 总共 15 分 , 每题 5 分 ) 

1 .下面代码有何错误

void func1()

{

       int *pa = NULL;

       func2(pa);

       delete pa;

}

void func2(int *pb)

{

       pb = new int(5);

}

2 .下面代码有何错误

void func2(int *value)

{

       *value = 2;

}

void func1()

{

       int *p = 0;

       func2(p);

}

3 .

int func1(int& b)

{

       return 0;

}

void func2()

{

       int bbb = 3;

       func1(&bbb);

       func1(bbb);

}

func2 中有何错误, func1 的参数 b 的类型是什么。

posted on 2011-05-06 19:50  _Clarence  阅读(383)  评论(0编辑  收藏  举报

导航