廣州趣炫筆試題

2021-06-26 10:34:01 字數 3850 閱讀 4149

基礎題

1 const

和#define

有什麼區別?

答:(1)編譯器處理方式不同

define巨集時在預處理階段展開

const 常量是編譯執行階段使用

(2)型別和安全檢查不同

define巨集沒有型別,不做任何型別檢查,僅僅是展開

const常量具有型別,在編譯階段會執行型別檢查

(3)儲存方式不同

define巨集僅僅是展開,有多少地方使用,就展開多少次,不分配記憶體

const常量會在記憶體中分配(可以在對中也可以在棧中)

(4)const可以節省空間,避免不必要的記憶體分配 2

指標和引用有什麼區別?

答:相同點:

都是位址的概念;

指標指向一塊記憶體,它的內容是所指記憶體的位址;引用是某塊記憶體的別名。

區別:1 指標是乙個實體,而引用僅是個別名;

2 指標可以為空,引用不能為空;

3 指標有const,引用沒有const;

4 引用只能在定義時被初始化一次,之後不可變,指標可變;

5 從記憶體分配上看:程式為指標變數分配記憶體區域,而引用不需要分配記憶體區域。 3

在c++

程式中呼叫被

c編譯器編譯後的函式,為什麼要加

extern「c」

宣告?

答:因為c語言  或  c++語言的編譯規則不一樣,所以要告訴系統哪些函式時 c 方式 編譯,哪些函式需要用c++方式編譯,

如果不加exctern 「c」 系統會提示找不到此函式。 4

求sizeof。

struct 

short a1;

short a2;

}a;struct 

long b1;

short b2;

}b;char data[100];

int test[100];

char* pstr="abcdefghij";

char* str="a\n";

coutcoutcoutcoutcoutcout5 internet

上的通訊協議有哪些,此協議分幾層?

答:internet 通訊協議有:

tcp/ip協議:使計算機記性無障礙的通訊,讓其有相通的語言,即統一的通訊協議。

tcp協議:在傳送與接收計算機系統之間維持連線,同時還要提供無差錯的通訊服務,將傳送的資料報文還原並組裝起來,自動根據計算機系統間的距離遠近修改通訊確認的超時值。

ip協議:控制網路上的資料傳輸。

internet網路通訊的工作分為7層,由低到高分別是:

物理層(physical layer),

資料鏈路層(data link layer)

,網路層(network layer),

傳輸層(transport layer),

會話層(session layer),

表示層(presen tation layer),

程式設計題

1 編寫程式輸入實現

123->321。

答: #include

using namespacestd;

int main()

int n;

cout<<」please input a number」>n;

do cout<} while (n/=10);

return 0; 2

乙個字串右移

n,改變字串的輸出。

例如:字串

」abcdefghi」

右移n=2

後,輸出

」hiabcdefg」. 答:

#include

#include

using namespacestd;

void reser(char*q,char* p)

while(q*q ^= *p;

*p ^= *q;

*q ^= *p;

q++;

p--;

voidloopmove(char* str,int steps)

char *q = str;

int n=strlen(str);

char *p = str+n-1-steps;

reser(q,p);//先翻轉前一段

q = p+1;

p = str+n-1;

reser(q,p);//翻轉後一段

q = str;

reser(q,p);//翻轉整個字串

//coutchar str[100];

cout<<"please input string andnumber:";

cin>>str;

int steps = 0;

cout<<"please inputsteps:";

cin>>steps;

loopmove(str,steps);

cout<<"after move steps stringis:"將乙個intdata[10]=

通過氣泡排序後得到公升序,再用

vector

刪除為偶數的元素。 答:

#include

#include

#include

#include

using namespacestd;

voidbuble_sort(int data,size_t size)

int i,j;

for(i=0;iint order=1;

for(j=0;jif(data[j]>data[j+1])

swap(data[j],data[j+1]);

order=0;

int main()

int data[10]=;

size_t size=10;

buble_sort(data,size);

for(int i=0;icoutvectorin_vec;

for(int j=0;jin_vec.push_back(data[j]);

vector::iterator it;

for(it=in_vec.begin();it!=in_vec.end();it++)

if(*it%2!=0)

break;

else if(*it%2==0)

in_vec.erase(it);

cout<<*itreturn 0;

綜合題

有a,b,c,d 4

個球,分別出現的概率是

10%,

20%,

30%,

40%,要求編寫

rundemo

,每呼叫一次函式

rundemo

,就按上面的概率出現球。 答:

#include

#include

#include

using namespacestd;

string rundemo()

stringstr[4]=;

int i=rand()%10;

switch(i)

case 0:

return str[0];

break;

case 1:case 2:

return str[1];

break;

case 3:case 4:case 5:

return str[2];

break;

case 6:case 7:case 8:case 9:

return str[3];

break;

int main()

srand(time(0));

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

coutreturn 0;

this指向問題 筆試趣題

var legth 10 function fn var obj obj.method fn,1 上星期去武大參加的校招,公司是樂其,這裡就不說筆試題的難易 yilianmengabc 了,當時上面這道題做的時候沒啥感覺,後來是樂其也去了閨蜜她們學校,也給他們這套題,然後給我看這道題,於是才發現當時...

vivo攜手京東 迪信通開啟2018趣炫泡泡跑

2018年9月16日,2018 vivo 趣炫泡泡跑在xabnleash北京朝陽公園活力開啟,vivoxabnleash幻彩光感新品x23驚豔亮相,在繽紛秋日為都市人帶來了一段 發現更多美 的新奇體驗。這場vivo攜手戰略合作夥伴京東手機 迪信通攜手打造的時尚運程式設計客棧動風潮,即將席捲全國五大城...

筆試 c 筆試題

1 在派生類中通過 base 呼叫基類成員 解析 2 方法重寫使用關鍵字 override 解析 使用virtual和override關鍵字實現方法重寫 3 關於抽象類下面說法錯誤的是 選一項 a 抽象類可以包含非抽象方法 b 含有抽象方法的類一定是抽象類 c 抽象類不能被例項化 d 抽象類可以是密...