嵌入式系統(tǒng)開發(fā)人員C語言測(cè)試題選擇題編程風(fēng)格_第1頁
嵌入式系統(tǒng)開發(fā)人員C語言測(cè)試題選擇題編程風(fēng)格_第2頁
嵌入式系統(tǒng)開發(fā)人員C語言測(cè)試題選擇題編程風(fēng)格_第3頁
嵌入式系統(tǒng)開發(fā)人員C語言測(cè)試題選擇題編程風(fēng)格_第4頁
嵌入式系統(tǒng)開發(fā)人員C語言測(cè)試題選擇題編程風(fēng)格_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余13頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)開發(fā)人員C語言測(cè)試題-選擇題(編程風(fēng)格)收藏3.1選擇題(221)請(qǐng)選出可用作C語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符a.VoiddefineWORDb.a3_b3_123IFc.For-abcCased.2aDosizeof(222)請(qǐng)選出正確的標(biāo)識(shí)符編號(hào)a.Hot_dogb.$zA*c.catld.a11e.SUM#f.Dollarg.2dogh.S_expi.Apointer(223)下面符合規(guī)范的函數(shù)原型聲明有哪些a.T_S16CheckData();b.T_S16CheckData(void)c.T_S16SetPoint(T_S16,T_S16)d.T_S16SetPoint(T_S

2、16nX,T_S16nY)(224)聲明頭文件引用時(shí),避免使用絕對(duì)路徑,要使用相對(duì)路徑。以下符合規(guī)范的頭文件引用有哪些oa.#include"c:switchincdef.inc"b.#include"incdef.inc"c.#include"def.inc"d.#include".def.inc"(225)按照編碼規(guī)范,頭文件由組成:a.頭文件開頭處的版權(quán)和版本聲明;b.API函數(shù)的調(diào)用示例c.預(yù)處理塊d.函數(shù)和類結(jié)構(gòu)定義(226)代碼文件由組成:a.定義文件開頭處的版權(quán)和版本聲明b.API函數(shù)的調(diào)用示例c.全

3、局變量的聲明d.程序的實(shí)現(xiàn)體(包括數(shù)據(jù)和代碼)(227)按照編碼規(guī)范,符合規(guī)范的程序塊是a.if(!ValidNi(ni)()nRepssnInd=SsnDataindex.nRepssnIndex;nRepssnNi=SsnDataindex.ni;b.T_S8*pContext;T_S16nIndex;T_S32lCounter;pContext=(T_S8)malloc(sizeof(T_S8)*100);if(pContext=NULL)(returnFALSE;c.if(!ValidNi(ni)()nRepssnInd=SsnDataindex.nRepssnIndex;nRepss

4、nNi=SsnDataindex.ni;d.T_S8*pContext;T_S16nIndex;T_S32lCounter;pContext=(T_S8)malloc(sizeof(T_S8)*100);if(NULL=pContext)(returnFALSE;)(228)以下說法正確的是a.與注釋一樣,所有的空白符都會(huì)被編譯程序忽略掉。在C程序中用空白符隔開可執(zhí)行語句、函數(shù)和注釋等,將有助于提高程序的可讀性和清晰度;b.在枚舉類型、結(jié)構(gòu)體類型、聯(lián)合類型、類定義之后,每個(gè)函數(shù)定義結(jié)束之后都要加空行;c.在一個(gè)函數(shù)體內(nèi),邏揖上密切相關(guān)的語句之間不加空行,其它地方應(yīng)加空行分隔d.函數(shù)體內(nèi),變量定

5、義與第一句可執(zhí)行語句之間不需要加空行分隔(229)以下程序的代碼行風(fēng)格符合規(guī)范的是a.rect.length=0;rect.width=0;b.rect.length=width=0;c.rect.length=0;rect.width=0;d.typedefstruct(T_U16nLeft,nTop,nRight,nBottom;RECT;e.typedefstruct(T_U16nLeft;T_U16nTop;T_U16nRight;T_U16nBottom;RECT;(230)以下關(guān)于代碼行內(nèi)空格說法正確的是a.為了保證縮進(jìn)和排比留空除外,不要連續(xù)留兩個(gè)以上空格;b.由于留空格所產(chǎn)生的

6、清晰性是相對(duì)的,所以,在已經(jīng)非常清晰的語句中沒有必要再留空格;c.賦值操作符、比較操作符、算術(shù)操作符、邏輯操作符、位域操作符,如“=“、“+="”>="、"<="、"+"、"*"、""、叩、"&&"、"|"、"<<"",等二元操作符的前后應(yīng)當(dāng)加空格;d.一元操作符如叩、“、“+"、“-“、"&”(地址運(yùn)算符)等前后不加空格,另外,象"口"、

7、"."、"->"這類操作符前后不加空格。(231)下面代碼行的空格符合規(guī)范的是a.voidFunc1(T_S16x,T_S16y,T_S16z)b./if!28(afgt!3B=bi&!3B&!2c.for(i=0;i<10;i+)d.T_S16*x=&y(232)下面代碼行的對(duì)齊風(fēng)格符合規(guī)范的是a.#defineMAX_TASK_NUMBER100#defineLEFT_X10#defineBOTTOM_Y400b.voidFunction(T_S16x)/programcodeif(conditionn)(/pro

8、gramcode)c.If(condition)/programcode)else/programcode)d.while(condition)/programcode)(233)以下風(fēng)格說法符合規(guī)范的是a.程序的分界符'和''應(yīng)獨(dú)占一行并且位于同一列,同時(shí)與引用它們的語句左對(duì)齊。)之內(nèi)的代碼塊在'右邊數(shù)格處左對(duì)齊。建議使用TAB鍵;b.對(duì)于if、for、while、do等程序塊,即使只有一個(gè)句子或?yàn)榭眨砸煤?#39;'進(jìn)行明顯區(qū)分,這樣可以防止書寫失誤。而if、for、while、do等語句應(yīng)自占一行,執(zhí)行語句不得緊跟其后;c.對(duì)結(jié)構(gòu)成員賦值,等號(hào)

9、對(duì)齊;d.#define的各個(gè)字段對(duì)齊;(234)以下說法符合規(guī)范的是a.注釋應(yīng)當(dāng)準(zhǔn)確、易懂,防止注釋有二義性(錯(cuò)誤的注釋不但無益反而有害)。注釋是對(duì)代碼的"解釋"。注釋應(yīng)解釋為什么這樣做,而不應(yīng)解釋正在做什么,除非這段代碼非常晦澀(要注明技巧);b.注釋的位置應(yīng)與被描述的代碼相鄰,應(yīng)放在代碼的上方或右方(對(duì)單條語句的注釋)相鄰位置,不可放在下方;c.為了整齊起見,單行或函數(shù)體內(nèi)注釋用,后面留有一個(gè)空格,相鄰行的"/"注釋要列對(duì)齊;d.對(duì)于兩行以上的連續(xù)注釋用/*"/*"和*/"。最好單獨(dú)一行,如果和注釋內(nèi)容同行,則&quo

10、t;/*"之后和"*/"之前都應(yīng)留有空格;(235)以下說法符合規(guī)范的是a.宏、常量和類型的命名應(yīng)該使用字母全部大寫的方式,各單詞之間用下劃線隔開;b.結(jié)構(gòu)名、枚舉名各單詞的字母均為大寫,單詞間用下劃線連接;c.除非必要,不要用數(shù)字或較奇怪的字符來定義標(biāo)識(shí)符;d.結(jié)構(gòu)成員和枚舉成員名各單詞的字母全部大寫,各單詞之間用下劃線隔開。(236)以下說法符合規(guī)范的是a.除了用于循環(huán)控制的變量,不要使用單一的字符命名變量;b.布爾型變量的命名應(yīng)有明確的是與非的含義;c.函數(shù)作用域變量和文件作用域變量,以及全局變量必須避免同名;d.用戶標(biāo)識(shí)符可以以下劃線作開頭。(237)以下

11、關(guān)于說法符合規(guī)范的是a.不同類型的操作符混合使用時(shí),使用括號(hào)給出優(yōu)先級(jí);b.如果代碼行中的操作符比較多,為了防止產(chǎn)生歧義并提高可讀性,應(yīng)當(dāng)用括號(hào)確定表達(dá)式的操作順序;c.為了使代碼更緊湊,盡量使用復(fù)雜的操作符組合;d.為了清晰起見,不要把"+"、"-"操作符與其他如“+="、"-=”等組合在一起形成復(fù)雜奇怪的表達(dá)式。(238)以下表達(dá)式符合規(guī)范的是a.while(p&&*p)/p為指針變量b.if(1=flag)/flag為布爾變量c.if(0.0=x)/x為浮點(diǎn)變量d.if(strlen(strName)!=0)/s

12、trName為字符串變量(239)以下對(duì)邏輯表達(dá)式的使用說明正確的是a.一個(gè)變量和一個(gè)常數(shù)進(jìn)行比較,如果是比較是否相等,則要求把常量放到左邊;b.對(duì)于if.elseif語句,最好保留else語句處理缺省情況;c.盡量不要在for循環(huán)體內(nèi)修改循環(huán)變量,防止for循環(huán)失去控制;d.不可將浮點(diǎn)變量用"="或"!="與任何數(shù)字比較。(240)關(guān)于循環(huán)語句下面說法正確的是a.在多重循環(huán)中,如果有可能,應(yīng)當(dāng)將最長(zhǎng)的循環(huán)放在最內(nèi)層,最短的循環(huán)放在最外層,以減少CPU跨切循環(huán)層的次數(shù);b.如果循環(huán)體內(nèi)存在邏輯判斷,并且循環(huán)次數(shù)很大,宜將邏輯判斷移到循環(huán)體的外面;c.應(yīng)仔

13、細(xì)考慮循環(huán)體內(nèi)的語句是否可以放在循環(huán)體之外,使循環(huán)體內(nèi)工作量最小,從而提高程序的時(shí)間效率;d.盡量減少循環(huán)嵌套層次。(241)下面的函數(shù)聲明符合規(guī)范的是oa.voidSetValue(T_U16nWidth,T_U16nHeight);b.voidSetValue(T_U16,T_U16);c.floatGetValue(void);d.floatGetValue()。(242)下面關(guān)于函數(shù)參數(shù)的說法符合規(guī)范的是a.盡量不設(shè)計(jì)多參數(shù)函數(shù),參數(shù)個(gè)數(shù)盡量控制在5個(gè)以內(nèi)。將不使用的參數(shù)從接口中去掉,減少函數(shù)間接口的復(fù)雜度;b.如果參數(shù)是指針,且僅作輸入用,則應(yīng)在類型前加const,以防止該指針在函數(shù)

14、體內(nèi)被意外修改;c.盡量把參數(shù)作為局部變量使用;d.盡量不要使用類型和數(shù)目不確定的參數(shù)。(243)下面說法符合規(guī)范的是a.函數(shù)名字與返回值類型在語義上不可沖突;b.不要將正常值和錯(cuò)誤標(biāo)志混在一起返回;c.在函數(shù)體的"出口處",要對(duì)return語句的正確性和效率進(jìn)行檢查;d.一個(gè)函數(shù)可以有多個(gè)出口點(diǎn)。(244)下面說法符合規(guī)范的是a.只需檢查輸入?yún)?shù)的有效性就可以了,不必檢查通過其它途徑進(jìn)入函數(shù)體內(nèi)的變量的有效性,例如全局變量、文件句柄等;b.函數(shù)參數(shù)的定義和聲明應(yīng)有相同的順序,參數(shù)名應(yīng)一致;c.一個(gè)函數(shù)不應(yīng)該有四層以上的嵌套,否則要分割成多個(gè)函數(shù);d.函數(shù)不要直接或間接調(diào)用

15、自己。(245)下面說法符合規(guī)范的是a.斷言assert是僅在Debug版本起作用的宏,用來檢查程序正常運(yùn)行時(shí)不應(yīng)發(fā)生但在調(diào)測(cè)時(shí)有可能發(fā)生的非法情況;b.盡量使用斷言函數(shù)參數(shù)的有效性;c.使用斷言可以對(duì)程序開發(fā)環(huán)境的假設(shè)進(jìn)行檢查;b,不能使用斷言規(guī)范數(shù)據(jù)類型的轉(zhuǎn)換。(246)下面關(guān)于模塊的說法符合規(guī)范的是a,模塊是一個(gè)或幾個(gè).c文件和一個(gè).h文件的結(jié)合,頭文件(.h)中是對(duì)于該模塊接口的聲明;b,模塊提供給其它模塊調(diào)用的外部函數(shù)及數(shù)據(jù)需在,h中文件中以extern關(guān)鍵字聲明;c,模塊內(nèi)的函數(shù)和全局變量需在.c文件開頭冠以static關(guān)鍵字聲明;d,定義變量和聲明變量的區(qū)別在于定義會(huì)產(chǎn)生內(nèi)存分配

16、的操作,是匯編階段的概念;而聲明則只是告訴包含該聲明的模塊在連接階段從其它模塊尋找外部函數(shù)和變量。(247)根據(jù)編碼規(guī)范,下面應(yīng)該全部大寫的是a,宏b.enum常量c,結(jié)構(gòu)類型名d,結(jié)構(gòu)成員的命名(248)下面說法符合規(guī)范的是a,充分利用水平和垂直空格??s進(jìn)和空格間距應(yīng)反映出代碼的塊結(jié)構(gòu)。b,注釋應(yīng)該準(zhǔn)確,避免不必要的注釋。c,為清晰起見,避免使用僅在大小寫上有區(qū)別的名稱,如foo和Foo。d."指針"標(biāo)識(shí)符"*"應(yīng)緊鄰類型名,而不是變量名。(249)根據(jù)編碼規(guī)范,下面說法正確的是a.避免使用與庫(kù)頭文件名相同的專用頭文件名,安全起見,也應(yīng)避免自己設(shè)計(jì)庫(kù)函

17、數(shù)。b.應(yīng)對(duì)引用的頭文件使用相對(duì)路徑。c.函數(shù)名應(yīng)能反映出函數(shù)執(zhí)行什么操作以及返回什么內(nèi)容,對(duì)于全局函數(shù)還應(yīng)以模塊名為前綴。d.函數(shù)的聲明和定義保持一致。(250)C語言程序中可以對(duì)程序進(jìn)行注釋,注釋部分必須用符號(hào)括起來。a.''和''b.''和''c."/*"和"*/"d."*/"和"/*"(251)下列運(yùn)算符中,優(yōu)先級(jí)最低的是?a.*b.!=c.+d.=(252)若變量已正確定義,表達(dá)式(j=3,j+)的值是oa.3b.4c.5d.0(253)表達(dá)

18、式strcmp("box","boss")的值是一個(gè)a.正數(shù)b.負(fù)數(shù)c.0d.不確定的數(shù)(254)判斷i和j至少有一個(gè)值為非0的表達(dá)式是oa.i!=0&&j!=0b.i*j!=0c.!(i=0&&j=0)d.i&&j(255)根據(jù)編碼規(guī)范,以下說法不正確的是oa.每行中只能寫-條賦值語句;b.若a是實(shí)型變量,c程序中允許賦值a=10,可以把整型數(shù)賦值給實(shí)型變量c.無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示;d.%是只能用于整數(shù)運(yùn)算的操作符.(256)根據(jù)編碼規(guī)范,下面說法正確的是a.編寫程序時(shí),應(yīng)使用括號(hào)以改

19、善表達(dá)式的清晰度;b.在保證程序準(zhǔn)確無誤的前提下,應(yīng)當(dāng)盡可能對(duì)程序代碼進(jìn)行優(yōu)化c.在程序設(shè)計(jì)中,不要進(jìn)行浮點(diǎn)數(shù)相等的比較;d.調(diào)試過程中應(yīng)盡可能多的輸出中間結(jié)果。(257)下面說法符合規(guī)范的是a.不要根據(jù)數(shù)據(jù)類型判斷數(shù)據(jù)值的范圍。b.避免設(shè)計(jì)帶有"記憶"功能的函數(shù)。c.使用有意義的標(biāo)識(shí)符。d.禁止使用GOTO語句。(258)根據(jù)編碼規(guī)范,下面說法正確的是a.目錄名全部要使用小寫;b.排版不要混合使用空格和TAB鍵c.所有的源文件應(yīng)是可打印的ASCII字符串。d.避免編寫技巧性很高代碼。(259)根據(jù)編碼規(guī)范,頭文件布局的先后順序是a.全局函數(shù)原型定義;b.全局變量聲明;c.

20、預(yù)處理塊定義;d.#include區(qū);(260)根據(jù)編碼規(guī)范,代碼文件布局的先后順序是a.全局函數(shù)定義;b.模塊級(jí)數(shù)據(jù)類型定義;c.局部函數(shù)定義。d.模塊級(jí)變量定義;(261)根據(jù)編碼規(guī)范,下面說法正確的是a.禁止使用漢語拼音來命名;b.用戶標(biāo)識(shí)符的命名必須名副其實(shí);c.為了書寫方便,可以使用單個(gè)字符命名的變量;d.因?yàn)樽饔糜虿煌?,函?shù)作用域變量、文件作用域變量、全局變量可以使用同名。(262)根據(jù)編碼規(guī)范,下面說法正確的是a.禁止在符號(hào)變量上進(jìn)行移位操作;b.不要使用缺省的變量定義方式,應(yīng)當(dāng)保留變量的作用域修飾;c.盡量使用專門的初始化函數(shù)對(duì)所有的全局變量進(jìn)行初始化;d.當(dāng)向公共變量傳遞數(shù)據(jù)時(shí),要防止賦與不合理的值或越界等現(xiàn)象發(fā)生。(263)根據(jù)編碼規(guī)范,下面說法正確的是a.結(jié)構(gòu)的功能要單一,是針對(duì)一種事務(wù)的抽象;b.若結(jié)構(gòu)中元素個(gè)數(shù)過多可考慮依據(jù)某種原則把元素組成不同的子結(jié)構(gòu);c.結(jié)構(gòu)中的位域應(yīng)盡可能相鄰;d.結(jié)構(gòu)的設(shè)計(jì)要為某些未來可能的應(yīng)用保留余地。(264)根據(jù)編碼規(guī)范,下面說法正確的是a.空白符和注釋會(huì)被編譯程序忽略掉;b.枚舉類型、結(jié)構(gòu)體類型、聯(lián)合類型、類定義、函數(shù)定義結(jié)束之后都要加空行;c.功能相對(duì)獨(dú)立的程序塊之間應(yīng)加空行分隔;d.結(jié)構(gòu)體內(nèi)元素最好放

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論