好將來2017秋招筆試真題

好將來2017秋招筆試真題ios

1.一個C語言程序在一臺32位機器上運行。程序中定義了三個變量xyz,其中x和z是int型,y爲short型。當x=127,y=-9時,執行賦值語句z=x+y後,xyz的值分別是編程

A:X=0000007FH,y=FFF9H,z=00000076H數組

B:X=0000007FH,y=FFF9H,z=FFFF0076H網絡

C:X=0000007FH,y=FFF7H,z=FFFF0076H測試

D:X=0000007FH,y=FFF7H,z=00000076Hspa

正確答案: D線程

X = 127  (int 佔 4字節 32位) 換算16進制 就是 0000007FH指針

Z = 127 - 9 = 118同上 , 16 進制 是  00000076Hcode

Y = -9 二進制用補碼錶示blog

原碼:1000 0000 0000 1001

反碼:1111 1111 1111 0110

補碼:反碼+1

 1111 1111 1111 0111     -->   F F F 7

2. 關於進程狀態的說法,下列錯誤的是

A:處於就緒狀態的進程,當進程調度程序爲之分配了處理機後,該進程便由就緒狀態變爲執行狀態

B:當前進程因發生某事件而沒法執行,如訪問已被佔用的臨界資源,就會使進程由執行狀態轉變爲阻塞狀態

C:當前進程因時間片用完而被暫停執行,該進程便由執行狀態轉變爲阻塞狀態

D:處於掛起狀態的進程不能接收處理機調度

正確答案: C 

A,對。處於就緒狀態的進程,當進程調度程序爲之分配了處理機後,該進程便由就緒狀態變爲執行狀態;B,對。當前進程因發生某事件而沒法執行,如訪問已被佔用的臨界資源,就會使進程由執行狀態轉變爲阻塞狀態;C,錯。當前進程因時間片用完而被暫停執行,該進程便由執行狀態轉變爲就緒狀態;D,對。處於掛起狀態的進程不能接收處理機調度

3. 同一進程下的線程不能夠共享的是

A:stack

B:data section

C:code section

D:file fd

正確答案: A  

4. 在OSI 7 層模型中,網絡層的功能有

A:確保數據的傳送正確無誤

B:肯定數據包如何轉發與路由

C:在信道上傳送比特流

D:糾錯與流控

正確答案: B  

A 數據鏈路層 ;B 網絡層 ;C 物理層 ;D 數據鏈路層

5.應用程序PING 發出的是_______報文

A:TCP 請求報文

B:TCP 應答報文

C:ICMP 請求報文

D:ICMP 應答報文

正確答案: C 

ICMP (Internet Control Message Protocol) Internet控制報文協議, 用於在IP主機、路由器 之間傳遞控制消息。控制消息是指網絡 不通、主機 是否可達、路由 是否可用等網絡自己的消息。

6. 使用traceroute命令測試網絡時能夠

A:檢驗鏈路協議是否運行正常

B:檢驗目標網絡是否在路由表中

C:檢驗應用程序是否正常

D:顯示分組到達目標路徑上通過的各路由器

正確答案: D  

UNIX命令traceroute能夠顯示分組到達目標所通過的各個路由器的IP地址和到達目標的時間,經過traceroute能夠知道從你的計算機到互聯網另外一端的主機走的什麼路徑。在MS Windows中對應的命令爲tracert。

7. 主機甲向主機乙連續發送了兩個TCP報文段,其序號分別爲70和100。下列錯誤的是

A:第一個報文段攜帶了30個字節的數據

B:主機乙收到第一個報文段後發回的確認中的確認號是100

C:若是主機乙收到第二個報文段後發回的確認中的確認號是180,那麼甲發送的第二個報文段中的數據有80字節

D:若是甲發送的第一個報文段丟失了,但第二個報文段到達了乙,乙在第二個報文段到達後向甲發送確認,這個確認號爲100

正確答案: D  

D選項:若是甲發送的第一個報文段丟失了,但第二個報文段到達了乙,乙在第二個報文段到達後向甲發送確認,這個確認號爲70

8. 在單鏈表中刪除指針p所指結點的後繼結點,則執行________操做

A:p->next=p->next->next

B:p->next=p->next

C:p=p->next->next

D:p=p->next;p->next=p->next->next

正確答案: A  

選擇A p->next=p->next->next 下下個節點把下個節點給截斷了

9.表達式(a-b)*(c+5)的後綴式是

A:a b c 5 + * -

B:a b – c + 5 *

C:a b c - * 5 +

D:a b- c 5 + *

正確答案: D  

首先要了解什麼是後綴式,後綴式是一種指把運算符號寫在運算數後面的表達式。最大的特色是省去了括號。

例如:a+b的後綴式爲ab+;

後綴式的解法:

1.從左到右找到第一個運算符

2.使用該運算符計算其前面緊挨的兩個數值並做爲一個新的運算數

3.依次尋找下一個運算符並計算其前兩「個」運算數

直接應用對錶達式進行計算。

10. 如下說法正確的有?

A:7月有30天

B:8月有30天

C:2014年2月有28天

D:2月有28天

正確答案: C D   你的答案: C (錯誤)

我以爲這個題目應該選A、B、C、D。7月有30天,由於7月一共有31天,因此天然是有30天的,就比如七月是有這個能力有30天的。若是按照這種思路,那麼我認爲四個選項都對。若是AB不對,那D也就不對了,因此我的以爲要麼選ABCD,要麼選C

11. [編程題]字符串中找出連續最長的數字串

讀入一個字符串str,輸出字符串str中的連續最長的數字串

輸入描述:

個測試輸入包含1個測試用例,一個字符串str,長度不超過255。

輸出描述:

在一行內輸出str中裏連續最長的數字串。

輸入例子:

abcd12345ed125ss123456789

輸出例子:

123456789

#include<iostream>
#include<string.h>
using namespace std;
 
int main()
{
    int i=0, j;
    int num1=0, num2=0;
    int index1=0, index2=0;
    char str[255];
    char flag=0;
    scanf("%s", str);
    while(str[i] != '\0')
    {
        num2=0;
        while(str[i]>='0' && str[i]<='9')
        {
            num2++;
            index2 = i;
            i++;
        }
        if(num2>num1)
        {
            num1 = num2;
            index1 = index2;
        }
        i++;
    }
    for(j=index1-num1+1; j<=index1; j++)
        cout << str[j];
    cout << endl;
    return 0;
}

 

12. [編程題]n個數裏最小的k個

讀入一個字符串str,輸出字符串str中的連續最長的數字串

輸入描述:

每一個測試輸入包含空格分割的n+1個整數,最後一個整數爲k值,n

不超過100。

輸出描述:

輸出n個整數裏最小的k個數。升序輸出

輸入例子:

3 9 6 8 -10 7 -11 19 30 12 23 5

輸出例子:

-11 -10 3 6 7

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
 
int main()
{
    int a[100] = {0};
    int num=0;
    vector<int> b;
    while (scanf("%d",&a[num]) != EOF && getchar() != '\n')//錄入帶空格的數字流。
        num++;
    int n = num+1;
    int k = a[num];
    for(int i=0;i<n-2;i++)
        b.push_back(a[i]);
 
    sort(b.begin(),b.end());
     
    for(int i=0; i<k-1; i++)
    {
        cout << b[i] << ' ';
    }
    cout<<b[k-1]<<endl;
    return 0;
}

 

13. [編程題]n個數裏出現次數大於等於n/2的數

輸入n個整數,輸出出現次數大於等於數組長度一半的數。

輸入描述:

每一個測試輸入包含 n個空格分割的n個整數,n不超過100,其中有一個整數出現次數大於等於n/2。

輸出描述:

輸出出現次數大於等於n/2的數。

輸入例子:

3 9 3 2 5 6 7 3 2 3 3 3

輸出例子:

3

#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main()
{
    char str[202];
    int a[101];//存儲數字,這裏能夠進行動態開闢數組
    gets(str);
    int len = strlen(str);
    int i,j=0;
    for(i=len-1;i>=0;) {
        int sum=0;
        int ling = -1;//判斷個、10、百...位
        int flag = 0;
        while(str[i]!=' ' && i>=0){
            if(str[i]!='-') {
                ling++;
                sum+=(str[i]-48)*pow(10,ling);
            }
            else{
                flag = 1;
            }
            i--;
        }
        if(flag)
            a[j] = sum*(-1);
        else
            a[j] = sum;
        j++;
        i--;
    }
    for(i=0;i<j;i++)
    {
        int account= 1;
        int number;
        for(int k=i+1;k<j;k++)
        {
            if(a[i]==a[k])
            {
                account++;
                number = a[k];
            }
        }
        if(account>=j/2){
            cout<<number;
            break;
        }
    }
    return 0;
}
相關文章
相關標籤/搜索