亚洲福利精品久久久久91|中文字幕乱码视频网|在线播放国产精品一区二区|亚洲成AV人片女在线观看

<thead id="tzpj5"></thead>
  • <cite id="tzpj5"><listing id="tzpj5"></listing></cite>
    <strike id="tzpj5"><option id="tzpj5"><td id="tzpj5"></td></option></strike>

    微軟筆試題和面試題答案解析與答案(一)

    思而思學(xué)網(wǎng)

    微軟部分筆試題解析與答案,也許對(duì)你會(huì)有所啟發(fā)

    1、求函數(shù)返回值,輸入x=9999;

    int func(x)

    {

    int countx = 0;

    while(x)

    {

    countx ++;

    x = x&(x-1);

    }

    return countx;

    }

    【試題解析】

    解這道題的時(shí)候,如果拿出一個(gè)二進(jìn)制數(shù)來(lái)分析就會(huì)容易的多了,x=x&(x-1)實(shí)際上就是把x的二進(jìn)制形式的最后一個(gè)“1”變成“0”,x的二進(jìn)制形式有多少個(gè)“1”循環(huán)就執(zhí)行多少次。

    9999/256 = 39 余 15,把這兩個(gè)數(shù)分別轉(zhuǎn)化一下就很快了

    39 = 32 + 4 + 2 +1 = 00100111

    15 = 0F = 00001111

    所以 9999=0010011100001111,共有8個(gè)1,答案就是 8 了

    2、實(shí)現(xiàn)以下程序,以方便binary search.

    .要有處理錯(cuò)誤語(yǔ)句

    .隊(duì)列的分配的大小是固定的MAX_LEN,由第二個(gè)參數(shù)輸入

    .不能復(fù)制隊(duì)列

    insert (int arr, //隊(duì)列

    size_l len, // 隊(duì)列大小

    size_l count, //隊(duì)列元素的數(shù)目

    int varl //要處理的數(shù)據(jù)

    )返回插入數(shù)據(jù)的索引

    remove(int arr,size_l len,size_l count,int varl)返回刪除元素的索引

    search(int arr,size_l len,size_l count,int varl)返回搜索道元素的索引

    【試題解析】

    略。數(shù)據(jù)結(jié)構(gòu)書(shū)上都有的。

    3、堆棧R,從頂?shù)降?{2,4,6,8,10},逐個(gè)取出放入隊(duì)列Q中 ,再?gòu)腝中逐個(gè)取出放入R中,問(wèn)現(xiàn)在堆棧R中從頂?shù)降椎捻樞颉?/p>

    【試題解析】

    這個(gè)也不用了吧,{10,8,6,4,2}

    4、寫(xiě)出程序的結(jié)果:___________

    int funa(int a)

    {

    a[0] ++;

    }

    int funb(int b[])

    {

    b[1] += 5;

    }

    main()

    {

    int a[5] = {2,3,4,5,6};

    int b[5] = {2,3,4,5,6};

    int p;

    p = &a[0];

    (p)++;

    funa(p);

    for(int i = 0; i<3; i++)

    printf("%d,",a);

    p = &b[1];

    funb(p);

    for(i = 0; i<3; i++)

    printf("%d,",b);

    }

    【題目解析】

    結(jié)果是:

    4,3,4,2,3,9

    (p)++; 也就是a[0]++;

    funa(p);中的 a[0]++ 是將 main 中的數(shù)組 a[0]++,

    數(shù)組 a 中只有第一個(gè)元素加了兩次 1 ,

    p = &b[1];把p指向了數(shù)組 b 的第二個(gè)元素

    funb(p);中的 b[1]+=5 是將 main 中的數(shù)組 b[2]+=5

    數(shù)組 b 中的第三個(gè)元素加了 5

    5、找出下面程序的 BUG

    int CopyStringAndCount(char Str) ①

    {

    int nCount = 0;

    char pBuffer; ②

    pBuffer = new char[MAX_PATH_LENGTH];

    strcpy(pBuffer, Str);

    for ( ; pBuffer⑤; pBuffer++ )

    if ( pBuffer⑥=='\\' ) nCount ++;

    return nCount;

    }

    【題目解析】

    ① (const char Str)

    如果在函數(shù)體內(nèi)不需要改變字符串的內(nèi)容,最好加上 const 以免誤修改字符串內(nèi)容

    ② char pBuffer = NULL;

    指針聲明的時(shí)候最好賦初值 NULL

    ③ if ( !pBuffer ) return -1;

    開(kāi)辟空間之后沒(méi)有檢查是否成功,沒(méi)有錯(cuò)誤檢查

    ④ if ( strlen(Str)>(MAX_PATH_LENGTH-1) ) return -2;

    沒(méi)有檢查新開(kāi)辟的空間能否容納傳進(jìn)來(lái)的字符串,否則有可能越界

    ⑤ pBuffer

    題中的原意是當(dāng)?shù)阶址┪驳臅r(shí)候跳出循環(huán),所以應(yīng)該是取字符串的內(nèi)容

    ⑥ 同⑤

    ⑦ delete pBuffer; pBuffer=NULL;

    沒(méi)有釋放新開(kāi)辟的空間,會(huì)造成內(nèi)存泄漏

    6、你覺(jué)得下一代瀏覽器應(yīng)該添加什么功能?

    【題目解析】

    當(dāng)時(shí)隨便寫(xiě)的,比如安全性,搜索功能等。

    熱門(mén)推薦

    最新文章