c 面试题【C++面试题7】.doc
文本预览下载声明
PAGE
PAGE 49
c 面试题【C++面试题7】
C++面试题7 一、
.5.使用C/C++“匈牙利命名法”命名(10分)定义全局的表示年龄的变量:定义局部的表示标题的变量:
定义局部的CString型的临时变量:定义类成员表示路径的指针变量:定义表示最大长度的宏:
二、以下是32位C++程序,计算sizeof的值(10分)
charstr[]=“Hello”;voidFunc(charstr[100])char*p=str;{intn=10;请计算请计算sizeof(str)=
sizeof(str)=}
sizeof(p)=sizeof(n)=
void*p=malloc(100);
请计算
sizeof(p)=
三、关于数组与指针(10分)
已知数组:intia[]={0,1,1,2,3,5,8,13,21};
int*pa=ia;
计算下列表达式的值或写出表达式的含义:ia:ia[0]:ia[0]:*ia:ia+1:四、
编写通过for/while/dowhile实现的无限循环(10分)
五、请指出下列语句所存在的问题(10分)
1.if(intival=0)
coutlt;lt;quot;ival=quot;lt;lt;ivallt;lt;endl;
2.intGetValue(){…}
do{
if(ilt;0)
break;
}
while(inti=GetValue());
3.intGetValue(){…}
switch(inta=GetValue()){
case1:
inti=0;i++;break;case0.2:
(转自:wWw.CspEnG 蓬勃 范文 网:c 面试题【C++面试题7】)break;default:
break;
}
六、请写出2种通过函数参数返回值的方法,并举例(10分)
七、有关内存的思考题(10分)
char*GetMemory(void){
charp[]=quot;helloworldquot;;returnp;}
voidTest(void){
char*str=NULL;str=GetMemory();printf(str);}
voidGetMemory(char*p){
p=(char*)malloc(100);}
voidTest(void){
char*str=NULL;GetMemory(str);
strcpy(str,quot;helloworldquot;);printf(str);}
请问运行Test函数会有什么样的结请问运行Test函数会有什么样的结果?果?答:答:
VoidGetMemory(char**p,intnum){
*p=(char*)malloc(num);}
voidTest(void){
char*str=NULL;GetMemory(str,100);strcpy(str,quot;helloquot;);printf(str);}
请问运行Test函数会有什么样的结果?答:voidTest(void){
char*str=(char*)malloc(100);strcpy(str,“hello”);free(str);
if(str!=NULL){
strcpy(str,“world”);printf(str);}}
请问运行Test函数会有什么样的结果?答:
八、描述你对面向对象思想的看法(10分)
九、描述(通过文字或代码均可)socket(Tcp)的连接示例(10分)
十、描写(通过文字或代码均可)2种线程互斥的方法(10分)
c 面试题【C++面试题7】
这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。
1.求下面函数的返回值( 微软)
int func(x)
{
int countx =0;
while(x)
{
countx ++;
x = x (x-1);
}
return countx;
}假定x = 9999。
答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是 引用 ?申明和使用 引用 要注意哪些问题?
答:引用就是某个目标变量的 别名 (alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单
显示全部