- 相關(guān)推薦
大學(xué)生畢業(yè)面試聯(lián)想C語言筆試題!
聯(lián)想筆試題
1.設(shè)計(jì)函數(shù) int atoi(char *s)。
int atoi(const char *nptr);
函數(shù)說明
atoi()會(huì)掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負(fù)符號(hào)才開始做轉(zhuǎn)換,
而再 遇到非數(shù)字或字符串結(jié)束時(shí)(\0)才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。
返回值 返回轉(zhuǎn)換后的整型數(shù)。
#include
#include
int myAtoi(const char* s){
int result = 0;
int flag = 1;
int i = 0;
while(isspace(s[i]))
i++;
if(s[i] == -){
flag = -1;
i++;
}
if(s[i] == +)
i++;
while(s[i] != \0){
if((s[i] > 9) || (s[i] < 0))
break;
int j = s[i] - 0;
result = 10 * result + j;
i++;
}
result = result * flag;
return result;
}
int main(){
char* a = " -1234def";
char* b = "+1234";
int i = myAtoi(a);
int j = myAtoi(b);
printf("%d \n",i);
printf("%d",j);
return 0;
}
2.int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 輸出是多少?
輸出32
3.解釋局部變量、全局變量和靜態(tài)變量的含義。
他們是相對(duì)于生命周期說的,全局變量伴隨著程序直到最后,局部變量離開的作用域就會(huì)銷毀
靜態(tài)變量分為靜態(tài)局部變量和靜態(tài)全局變量,他們的生命周期伴隨著程序直到最后,二者的區(qū)別
在可見性
4.解釋堆和棧的區(qū)別。
棧的存儲(chǔ)容量比堆的存儲(chǔ)容量小
棧上的數(shù)據(jù)可以自動(dòng)釋放,堆上的必須由程序員釋放
5.論述含參數(shù)的宏與函數(shù)的優(yōu)缺點(diǎn)。
宏的優(yōu)點(diǎn):執(zhí)行效率高
宏的缺點(diǎn):容易出錯(cuò)
函數(shù)的優(yōu)點(diǎn):不容易出錯(cuò)
函數(shù)的確定 執(zhí)行效率低
普天C++筆試題
1.實(shí)現(xiàn)雙向鏈表刪除一個(gè)節(jié)點(diǎn)P,在節(jié)點(diǎn)P后插入一個(gè)節(jié)點(diǎn),寫出這兩個(gè)函數(shù)。
2.寫一個(gè)函數(shù),將其中的\t都轉(zhuǎn)換成4個(gè)空格。
3.Windows程序的入口是哪里?寫出Windows消息機(jī)制的流程。
4.如何定義和實(shí)現(xiàn)一個(gè)類的成員函數(shù)為回調(diào)函數(shù)?
5.C++里面是不是所有的動(dòng)作都是main()引起的?如果不是,請(qǐng)舉例。
6.C++里面如何聲明const void f(void)函數(shù)為C程序中的庫函數(shù)?
7.下列哪兩個(gè)是等同的
int b;
A const int* a = &b;
B const* int a = &b;
C const int* const a = &b;
D int const* const a = &b;
8.內(nèi)聯(lián)函數(shù)在編譯時(shí)是否做參數(shù)類型檢查?
void g(base & b){
b.play;
}
void main(){
son s;
g(s);
return;
}
6對(duì) 16 Bits colors的處理,要求:
(1)Byte轉(zhuǎn)換為RGB時(shí),保留高5、6bits;
(2)RGB轉(zhuǎn)換為Byte時(shí),第2、3位置零。
7一個(gè)鏈表的操作,注意代碼的健壯和安全性。要求:
(1)增加一個(gè)元素;
(2)獲得頭元素;
(3)彈出頭元素(獲得值并刪除)。
8一個(gè)給定的數(shù)值由左邊開始升位到右邊第N位,如
0010<<1 == 0100
或者
0001 0011<<4 == 0011 0000
請(qǐng)用C或者C++或者其他X86上能運(yùn)行的程序?qū)崿F(xiàn)。
附加題(只有在完成以上題目后,才獲準(zhǔn)回答)
In C++, what does "explicit" mean? what does "protected" mean?
1。在C++中有沒有純虛構(gòu)造函數(shù)?
2。在c++的一個(gè)類中聲明一個(gè)static成員變量有沒有用?
3。在C++的一個(gè)類中聲明一個(gè)靜態(tài)成員函數(shù)有沒有用?
4。如何實(shí)現(xiàn)一個(gè)非阻塞的socket?
5。setsockopt, ioctl都可以對(duì)socket的屬性進(jìn)行設(shè)置,他們有什么不同?
6。解釋一下進(jìn)程和線程的區(qū)別?
7。解釋一下多播(組播)和廣播的含義?
8。多播采用的協(xié)議是什么?
9。在c++中純虛析構(gòu)函數(shù)的作用是什么?請(qǐng)舉例說明。
10。編程,請(qǐng)實(shí)現(xiàn)一個(gè)c語言中類似atoi的函數(shù)功能(輸入可能包含非數(shù)字和空格)
【大學(xué)生畢業(yè)面試聯(lián)想C語言筆試題!】相關(guān)文章:
2017年c語言面試筆試題11-22
基礎(chǔ)C++/C語言筆試題分享11-21
普天C++筆試題02-18
聯(lián)想面試 歸來淺談02-24
IG-WB-C&C 電話面試11-20
群碩筆試題Java和C++、C#11-21
求教筆面試的時(shí)間02-23
面試解題思維技巧--聯(lián)想法02-18
面試題精選02-18
C++工程師筆試題目11-25