- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C++笔试题库之编程、问答题150~200道
151、写出判断ABCD四个表达式的是否正确,若正确,
写出经过表达式中a的值
inta=4;
(A)a+=(a++);(B)a+=(++a);(C)(a++)+=a;(D)(++a)+=
(a++);
a=?
答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a)
+=a;
改后答案依次为9,10,10,11
152、某32位系统下,C++程序,请计算sizeof的值
charstr[]=“
char*p=str;
intn=10;
请计算
(1)sizeof(str)=?
(2)sizeof(p)=?
(3)sizeof(n)=?
voidFoo(charstr[100]){
请计算
sizeof(str)=?(4)
}
void*p=malloc(100);
请计算
sizeof(p)=?(5)
答:(1)25(2)4(3)4(4)4(5)4
153、回答下面的问题
(1).VoidGetMemory(char**p,intnum){
*p=(char*)malloc(num);
}
voidTest(void){
char*str=NULL;
GetMemory(amp;str,100);
strcpy(str,“hello”);
printf(str);
}
请问运行Test函数会有什么样的结果?
答:输出“hello”
154、voidTest(void)
{
char*str=(char*)malloc(100);
strcpy(str,“hello”);
free(str);
if(str!=NULL){
strcpy(str,“world”);
printf(str);
}
}
请问运行Test函数会有什么样的结果?
答:输出“world”
155、char*GetMemory(void){
charp[]=“helloworld”;
returnp;
}
voidTest(void){
char*str=NULL;
str=GetMemory();
printf(str);
}
请问运行Test函数会有什么样的结果?
答:无效的指针,输出不确定
156、编写strcat函数
已知strcat函数的原型是char*strcat(char*strDest,const
char*strSrc);
其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数strcat
答:
VC源码:
char*__cdeclstrcat(char*dst,constchar*src)
{
char*cp=dst;
while(*cp)
cp++;
while(*cp++=*src++);
return(dst);
}
157、strcat能把strSrc的内容连接到strDest,为什么还要
char*类型的返回值?
答:方便赋值给其他变量
158、MFC中CString是类型安全类么?
答:不是,其它数据类型转换到CString可以使用CString
的成员函数Format来转换
159.C++中什么数据分配在栈或堆中?
答:栈:存放局部变量,函数调用参数,函数返回值,函数返
回地址。由系统管理
堆:程序运行时动态申请,new和malloc申请的内存就在
堆上
160、函数模板与类模板有什么区别?
答:函数模板的实例化是由编译程序在处理函数调用时自动
完成的,而类模板的实例化
必须由程序员在程序中显式地指定。
161、inti=10,j=10,k=3;k*=i+j;k最后的值是?
答:60,此题考察优先级,实际写成:k*=(i+j);,赋值运算
符优先级最低
162、do……while和while……do有什么区别?
答、前一个循环一遍再判断,后一个判断以后再循环
163、请写出下列代码的输出内容
#include
文档评论(0)