資源描述:
《C語言基礎(chǔ)試題(C語言)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、基礎(chǔ)試題(C語言)一、ANSIC/C++方面的知識(shí)一」、簡答題。下曲的題目必須全部答對(duì)才給分(2()分):1、如何在C中初始化一個(gè)字符數(shù)組。chara[J="dsfasdfdsafas";2、如何在C中為一個(gè)數(shù)組分配空間。chara[20];3、如何初始化一個(gè)指針數(shù)組。int*p[4]={&a,&b,&c,&d};4、如何定義一個(gè)有10個(gè)元索的整數(shù)型指針數(shù)紐。int*pf1()];5、s[10」的另外一種表達(dá)方式是什么。*(s+10)6、GCC3.2.2版本中支持哪幾種編程語言。7、要使用CHAR.BIT需要包含哪個(gè)頭文件。LIMITS.h(Ifavalueexceed
2、sthelargestintegerrepresentation,theMicrosoftcompilergeneratesanenor)8、對(duì)(-1.2345)JR整是多少?-19、如何讓局部變量具有全局牛命期。extern10、C中的常雖字符串應(yīng)在何時(shí)定義?文件首部,函數(shù)外部11、如何在兩個(gè).c文件中引用對(duì)方的變量。extern12、使用malloc之前需要做什么準(zhǔn)備工作。and13、realloc函數(shù)在使用上要注意什么問題。14、strtok
3、^
4、數(shù)在使用上耍注意什么問題。15、gets函數(shù)在使用上要注意什么問題。16、C語
5、言的詞法分析在長度規(guī)則方而采用的是什么策略?17、a+++++b所表示的是什么意思、?冇什么問題?應(yīng)該改為(a++)+(++b),否則同不過編譯。18、如何定義Bool變量的TRUE和FALSE的值。19^C語言的const的含義是什么。在定義常量口寸,為什么推薦使用const,而不是#define0define只是簡單的替換,在有復(fù)雜優(yōu)先級(jí)的地方能會(huì)出現(xiàn)非預(yù)期結(jié)果。20、C語言的volatile的含義是什么。使用時(shí)會(huì)對(duì)編譯器冇什么暗示??杀痪幾g器以外的硬件等改變volatile變量值,不參與編譯優(yōu)化。一.2、問答題。1、“匈牙利命名法“有什么優(yōu)缺點(diǎn)?(2分)淸晰引入額
6、外的符號(hào)2、下x,y,*p的值是多少,有什么問題?(2分)intx,y,z=2;int*p=&z;x=sizeof*p;y=x/*p;/*x=?,*p=?,y=?,有什么問題?*/3、下面的語句是什么意思?如何聲明或定義才使它們更易懂?(10分)int(*foo[])();(*(void(*)0)0)();void(*signal(int,void(*)(int)))(int);4、本題(2分)。一般使用malloc吋,需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,如:char*s;s=(char*)malloc(31);下面中???該如何填寫,才可以止確執(zhí)行強(qiáng)制類型轉(zhuǎn)換?int(*month
7、p)[31];monthp=(???)malloc(31);5、關(guān)于C語言運(yùn)算符優(yōu)先級(jí)的記憶技巧是什么?(2分)/*下面I?的值是多少*/inthi,low,r;hi=7;low=3;r=hi?4+low;115(16*7+3)算術(shù)邏輯關(guān)系賦值6、指針和數(shù)紐的區(qū)別是什么?用一個(gè)簡單的聲明把它們區(qū)分開。(2分)指針和數(shù)組的聲明在什么情況下是相同的?(2分)7、C語言的左值(lvalue)和右值(rvalue)的含義是什么?(2分)左值表示有特定的名字引用,而右值沒有特定的名字引用。C中右值不能變,C卄中是可以的。intconst&max(intconst&a,intcon
8、st&b)//callbyreferencemax(a,b)為左值。in(&fun(int&a)//callbyreferencefun(ii)=800;//OK!我們的眼睛沒有問題,fun(ii)=800;完全正確,因?yàn)樗强梢愿淖兊淖笾?。所以我們看STL的源碼,就會(huì)理解std::vector中的重載operator^運(yùn)算符的返回值為什么要寫成引丿1],因?yàn)閛perator!]必須返回左值。int*fun2()//callbyvalueforpointerfim2()是右值,但*fim2()卻是左值,就跟經(jīng)常看到的邛一樣,所以看C++庫代碼的時(shí)候,會(huì)發(fā)現(xiàn)璽載opera
9、tor*的函數(shù)返回值是referenceo函數(shù)fun2的返回值是pointer,pointer也是callbyvalue,iflj函數(shù)max的返冋值是reference,reference是callbyreferenceo8、為什么C語言可以實(shí)現(xiàn)printf(char^format,…)這樣可變參數(shù)的調(diào)用形式?這樣有什么缺點(diǎn)?(2分)9、說明C語言中術(shù)語”聲明””定義"原型”的含義?(2分)10、舉一個(gè)例子,說明使用assert和防錯(cuò)代碼的區(qū)別。(5分)11、對(duì)語句ifelse與操作符?:使用場合的比較。(2分)編寫一個(gè)兩數(shù),輸入一個(gè)的整