欢迎来到天天文库
浏览记录
ID:39432801
大小:62.00 KB
页数:18页
时间:2019-07-03
《计算机专业面试题目》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机专业面试题集计算机随笔2008-05-0519:28:18阅读2083评论0 字号:大中小 订阅一些面试准备题(包括高质量c++题)constchar*,charconst*,char*const的区别问题几乎是C++面试中每次都会有的题目。事实上这个概念谁都有只是三种声明方式非常相似很容易记混。Bjarne在他的TheC++ProgrammingLanguage里面给出过一个助记的方法:把一个声明从右向左读。char*constcp;(*读成pointerto)constcp指向字符串;即指向字符串的常指针;constchar*p;p指
2、向字符串常量,即指向字符串常量的指针;charconst*p;这个和上面的事一样的,表达的意思也是指向字符串常量的指针同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。---------------------------------下面这个程序执行后会有什么错误或者效果:#defineMAX255intmain(){ unsignedcharA[MAX],i; for(i=0;i<=MAX;i++) A[i]=i;}解答:MAX=255数组A的下标范围为:0..MAX-1,这是其一..其二.当i循环到25
3、5时,循环内执行:A[255]=255;这句本身没有问题..但是返回for(i=0;i<=MAX;i++)语句时,由于unsignedchar的取值范围在(0..255),i++以后i又为0了..无限循环下去.注:char类型为一个字节,取值范围是[-128,127],unsignedchar[0,255]---------------------------------编写用C语言实现的求n阶阶乘问题的递归算法:*******仅仅只要是一个算法就ok,不用管那么多,能用就行。longintfact(intn){intx;longinty;if(
4、n<0) { printf("error!"); }if(n==0) return1;x=n-1;y=fact(x);//这是一个递归调用过程,return(n*y);}Longintfact(intn){If(n<0){Printf(“error”);}If(n==0)Return1;ElseReturnn*fact(n-1);}--------------------------------二分查找算法://已经在排好序的情况下进行查找1、递归方法实现:intBSearch(elemtypea[],elemtypex,in
5、tlow,inthigh)/*在下届为low,上界为high的数组a中折半查找数据元素x*/{intmid;if(low>high)return-1;//errormid=(low+high)/2;if(x==a[mid])returnmid;if(xhigh)Return-1;
6、Mid=(low+high)/2;If(x==a[mid])Returnmid;If(x7、[mid].key2解:intf(intn){inti,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;8、 }return(s);}------------------------------交换两个数,不用第三块儿内存:inta=……;
7、[mid].key2解:intf(intn){inti,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;
8、 }return(s);}------------------------------交换两个数,不用第三块儿内存:inta=……;
此文档下载收益归作者所有