2012 C語言二級題答案.doc_第1頁
2012 C語言二級題答案.doc_第2頁
2012 C語言二級題答案.doc_第3頁
2012 C語言二級題答案.doc_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2012 C語言二級考試【2.1】參考答案:D注釋:程序中除法運算的兩個操作數均是整型,運算結果也是整型?!?.2】參考答案:B注釋:C語言允許在程序塊(分程序)中說明變量?!?.3】參考答案:C注釋:變量i中的負號傳送給變量n后,因n是無符號數,已不作為負號處理?!?.4】參考答案:D注釋:對變量x的操作是后綴形式,變量x的減1操作要在執(zhí)行完 printf函數之后才進行,所以變量x的值在輸出的時候仍然保持原值10。【2.5】參考答案:B注釋:C語言在執(zhí)行printf()時,對函數中的表達式表列的處理順序是從后向前,即先處理n- -,再處理n+,最后處理n,而且每一個表達式作為一個處理單元,也就是說在不同的表達式中自增自減運算是單獨考慮的?!?.6】參考答案:A注釋:變量x和變量y做按位與,結果為0x0200,右移4位為0x0020,再與0x005f做按位或,最后結果為0x007f?!?.7】參考答案:A注釋:逗號表達式的結果是用逗號分開的最后一個表達式的值,此題由于 c=A的值是0,所以逗號表達式的值為0?!?.8】參考答案: B【2.9】參考答案: A【2.10】參考答案: C注釋:在輸出格式描述%m.ns中,m是輸出總長度,n是實際字符的個數,這里m沒有給出,則輸出總長度就是實際輸出字符的個數。【2.11】參考答案: C【2.12】參考答案:B【2.13】參考答案:C【2.14】參考答案:B【2.15】參考答案:D【2.16】參考答案:A【2.17】參考答案: C【2.18】參考答案:A【2.19】參考答案: C注釋:在switch語句中,case本身僅起到語句標號的作用,不會改變語句的流程,執(zhí)行break語句才能退出當前的switch語句。【2.20】參考答案: D注釋:siwtch語句的表達式中,變量c是后綴的增一運算,第一次執(zhí)行do-while循環(huán)時,執(zhí)行case A后面的語句?!?.21】參考答案: D【2.22】參考答案: B【2.23】參考答案: B注釋:fabs()是浮點數絕對值函數?!?.24】參考答案: A【2.25】參考答案: C注釋:C語言允許在程序塊(分程序)內說明變量,如果在程序塊內說明的變量和程序塊外的變量同名,在塊外說明的變量在塊內是不可見的??蓪⒋祟}和【2.11】進行比較,加深理解。【2.26】參考答案: C【2.27】參考答案: B【2.28】參考答案: D A【2.29】參考答案:D【2.30】參考答案: B注釋:輸出結果為字符串長度?!?.31】參考答案: D注釋:字符串拷貝函數strcpy()要求的兩個參數都是字符串首地址。本題中第二個參數是字符串常量,接受這個字符串的第一個參量不是直接給出字符數組名,而是進行了地址運算后的結果。由于str字符串的長度是13,除2取整后是6,第一個參數給出的地址是字符數組str的首地址加6,也就是原來字符串中第二個空格的位置,把es she從該處放入,字符串str變?yōu)镠ow does she?!?.32】參考答案: C注釋:main函數調用func函數時,第一個實參使用的是逗號表達式的值,也就是x+y的結果。由于對變量x、y、z進行的是后綴運算,所以函數func的參數值是13和8?!?.33】參考答案: C【2.34】參考答案: C A C【2.35】參考答案: C【2.36】參考答案: B注釋:函數fun進行了遞歸調用,實際進行的運算是54321310。主函數內說明的局部變量w屏蔽了外部變量w,所以在主函數中外部變量w是不可見的,在調用printf函數時表達式fun(5)*w中w的值是10?!?.37】參考答案: D注釋:main函數三次調用了函數funa,在funa函數中的靜態(tài)變量c僅在第一次調用時進行了初始化,再次調用時不再對靜態(tài)變量賦初值?!?.38】參考答案: B注釋:main函數和num函數中都說明了變量a和b,由于它們是內部變量,所以它們分別在說明它們的函數內有效。外部變量x和y在函數num之后被說明,而在num函數中又要引用它們,所以在num函數中用關鍵字extern說明變量x和y是一個外部變量,也就是通知計算機這兩個變量在fun函數以外被說明,此處不是定義兩個int型變量?!?.39】參考答案: D注釋:函數f中的變量c是靜態(tài)變量,僅在第一次調用函數f時它被初始化為3,第二次調用函數f時c的值是4,第三次調用函數f時c的值是5?!?.40】參考答案: D【2.41】參考答案: D注釋:程序中有三個x分別在三個不同的函數中,這三個x都是自動變量,所以三個x分別局部于三不同的函數,在三個函數中對x的操作互不影響?!?.42】參考答案: A【2.43】參考答案: A注釋:*(+p)和*+p都是指針變量值前加1,第一次指向a1,第二次指向a2;a+3是a3的地址。【2.44】參考答案: C注釋:句沒有語法錯誤,但是a+6指向數組之外,因為a是a0的地址,a+1是a1的地址,a+2是a2的地址,顯然數組a沒有a6分量。句錯誤,因為a1是地址常量,它是a10的地址,對于地址常量是不可以進行賦值運算的。【2.45】參考答案: D A注釋:如果FMT定義為%xn,則輸出的16進制數據用小寫字母表示。【2.46】參考答案: A注釋:語句p=&a0表示將數組a中元素a0的地址賦給指針變量p,則p就是指向數組首元素a0的指針變量,&a0是取數組首元素的地址。對于指向數組首址的指針,p+i(或a+i)是數組元素ai的地址,*(p+i)(或*(a+i)就是ai的值。【2.47】參考答案: B【2.48】參考答案: D【2.49】參考答案: D【2.50】參考答案: A注釋:變量g是指向函數的指針,(*g)(a,b)是調用指針g所指向的函數?!?.51】參考答案: C注釋:p是指針,pp是指向指針的指針?!?.52】參考答案: A注釋:對于指向數組的指針變量可以做下標運算,pi和alphai都是指向字符串的首地址,*pi取出字符串的第一個字符。【2.53】參考答案: D A D D B注釋:pp是一個二維指針數組,pp+1指向數組的第二維,*(pp+1)是第二維的起始地址,*(pp+1)是第二維第一個元素的地址,*(pp+1)是第二維第一個元素的內容,所以,的參考答案應選D。*(pp+1)+1是第二維第二個元素的地址,*(*(pp+1)+1)是第二維第二個元素,(*(*(pp+1)+1)4則是第二維第二個元素所指字符串下標為4的元素,即是字符w,故應當選D?!?.54】參考答案: B C【2.55】參考答案:D【2.56】參考

溫馨提示

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

評論

0/150

提交評論