设为首页 加入收藏

TOP

C++笔试题库之编程、问答题 200~300道(三)
2014-11-23 21:26:43 来源: 作者: 【 】 浏览:45
Tags:试题库 编程 答题 200 300
在函数头的后面加上__ const __关键字。


294. 若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上__ const __关键字。


295.判断一个字符串是不是回文


int IsReverseStr(char *aStr)


{


int i,j;


int found=1;


if(aStr==NULL)


return -1;


j=strlen(aStr);


for(i=0;i

if(*(aStr+i)!=*(aStr+j-i-1))


{


found=0;


break;


}


return found;


}


296..写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)


int a = 4;


(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);


a =


答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;


改后答案依次为9,10,10,11




298.动态连接库的两种方式


答:调用一个DLL中的函数有两种方法:


1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。


2.运行时动态链接(run-time dynamic linking),运行时可以通过LoadLibrary或Loa


dLibraryEx函数载入DLL。DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入库文件了。



299.请写出下列代码的输出内容


#i nclude


main()


{


int a,b,c,d;


a=10;


b=a++;


c=++a;


d=10*a++;


printf(“b,c,d:%d,%d,%d”,b,c,d);


return 0;


}


答 、10,12,120



300.设有以下说明和定义:


typedef union {long i; int k[5]; char c;} DATE;


struct data { int cat; DATE cow; double dog;} too;


DATE max;


则语句 printf(“%d”,sizeof(struct date)+sizeof(max));的执行结果是?


答 、结果是:___52____。DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20


data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.


所以结果是 20 + 32 = 52.


当然…在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇软件测试需求的分析方法 下一篇智力面试题集

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: