1 對於乙個記憶體位址是32位、記憶體頁是8kb的系統。0x0005f123這個位址的頁號與頁內偏移分別是多少?
頁號為:0x0005f123 >> 13位 = 0x2e頁內偏移為原位址的低13位:0x1123。
2 如果x大於0並小於65536,用移位法計算x乘以255的值?(x<<8)-x; //移位運算子的優先順序小於減號運算子,因此要加括號
3 乙個包含n個節點的四叉樹,每個節點都有四個指向孩子節點的指標,這4n個指標中有多少個空指標? (3n+1)
4 以下兩個語句的區別是:
int *p1 = new int[10];
int *p2 = new int[10]();
第乙個沒有初始化,第二個會呼叫建構函式初始化,即陣列元素都為0.
5 計算機在記憶體中儲存資料時使用了大、小端模式,請分別寫出a=0x123456在不同情況下的首位元組是,大端模式:0x12; 小端模式:0x56.
ps:該題不夠嚴謹,大端模式為0x00.
6 請宣告乙個引數為int *,返回值為int的函式指標: int (*func)(int *);
7 下面程式執行後的結果為:to test something//p1++時移動了4個位元組
char str = "glad to test something";
char *p = str;
p++;
int *p1 = static_cast(p);
p1++;
p = static_cast(p1);
printf("result is %s\n",p);
8 你見到乙個寶箱,身上有n把鑰匙,其中一把可以開啟寶箱,假如沒有任何提示,隨機嘗試,問:數學題
(1)恰好第k次(1=都是預編譯命令,作用是防止該標頭檔案被重複引用,避免變數、型別等被重新定義。
10 **裡有時可以看到extern 「c」,這語句是做什麼用的?
本質作用是:實現c和c++的混合程式設計。原理是c++和c編譯全域性變數和函式的實現方式不同。實際用法有兩個:
1)在c++中呼叫c語言寫的函式。2)c程式呼叫c++編寫的函式。
11 在下列乘法算式中,每個字母代表0~9的乙個數字,而且不同的字母代表不同的數字:寫出推導的過程。
abcdefgh
* aj
------------------
ejahfdgkc
bdfhajec
------------------
ccccccccc
大致過程是:首先通過觀察可得k=0,然後通過ab * a = bd,ab * j = ej,可推測a = 2,e=1, b=4,之後就簡單了。
答案是:a=2、b=4、c=6、d=9、e=1、f=3、g=5、h=8、j=7、k=0
網易校招真題 數字遊戲
題目描述 小易邀請你玩乙個數字遊戲,小易給你一系列的整數。你們倆使用這些整數玩遊戲。每次小易會任意說乙個數字出來,然後你需要從這一系列數字中選取一部分出來讓它們的和等於小易所說的數字。例如 如果是你有的一系列數,小易說的數字是11.你可以得到方案2 2 7 11.如果頑皮的小易想坑你,他說的數字是6...
網易校招程式設計題
define crt secure no warnings 1 include include include includeusing namespace std 小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x x可以...
網易校招題(C 語言)
c 版本 小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。如...