欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
聯(lián)發(fā)博動(dòng)筆試

 聯(lián)發(fā)博動(dòng)筆試收藏

 

昨天去聯(lián)發(fā)博動(dòng)筆試了,人那個(gè)多呀,人山人?!?/span>
說(shuō)題目吧。

第一題,請編寫(xiě)兩個(gè)函數,函數的接口如下所示。第一個(gè)函數負責把一個(gè)ASCII字符串轉換成一個(gè)帶符號整數,第二個(gè)寒暑負責把一個(gè)帶符號的整數轉換為一個(gè)ASCII字符串。

(1)   intStrToInt(const char *Str);

(2)   intIntToStr(int num, char *Str);

已知條件:傳遞給IntToStr函數的緩沖區的長(cháng)度足以容納下int整數范圍內的數,傳遞給StrToInt

的字符串只包含數字和負號,是一個(gè)格式正確的整數值。

int StrToInt(char *Str)

{

assertStr!=NULL;

     int num = 0;

     char *p = Str;

     int flag = 0;

     if(*p == '-')

     {

         flag = 1;

         p++;

     }

     while(*p !='\0')

     {

         num += (int)(*p -48);

         num *=10;

         p++;

     }

     num /=10;

     if(flag)

     {

         num = -num;

     }

     return num;

 

}

 

int IntToStr(int num, char *Str)

{

assertStr!=NULL;

     char *p =Str;

     if(num<0)

     {

         *p = '-';

         p++;

         num =-num;

     }

     while(num>0)

     {

         *p = (char)(num%10 +48);

         p++;

         num /= 10;

     }

     *p = '\0';

     char *q = Str;

     if(*q == '-')

     {

         q++;

     }

     p--;

     while(q < p)

     {

         char t = *q;

         *q = *p;

         *p = t;

         q++;

         p--;

     }

     return 1;

}
第二題:請實(shí)現二分搜索函數,該函數對一個(gè)排好序的整數數組進(jìn)行二分法搜索,函數原型如下:

int BinarySearch(const int* array, int lower, int upper,int target);

其中lowerupper分別是需要進(jìn)行搜索的開(kāi)始和結束的索引值,分別用遞歸和非遞歸兩種方式實(shí)現該函數。

遞歸:

int BinarySearch(const int* array, int lower, intupper, int target)

{

     if(lower > upper){

         return -1;

     }

     int mid = lower + (upper -lower)/2;

     if(target == *(array +mid))

     {

         return mid;

     }

     else if (target <*(array + mid))

     {

         returnBinarySearch(array, lower, mid - 1, target);

     }

     else {

         returnBinarySearch(array, mid +1, upper, target);

     }

}

非遞歸:

int BinarySearch(const int* array, int lower, intupper, int target)

{

     assert(upper > =lower);

     while(lower <= upper){

     int mid = lower + (upper -lower)/2;

     if(target == *(array +mid))

     {

         return mid;

     }

     else if (target <*(array + mid))

     {

         upper = mid - 1;

     }

     else {

         lower = mid +1;

     }

     }

     return -1;

}

問(wèn)答題。
1.
下列程序的運行有什么結果或效果。
#defineMAX 255

int main(void){

unsigned char i;
unsigned char a[MAX];
for(i=0;i<=MAX; i++)
{
a[i] = i;
}

return 0;

}

無(wú)限循環(huán)

2.32位小端字序系統里,

Char array[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

Char *cp=array;

int *ip=(int*)array;

問(wèn)

1*(cp+2)=?

(2) *(ip+2)=?

*(cp+2)應該是2所對應的ASCII碼吧,*(ip+2)=185207048(VC6.0的結果,不知道怎么算出來(lái)的,偶怎么也算不出這個(gè)數)

3. c是一個(gè)char型的變量,c的取值范圍是多少。如果c的值是0xf0,那么c>>3=?,請給出十進(jìn)制的答案。

0x00~0xff,0255(難道是-128127?)

c>>3= -16(vc6.0的結果,不知道為什么)

4.調用函數時(shí),請列舉不使用函數原型潛在的風(fēng)險。

這個(gè)的詳細答案在另外的文章,請參考:

http://blog.csdn.net/haiyan0106/archive/2008/10/09/3043998.aspx

5.以下程序有什么問(wèn)題。如果有問(wèn)題,那該程序運行是正確的,為什么。
int ExchangeValue(int *pa, int *pb)
{
   int *pt;

If(pa== NULL || pb==NULL)

Return 0;

*pt = *pa;
    *pa = *pb;
    *pb =*pt;
   return 1;
}

int *pt = new int(1);

沒(méi)有為pt所指向的對象分配空間,造成運行錯誤。

6.

int i1;

Const char *p1 = “AAA”;

int main(){

static int i2;

int i3;

int *i4 = malloc(sizeof(int));

}

上面程序中的變量(i1,ip1,i2,i3,i4)分別存在于哪些內存位置(數據段,堆棧,堆)?i1,i2,i3,*i4的值是什么.

i3,i4棧,i1,p1,i2靜態(tài)數據段。i1=0,i2=0,i3,*i4為隨機值。
7
。下列哪些語(yǔ)句沒(méi)有編譯和運行錯誤,對有錯誤的組,說(shuō)明哪些語(yǔ)句是錯誤的,為什么。

A)   const int a;//只讀,必須初始化

B)   char *pa=”AAA”;

const char *pb = “BBB”;

pb = pa;//正確

C)    

char *pa = “AAA”:

char *const pb =”BBB”;

char *const pc = (char *)malloc(4);

*pb=’A’;//這個(gè)

*(pc+1) = ‘A’;

Pb = pa;//pb是一個(gè)常指針,不能為左值

D)

Char *pa;

Const char* const pb=”BBB”;

Char * const pc;//A一樣,得初始化

Pa = “AAA”;

Pc = pa;//assame as C)


8.
用變量a給出下面的定義

舉例:

一個(gè)整型數(An integer int a;

 

1)一個(gè)指向指針的的指針,它指向的指針是指向一個(gè)整型數( A pointer to a pointer to aninteger

2)一個(gè)有10個(gè)整型數的數組( An array of 10 integers

3) 一個(gè)有10個(gè) 指針的數組,該指針是指向一個(gè)整型數的。(An array of10 pointers to integers

4) 一個(gè)指向有10個(gè)整型數數組的指針( A pointer to an array of 10 integers

5) 一個(gè)指向函數的指針,該函數有一個(gè)整型參數并返回一個(gè)整型數(A pointer to a function thattakes an integer as an argument and returns an integer

6) 一個(gè)有10個(gè)指針的數組,該指針指向一個(gè)函數,該函數有一個(gè)整型參數并返回一個(gè)整型數( An array of ten pointers tofunctions that take an integer argument and return an integer

1) int **a;

2) int a[10];

3) int *a[10];

4) int (*a)[10];

5) int (*a)(int);

6) int (*a[10])(int);
9.
將兩個(gè)有符號16位數分別放入有符號32位的高16位和低16位,寫(xiě)代碼。不要使用函數返回值傳遞數據。

Void put(short num1, short num2,int& result)

{

int t = (int)num1;

result = t<<16+num2;

}

10.下面是一個(gè)用來(lái)刪除單向鏈表頭節點(diǎn)的函數,請找出其中程序的漏洞并加以改正。
void RemoveHead(node *head)

{

free(head);

head =head->next;

}

改正:

voidRemoveHead(node **head)

{

 node *p = *head;

*head= (*head)->next;

free(p);

}

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
面試中經(jīng)常出現的算法
再談指針:大佬給你撥開(kāi) C指針 的云霧
最全的C\C 面試題解(2)
c++知識 - 洋男的日志 - 網(wǎng)易博客
C++習題與解析(引用-03)
C++經(jīng)典面試題
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久