聯想(Lenovo)筆試題目(附參考答案)
面試筆試3.2W
本帖最後由 shiyan 於 2009-3-16 11:17 編輯
1.設計函數 int atoi(char *s)。
int atoi(char *s)
{
char sign;
char sign_val = 1;
int val = 0;
int n = 0;
/* skip spaces */
while (isspace(*s))
++s;
if (*s == '-' || *s == '+')
/* skip '-' and '+' sign */
{
sign = *s;
if (sign == '-')
sign_val = -1;
++s;
}
/* when goes here, it is not space or sign */
while ((*s != '/0') && isdigit(*s))
{
val = 10 * n + (*s - '0');
n = val;
s++;
}
if (*s != '/0')
{
printf("non digit in your input!!/n");
exit(-1);
}
/* non error occured */
return (sign_val * val);
}
2.int i=(j=4,k=8,l=16,m=32); printf("%d", i); 輸出是多少?
結果為: 32.
3.解釋局部變量、全局變量和靜態變量的含義。
局部變量包括函數的形參,包含在函數體或者語句塊內的變量,局部變量的生存期在退出函數或語句塊後結束。全局變量是指在所有函數和語句塊之外的變量,它對於整個程序均可見,全局變量的生存期與程序的生存期相同.
靜態變量指由關鍵字static聲明的變量,它的作用域和其他變量一樣,由它所在的位置決定,如在函數體或語句塊中聲明,則只在函數體或語句塊可見,其他地方均不可見.它的生存期與程序相同.
4.解釋堆和棧的區別。
簡述如下:
棧上分配的內存,由系統自動分配,系統會自動收回.如果需要動態分配內存,則只能通過malloc/new在堆上分配的內存,使用完畢後,通過free/delete來釋放內存。5.論述含參數的宏與函數的優缺點。含參數的宏優點:省去了函數調用的開銷,運行效率高.含參數的缺點:由於宏本質上是字符串的替換,所有可能會由於一些參數的副作用導致得出錯誤的結果.
如:
#define max(a, b) ( ((a) > (b)) ? (a) : (b) )
如果程序中出現這樣的調用: max(a++, b);將導致a被計算2次,從而可能得到錯誤的結果,而函數調用不會出現這種問題.另外,如果程序中有多次宏替換的話,可能導致代碼體積變大.函數的優點是:沒有帶參數宏可能導致的副作用,計算的正確性較宏更有保證.
函數調用的缺點:函數調用需要一些參數,返回地址等入棧,出棧的開銷,效率沒有宏函數高.
1.設計函數 int atoi(char *s)。
int atoi(char *s)
{
char sign;
char sign_val = 1;
int val = 0;
int n = 0;
/* skip spaces */
while (isspace(*s))
++s;
if (*s == '-' || *s == '+')
/* skip '-' and '+' sign */
{
sign = *s;
if (sign == '-')
sign_val = -1;
++s;
}
/* when goes here, it is not space or sign */
while ((*s != '/0') && isdigit(*s))
{
val = 10 * n + (*s - '0');
n = val;
s++;
}
if (*s != '/0')
{
printf("non digit in your input!!/n");
exit(-1);
}
/* non error occured */
return (sign_val * val);
}
2.int i=(j=4,k=8,l=16,m=32); printf("%d", i); 輸出是多少?
結果為: 32.
3.解釋局部變量、全局變量和靜態變量的含義。
局部變量包括函數的形參,包含在函數體或者語句塊內的變量,局部變量的生存期在退出函數或語句塊後結束。全局變量是指在所有函數和語句塊之外的變量,它對於整個程序均可見,全局變量的生存期與程序的生存期相同.
靜態變量指由關鍵字static聲明的變量,它的作用域和其他變量一樣,由它所在的位置決定,如在函數體或語句塊中聲明,則只在函數體或語句塊可見,其他地方均不可見.它的生存期與程序相同.
4.解釋堆和棧的區別。
簡述如下:
棧上分配的內存,由系統自動分配,系統會自動收回.如果需要動態分配內存,則只能通過malloc/new在堆上分配的內存,使用完畢後,通過free/delete來釋放內存。5.論述含參數的宏與函數的優缺點。含參數的宏優點:省去了函數調用的開銷,運行效率高.含參數的缺點:由於宏本質上是字符串的替換,所有可能會由於一些參數的副作用導致得出錯誤的結果.
如:
#define max(a, b) ( ((a) > (b)) ? (a) : (b) )
如果程序中出現這樣的調用: max(a++, b);將導致a被計算2次,從而可能得到錯誤的結果,而函數調用不會出現這種問題.另外,如果程序中有多次宏替換的話,可能導致代碼體積變大.函數的優點是:沒有帶參數宏可能導致的副作用,計算的正確性較宏更有保證.
函數調用的缺點:函數調用需要一些參數,返回地址等入棧,出棧的開銷,效率沒有宏函數高.
-
中國工商銀行筆試部分考題
中國工商銀行筆試部分考題一、單項或多項選擇1、現金出納員從銀行提取現金之後,應做什麼記賬憑證A、現金收款憑證B、現金付款憑證C、銀行存款收款憑證D、銀行存款付款憑證2、我國確定人民幣儲蓄利率的機構是:當然是中國人民銀行,其他選項我忘記了3、IP電話是通過...
-
Yahoo筆試歸來
週三接到筆試通知,開始很高興,但是後來發現越來越多的人收到了通知,開始懷疑是否投的都被叫去筆試了。這個咱管不着,做好自己的事情就可以了。到了現場,真的是有如新生報到一樣,四個大教室,當時以為這也罷了,但考完才知道後面還有另一場,不知道是隻有這兩場還是全天都在...
-
青牛華科筆試經歷
六點二十了,來參加北京青牛軟件的人還真夠多的。身邊到處都是華科的人,心裏又開始有些受不住了...呵呵。果然是數據庫與網絡的內容多,但不是太難卻易錯,不知道答得怎樣,因為卷子不夠工作人員與學生們不斷的溝通中。語言部分,我想都沒想要了JAVA的做,一看就傻了眼,隔壁...
-
中國人民銀行統計筆經
中國人民銀行統計筆經都是統計學原理,考的很基礎一、14個多選,一個一分。考了抽樣、第一類錯誤第二類錯誤、可決係數與相關係數關係、標準差、集中趨勢等基本概念。可惜都忘得差不多了,似是而非,瞎選。。。二、5個判斷題5分。四分位數之類的東西。三、填空,大概一空...