This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please upgrade to a browser that supports web standards. It's free and painless.
| « | 七月 2009 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
出口香烟
FC 4下安装ORACLE 9i 的全过程
安装Linux 的硬盘分区
C语言面试题大汇总之华为面试题
面试经典试题
C/C++ 程序设计员应聘常见面试试题深入剖析
美国军工五巨头简介
经典面试问题回答思路
老师的语录
华为公司 java 面试题
Author:Vince
————即使你是个编程高手,你在面试前也应该要看看这套题,她也许会给你带来好运,否则你有可能后悔当初为什么没有看而跳楼自杀,这样我会很内疚的。这套题看似简单,但你未必能得高分,即使你看不懂也要把她背下来!
欢迎转载此文,转载时请注明文章来源:文斯测试技术研究中心 http://blog.csdn.net/vincetest
1. const的理解:const char*, char const*, char*const的区别问题几乎是C++面试中每次 都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。
char * const cp; ( * 读成 pointer to )
cp is a const pointer to char
const char * p;
p is a pointer to const char;
char const * p;
同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。
2. c指针
int *p[n];-----指针数组,每个元素均为指向整型数据的指针。
int (*)p[n];------p为指向一维数组的指针,这个一维数组有n个整型数据。
int *p();----------函数带回指针,指针指向返回的值。
int (*)p();------p为指向函数的指针。
3. 数组越界问题
下面这个程序执行后会有什么错误或者效果:
#define MAX 255
int main()
{
unsigned char A[MAX],i;
for (i=0;i<=MAX;i++)
A[i]=i;
}
解答:MAX=255,数组A的下标范围为:0..MAX-1,这是其一,其二 当i循环到255时,循环内执行: A[255]=255;这句本身没有问题,但是返回for (i=0;i<=MAX;i++)语句时,由于unsigned char的取值范围在(0..255),i++以后i又为0了..无限循环下去.
注:char类型为一个字节,取值范围是[-128,127],unsigned char [0 ,255]
4. C++:memset ,memcpy 和strcpy 的根本区别?
#include "memory.h"
memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ '或‘';例:char a[100];memset(a, '', sizeof(a));
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。
strcpy就只能拷贝字符串了,它遇到''就结束拷贝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘'之前)是否超过50位,如超过,则会造成b的内存地址溢出。
strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
Memset
原型:extern void *memset(void *buffer, char c, int count);
用法:#include
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针。
5. ASSERT()是干什么用的
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:
......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。
6. system("pause");系统的暂停程序,按任意键继续,屏幕会打印,"按任意键继续。。。。。" 省去了使用getchar();
7. 请问C++的类和C里面的struct有什么区别?
c++中的类具有成员保护功能,并且具有继承,多态这类oo特点,而c里的struct没有
8. 请讲一讲析构函数和虚函数的用法和作用?
析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载。知识在类对象生命期结束的时候,由系统自动调用释放在构造函数中分配的资源。这种在运行时,能依据其类型确认调用那个函数的能力称为多态性,或称迟后联编。另:析构函数一般在对象撤消前做收尾工作,比如回收内存等工作,虚拟函数的功能是使子类可以用同名的函数对父类函数进行重载,并且在调用时自动调用子类重载函数,如果是纯虚函数,则纯粹是为了在子类重载时有个统一的命名而已。
9. 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
全局变量的生命周期是整个程序运行的时间,而局部变量的生命周期则是局部函数或过程调用的时间段。其实现是由编译器在编译时采用不同内存分配方法。全局变量在main函数调用后,就开始分配,如果是静态变量则是在main函数前就已经初始化了。而局部变量则是在用户栈中动态分配的(还是建议看编译原理中的活动记录这一块)
10. 8086是多少尉的系统?在数据总线上是怎么实现的?
8086系统是16位系统,其数据总线是20位。
1. 编写用C语言实现的求n阶阶乘问题的递归算法:
long int fact(int n)
{
int x;
long int y;
if(n<0)
{
printf("error!");
}
if(n==0)
return 1;
x=n-1;
y=fact(x);
return (n*y);
}
2. 二分查找算法:
1) 递归方法实现:
int BSearch(elemtype a[],elemtype x,int low,int high)
/*在下届为low,上界为high的数组a中折半查找数据元素x*/
{
int mid;
if(low>high) return -1;
mid=(low+high)/2;
if(x==a[mid]) return mid;
if(x<a[mid]) return(BSearch(a,x,low,mid-1));
else return(BSearch(a,x,mid+1,high));
}
2) 非递归方法实现:
int BSearch(elemtype a[],keytype key,int n)
{
int low,high,mid;
low=0;high=n-1;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid].key==key) return mid;
else if(a[mid].key<key) low=mid+1;
else high=mid-1;
}
return -1;
}
3. 递归计算如下递归函数的值(斐波拉契):
f(1)=1
f(2)=1
f(n)=f(n-1)+f(n-2) n>2
解:
int f(int n)
{
int i,s,s1,s2;
s1=1;/*s1用于保存f(n-1)的值*/
s2=1;/*s2用于保存f(n-2)的值*/
s=1;
for(i=3;i<=n;i++)
{
s=s1+s2;
s2=s1;
s1=s;
}
return(s);
}
4. 交换两个数,不用第三块儿内存:
int a = ……;
int b = ……;
a = a + b;
b = a - b;
a = a - b;
5. 冒泡排序:
void BubbleSort(elemtype x[],int n)
{
int i,j;
elemtype temp;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
{
if(x[j].key>x[j+1].key)
{
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
}
6. c语言 文件读写
#include "stdio.h"
main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w")==NULL)
{
printf("cann't open filen");
exit(0);
}
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
7. winsocket编程
#include <Winsock2.h>
#include <stdio.h>
void main()
{
WORDwVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1);
err = WSAStartup(wVersionRequested,&wsaData);
if( err != 0)
{
return;
}
if(LOBYTE( wsaData.wVersion ) != 1||
HIBYTE( wsaData.wVersion) != 1)
{
WSACleanup();
return;
}
SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5);
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
char sendBuf[100];
sprint(sendBuf,"Welcome %s to http://www.sunxin.org",
inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf);
printf("%sn",recvBuf);
closesocket(sockConn);
WSACleanup();
}
}
注:这是Server端;File->New->Win32 Console Application,工程名:TcpSrv;然后,File->New->C++ Source File,文件名:TcpSrv;在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib
#include <Winsock2.h>
#include <stdio.h>
void main()
{
WORDwVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1);
err = WSAStartup(wVersionRequested,&wsaData);
if( err != 0)
{
return;
}
if(LOBYTE( wsaData.wVersion ) != 1||
HIBYTE( wsaData.wVersion) != 1)
{
WSACleanup();
return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_porthtons(6000);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
char recvBuf[100];
recv(sockClient,recvBuf,100,0);
printf("%sn",recvBuf);
send(sockClient,"This is zhangsan",strlen("This is zhangsan")+1,0);
closesocket(sockClient);
WSACleanup();
}
注:这是Client端;File->New->Win32 Console Application,工程名:TcpClient;然后,File->New->C++ Source File,文件名:TcpClient;同理,在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib
8. 类的知识
C++
#include <iostream.h>
class human
{
public:
human(){ human_num++;};
static int human_num;
~human()
{
human_num--;
print();
}
void print()
{
cout<<"human num is: "<<human_num<<endl;
}
protected:
private:
};
int human::human_num = 0;
human f1(human x)
{
x.print();
return x;
}
int main(int argc, char* argv[])
{
human h1;
h1.print();
human h2 = f1(h1);
h2.print();
return 0;
}
输出:
1
1
0
0
-1
-2
----------------------------
分析:
human h1; //调用构造函数,---hum_num = 1;
h1.print(); //输出:"human is 1"
human h2 = f1(h1); //再调用f1(h1)的过程中,由于函数参数是按值传递对象,调用默认的复制构造函数, 一般分类 :: 评论 (24) :: 静态链接网址 :: 引用 (0)
dating now!
http://ronnytestbaza.com
DyeshyUsems | 03/04/2009, 22:26
gonzaga location
Hello,
tortilia.info
conneticut [url=http://sub387.hibernusmortis.com/2001.php]koung im ju los angeles[/url] , ectoplasm http://sub387.hibernusmortis.com/1992.php - korte rec center haunting in connecticut snedeker [url=http://sub387.hibernusmortis.com/2002.php]kovar shear modulus[/url] , haunting in connecticut http://sub387.hibernusmortis.com/1993.php - kosciusko 21st century foundation haunting in connecticut movie [url=http://sub387.hibernusmortis.com/2003.php]koyker front end loader hydraulic fluid[/url] , haunted house in connecticut http://sub387.hibernusmortis.com/1994.php - kosher food at yankee stadium haunted in connecticut [url=http://sub387.hibernusmortis.com/2004.php]kozyra helena age 32[/url] , a beautiful mind http://sub387.hibernusmortis.com/1995.php - kosher slaughter knife john forbes nash [url=http://sub387.hibernusmortis.com/2005.php]kpi and kra[/url] , john nash http://sub387.hibernusmortis.com/1996.php - kosovo declares idependence beautiful mind [url=http://sub387.hibernusmortis.com/2006.php]kpoj radio portland[/url] , for love of the game http://sub387.hibernusmortis.com/1997.php - kosta jewelers of ct for the love of the game [url=http://sub387.hibernusmortis.com/2007.php]kr emel restart[/url] , unc vs gonzaga http://sub387.hibernusmortis.com/1998.php - kota kinabalu the city travel guide unc tarheels basketball [url=http://sub387.hibernusmortis.com/2008.php]kraemer marine nj[/url] , syracuse vs oklahoma http://sub387.hibernusmortis.com/1999.php - kotor 2 patch unc tarheels [url=http://sub387.hibernusmortis.com/2009.php]kraft foods canton ny[/url] , louisville cardinals http://sub387.hibernusmortis.com/2000.php - kotton mouth stoned north carolina vs gonzaga [url=http://sub388.hibernusmortis.com/1961.php]kraft packing paper[/url] , john james 鈥渏.j.鈥
comments2: Articoli stupefacentiugrq 8-))32
Aufstellungsort ist sehr viel sogar gut hydrocodone Levitra
phentermine Fioricet propecia
[smiley=think]
Nice Site Thx, Viagra, dilb, Viagra, 635, Order Viagra, udnvad, Order Viagra, jsu, Viagra, 48232,
Nice Site Thx, Viagra, dilb, Viagra, 635, Order Viagra, udnvad, Order Viagra, jsu, Viagra, 48232,
Viagra | 04/07/2009, 10:14
Best Work, Buy Viagra, 49879, Buy Viagra, %]]], Buy Viagra, 41370, Buy Viagra, etvko, Order Viagra, :)),
Best Work, Buy Viagra, 49879, Buy Viagra, %]]], Buy Viagra, 41370, Buy Viagra, etvko, Order Viagra, :)),
Buy Viagra | 04/07/2009, 11:00
Excellent Site, Buy Viagra, >:[[, Viagra, 563, Buy Viagra, 679, Buy Viagra, >:-(((, Buy Viagra, xykia,
Excellent Site, Buy Viagra, >:[[, Viagra, 563, Buy Viagra, 679, Buy Viagra, >:-(((, Buy Viagra, xykia,
Viagra | 04/07/2009, 11:46
your comment 1: it's really interestingjqcb ..65
Considerevole articolo adipex acomplia diet pills tramadol diazepam [smiley=tongue]
Owlvturz | 04/07/2009, 11:53
Hello, Order Viagra, nienq, Viagra, 558772, Buy Viagra, 418, Viagra, mbdwu, Buy Viagra, =D,
Hello, Order Viagra, nienq, Viagra, 558772, Buy Viagra, 418, Viagra, mbdwu, Buy Viagra, =D,
Viagra | 04/07/2009, 12:32
Coolest Site, Viagra, >:]], Viagra, czg, Viagra, 128, Viagra, 7659, Buy Viagra, 1495,
Coolest Site, Viagra, >:]], Viagra, czg, Viagra, 128, Viagra, 7659, Buy Viagra, 1495,
Buy Viagra | 04/07/2009, 13:19
Good Work, Buy Viagra, vgq, Order Viagra, cczwv, Buy Viagra, >:-D, Viagra, 043, Buy Viagra, >:-(((,
Good Work, Buy Viagra, vgq, Order Viagra, cczwv, Buy Viagra, >:-D, Viagra, 043, Buy Viagra, >:-(((,
Order Viagra | 04/07/2009, 14:04
Wonderfull Site, Buy Viagra, 51216, Viagra, tjb, Buy Viagra, qzsj, Viagra, pnjnz, Order Viagra, 133, Viagra, 1130, Order Viagra, 39900,
Wonderfull Site, Buy Viagra, 51216, Viagra, tjb, Buy Viagra, qzsj, Viagra, pnjnz, Order Viagra, 133, Viagra, 1130, Order Viagra, 39900,
Buy Viagra | 04/07/2009, 14:35
Congratulations, Buy Viagra, %-))), Viagra, mwru, Buy Viagra, =-DD, Buy Viagra, 368328, Viagra, =-P, Viagra, >:PP, Buy Viagra, 8-(,
Congratulations, Buy Viagra, %-))), Viagra, mwru, Buy Viagra, =-DD, Buy Viagra, 368328, Viagra, =-P, Viagra, >:PP, Buy Viagra, 8-(,
Viagra | 04/07/2009, 15:21
Hello, Buy Viagra, 453, Viagra, 452, Buy Viagra, 617316, Viagra, 224192, Order Viagra, nogx, Order Viagra, 92137, Buy Viagra, 1044,
Hello, Buy Viagra, 453, Viagra, 452, Buy Viagra, 617316, Viagra, 224192, Order Viagra, nogx, Order Viagra, 92137, Buy Viagra, 1044,
Buy Viagra | 04/07/2009, 16:09
Coolest Site, Buy Viagra, 872636, Buy Viagra, 8-PP, Order Viagra, yok, Viagra, :], Viagra, 96555, Viagra, 4556, Viagra, kobodb,
Coolest Site, Buy Viagra, 872636, Buy Viagra, 8-PP, Order Viagra, yok, Viagra, :], Viagra, 96555, Viagra, 4556, Viagra, kobodb,
Buy Viagra | 04/07/2009, 16:55
Excellent Site, Buy Viagra, giew, Viagra, xfh, Buy Viagra, :]], Viagra, mnxrp, Buy Viagra, nzoqbu, Viagra, 657471, Buy Viagra, 952508,
Excellent Site, Buy Viagra, giew, Viagra, xfh, Buy Viagra, :]], Viagra, mnxrp, Buy Viagra, nzoqbu, Viagra, 657471, Buy Viagra, 952508,
Viagra | 04/07/2009, 18:28
Thanks Site, Order Viagra, 025252, Viagra, 8(((, Order Viagra, mwca, Buy Viagra, rvzl, Buy Viagra, 522, Buy Viagra, :DD, Order Viagra, wtacch,
Thanks Site, Order Viagra, 025252, Viagra, 8(((, Order Viagra, mwca, Buy Viagra, rvzl, Buy Viagra, 522, Buy Viagra, :DD, Order Viagra, wtacch,
Buy Viagra | 04/07/2009, 19:15
Good Work, Viagra, 822465, Viagra, odyqh, Buy Viagra, 14407, Viagra, >:O, Viagra, exw, Buy Viagra, cfso, Buy Viagra, rpe,
Good Work, Viagra, 822465, Viagra, odyqh, Buy Viagra, 14407, Viagra, >:O, Viagra, exw, Buy Viagra, cfso, Buy Viagra, rpe,
Order Viagra | 04/07/2009, 20:02
Interesting Site, Viagra, jvmckq, Viagra, >:-]]], Buy Viagra, >:-DD, Viagra, 708, Buy Viagra, 95536, Viagra, vtfglz, Buy Viagra, %-]],
Interesting Site, Viagra, jvmckq, Viagra, >:-]]], Buy Viagra, >:-DD, Viagra, 708, Buy Viagra, 95536, Viagra, vtfglz, Buy Viagra, %-]],
Buy Viagra | 04/07/2009, 20:48
Good Job, Viagra, :DDD, Order Viagra, 0166, Viagra, ebo, Buy Viagra, 72364, Buy Viagra, %[, Buy Viagra, 269, Buy Viagra, znhjr,
Good Job, Viagra, :DDD, Order Viagra, 0166, Viagra, ebo, Buy Viagra, 72364, Buy Viagra, %[, Buy Viagra, 269, Buy Viagra, znhjr,
Viagra | 04/07/2009, 21:35
t27t
c566t Leonard%27s Live Webcams Maui Live Webcam Webcam Live Motion Review Southern Brooke Webcam Nude Webcam Montego Bay Jamaica
now551@gmail.com | 04/07/2009, 21:43
Interesting Site, Buy Viagra, 67708, Buy Viagra, hznytl, Order Viagra, 80713, Viagra, qfhn, Order Viagra, =-), Viagra, 67769, Viagra, 09055,
Interesting Site, Buy Viagra, 67708, Buy Viagra, hznytl, Order Viagra, 80713, Viagra, qfhn, Order Viagra, =-), Viagra, 67769, Viagra, 09055,
Buy Viagra | 04/07/2009, 22:22
Hi There, Viagra, hcfztv, Viagra, 3555, Order Viagra, :-(((, Buy Viagra, >:-[[, Buy Viagra, aeo, Order Viagra, >:)), Buy Viagra, 203,
Hi There, Viagra, hcfztv, Viagra, 3555, Order Viagra, :-(((, Buy Viagra, >:-[[, Buy Viagra, aeo, Order Viagra, >:)), Buy Viagra, 203,
Buy Viagra | 04/07/2009, 23:09
Hello, Buy Viagra, byyhgj, Viagra, 9579, Order Viagra, qvx, Viagra, =-O, Viagra, ruwr, Buy Viagra, :-), Viagra, ziqaj,
Hello, Buy Viagra, byyhgj, Viagra, 9579, Order Viagra, qvx, Viagra, =-O, Viagra, ruwr, Buy Viagra, :-), Viagra, ziqaj,
Viagra | 04/07/2009, 23:56
your comment Local excelente. Um bom tipowult !!50
your comment4 hydrocodone Diazepam- Diazepam~ 6504
fioricet fioricet 5648!!! Tramadol, tramaadol =-))!!! 16049; ykv