1、若有定义 int a[8], 则下列表达式中不代表数组a[1]地址的是: A &a[0]+1 B &a[1] C &a[0]++ D a++2、指针S所指字符串长度为: Char *S=”\”Name\\Address\n” A 14 B 15 C 16 D 173、有Hash函数 unsigned short hash(unsigned short key) {return (key>>4)%256}, 问 hash(16)和hash(256)的值: A 1,16 B 8,32 C 14,16 D 11,324、在某种开发环境下,char被定义为8位1个字节,系统采用32位迅址,定义数组char **a[4][4], 则a所占用的内存有 字节 A 16 B 32 C 64 D1285、已知int a[8]={1,2,3,4,5,6,7,8}, *p=a; *(p+1)*(p+1)[1]的值是: A 2 B 3 C6 D不确定6、char a=-1; short b; b=(short) a;则 b的值为: A -1 B 1 C65535 D 255
7、下列原因中导致堆栈不足的直接原因的是:a.子程序中,局部变量占空间过大;b.程序中全局变量占空间过大;c.子程序行参占空间过大;d.程序调用过深;8、关于进程的说法:a.进程进入运行状态是通过调度程序实现的b.单CPU系统,任一时刻有一个进程处于运行状态c.进程无法获得CPU资源时,处于等待状态d.???
填空:1、main(){ char *p; char s[]=”abcd”; for(p=S+1;p<s+4; P++) printf(“%s\n”);} 写出打印结果2、请在空格出填写一行程序,使函数完成计算X阶乘的功能 int f(int x){ if(x==1) return 1; else return ______};3、enum{A,B,C,D,E,K=9,j}; 问D:__J:___4、素数的个数(程序填空)
5、一个字符占1个字节,采用32位寻址方式,则数组char**[4][4]占用多少字节?(64字节)6、Char a=-1; unsighed int b; b=a; printf(“%d”,b); 输出结果是什么?7、有数组a[1,2,3,4,5,6],p=a; 求下式子: *(a+1)*(p+1)[1]=?8、举至少4例说明进程改变状态的原因.
编程题1、请定义一个双项链表结构 ,并编写函数传入两个两表节点,交换位置 2、编写一个函数:输入一个字符串, 输出按字母顺序排列后的字符串3、编写一个函数,将字符串反序输出4、求一个100大小的整数的所有因子.(提示,由于该数不是很大,所以可以将质数保存在数组中,以加快计算速度)5、实现函数void strcopy(char * dest_str, char * sour_str, int n)将从dest_str开始的n个字符拷贝给sour_str.保护模式,内存4GB.以上就是小弟今天的面试题,虽然今天答得不好,但事后一定要把它学会。
多谢大家帮忙^_^
7、下列原因中导致堆栈不足的直接原因的是:a.子程序中,局部变量占空间过大;b.程序中全局变量占空间过大;c.子程序行参占空间过大;d.程序调用过深;8、关于进程的说法:a.进程进入运行状态是通过调度程序实现的b.单CPU系统,任一时刻有一个进程处于运行状态c.进程无法获得CPU资源时,处于等待状态d.???
填空:1、main(){ char *p; char s[]=”abcd”; for(p=S+1;p<s+4; P++) printf(“%s\n”);} 写出打印结果2、请在空格出填写一行程序,使函数完成计算X阶乘的功能 int f(int x){ if(x==1) return 1; else return ______};3、enum{A,B,C,D,E,K=9,j}; 问D:__J:___4、素数的个数(程序填空)
5、一个字符占1个字节,采用32位寻址方式,则数组char**[4][4]占用多少字节?(64字节)6、Char a=-1; unsighed int b; b=a; printf(“%d”,b); 输出结果是什么?7、有数组a[1,2,3,4,5,6],p=a; 求下式子: *(a+1)*(p+1)[1]=?8、举至少4例说明进程改变状态的原因.
编程题1、请定义一个双项链表结构 ,并编写函数传入两个两表节点,交换位置 2、编写一个函数:输入一个字符串, 输出按字母顺序排列后的字符串3、编写一个函数,将字符串反序输出4、求一个100大小的整数的所有因子.(提示,由于该数不是很大,所以可以将质数保存在数组中,以加快计算速度)5、实现函数void strcopy(char * dest_str, char * sour_str, int n)将从dest_str开始的n个字符拷贝给sour_str.保护模式,内存4GB.以上就是小弟今天的面试题,虽然今天答得不好,但事后一定要把它学会。
多谢大家帮忙^_^
2.a
3.a
4.a
5.
6.d
7.a
8...
...
2,a
3,a
4,也许是b
5,c?,d?(不知道p是何种类型的指针)
6,猜测是a
7.d
8,b
.......
1.D
2.A
3.A
4.C
5.C
6.A
7.A 二.
1.{bcd,cd,d}
2.X * f(X-1);
3. D=3; j=10;
TO: oyljerry(☆勇敢的心☆-Paper Reviewing)
能做做编程的题吗?
我感觉这部份我答的不好,希望你能给出答案!
2.A
3.A
4.C
5.C
6.A
7.A
{
int nLen = strlen(strData);
char chTmp;
int i=nLen,j=0;
while(i>j)
{
chTmp = *(strData+j);
*(strData+j) = *(strData+i-1);
*(strData+i-1) = chTmp;
j++;
i--;
}
}
不过第4题不明白为什么是64,
第5题我在VC下得到的结果是2,也就是说选A,但是楼主给的答案是C,不知是怎么回事,也不明白。
高手先指点一下。
Char *S=”\”Name\\Address\n” √A 14 B 15 C 16 D 173、有Hash函数 unsigned short hash(unsigned short key)
{return (key>>4)%256}, 问 hash(16)和hash(256)的值: √A 1,16 B 8,32 C 14,16 D 11,324、在某种开发环境下,char被定义为8位1个字节,
系统采用32位迅址,定义数组char **a[4][4],
则a所占用的内存有 字节 A 16 B 32 √C 64 D1285、已知int a[8]={1,2,3,4,5,6,7,8}, *p=a;
*(p+1)*(p+1)[1]的值是: A 2 B 3 √C6 D不确定6、char a=-1; short b; b=(short) a;则 b的值为: √A -1 B 1 C65535 D 255
7、下列原因中导致堆栈不足的直接原因的是:a.子程序中,局部变量占空间过大;b.程序中全局变量占空间过大;c.子程序行参占空间过大;√d.程序调用过深;8、关于进程的说法:√a.进程进入运行状态是通过调度程序实现的b.单CPU系统,任一时刻有一个进程处于运行状态c.进程无法获得CPU资源时,处于等待状态d.???
填空:1、main()
{
char *p;
char s[]=”abcd”;
for(p=S+1;p<s+4; P++) printf(“%s\n”);
} 写出打印结果:
(不可预知的结果, 因为printf缺少参数)
2、请在空格出填写一行程序,使函数完成计算X阶乘的功能
int f(int x)
{
if(x==1) return 1;
else return ______
}; x*f(x-1);3、enum{A,B,C,D,E,K=9,j}; 问D:__J:___ D:3
J:10
4、素数的个数(程序填空)
5、一个字符占1个字节,
采用32位寻址方式,
则数组char**[4][4]占用多少字节?
4*4*4 = 64字节6、Char a=-1; unsighed int b; b=a; printf(“%d”,b); 输出结果是什么?
在16位系统中是: 65535
在32位系统中是: 4294967295
(不会是255吧)7、有数组a[1,2,3,4,5,6],p=a; 求下式子: *(a+1)*(p+1)[1]=? 68、举至少4例说明进程改变状态的原因.
编程题1、请定义一个双项链表结构 ,并编写函数传入两个两表节点,交换位置
struct NODE
{
int nData;
NODE* pPrev;
NODE* pNext;
};NODE* swapNode(NODE* pHead,int nPos1,int Pos2)
{
if(pHead == 0) return pHead;
if(nPos1 < 0) return pHead;
if(nPos2 < 0) return pHead; NODE* pNode1 = pHead;
NODE* pNode2 = pHead; for(int i=0; i<nPos1; ++i)
{
if(pNode1 == 0) return pHead;
pNode1 = pNode1->pNext;
} for(int j=0; j<nPos1; ++j)
{
if(pNode2 == 0) return pHead;
pNode2 = pNode2->pNext;
} if(pNode1 == 0) return pHead;
if(pNode2 == 0) return pHead; if(pNode1 == pNode2) return pHead; NODE* pPrev1 = pNode1->pPrev;
NODE* pPrev2 = pNode2->pPrev;
NODE* pNext1 = pNode1->pNext;
NODE* pNext2 = pNode2->pNext; pNode1->pPrev = pPrev2;
if(pPrev2 != 0)
pPrev2->pNext = pNode1;
else
pHead = pNode1; pNode2->pPrev = pPrev1;
if(pPrev1 != 0)
pPrev2->pNext = pNode2;
else
pHead = pNode2; pNode1->pNext = pNext2;
if(pNext2 != 0) pNext2->pPrev = pNode1; pNode2->pNext = pNext1;
if(pNext1 != 0) pNext1->pPrev = pNode2; return pHead;
}2、编写一个函数:输入一个字符串, 输出按字母顺序排列后的字符串 3、编写一个函数,将字符串反序输出
void printX(const char* pS)
{
if(*pS == 0) return;
printfX(pS+1);
printf("%c",*pS);
}4、求一个100大小的整数的所有因子.
(提示,由于该数不是很大,所以可以将质数保存在数组中,以加快计算速度)
5、实现函数
void strcopy(char * dest_str, char * sour_str, int n)
将从dest_str开始的n个字符拷贝给sour_str.保护模式,内存4GB.void strcopy(char * dest_str, char * sour_str, int n)
{
if(dest_str == 0) return;
if(sour_str == 0) return;
if(n<=0) return;
if(dest_str == sour_str) return;
// 假设sour_str和dest_str数据区域不重叠
while(*sour_str)
{
*dest_str = *sour_str;
dest_str++;
sour_str++;
n--;
if(n<=0) return;
}
*dest_str=0;
}