語言競賽試題及答案_第1頁
語言競賽試題及答案_第2頁
語言競賽試題及答案_第3頁
語言競賽試題及答案_第4頁
語言競賽試題及答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

c語言競賽試題及答案2020一、單項選擇題(每題2分,共40分)1.以下代碼段執(zhí)行后,變量x的值為多少?intx=5;

x+=x++*2;

A.10B.11C.15D.162.以下關(guān)于指針的描述,正確的是?A.指針變量存儲的是變量的值B.指針變量存儲的是變量的地址C.指針變量的大小與其指向的數(shù)據(jù)類型無關(guān)D.指針變量只能指向基本數(shù)據(jù)類型3.以下代碼中,哪個函數(shù)調(diào)用會導致數(shù)組越界?intarr[5]={1,2,3,4,5};A.printf("%d",arr[4]);B.printf("%d",*(arr+3));C.printf("%d",arr[5]);D.printf("%d",*(arr+4));4.以下關(guān)于結(jié)構(gòu)體的描述,錯誤的是?

A.結(jié)構(gòu)體可以包含不同數(shù)據(jù)類型的成員

B.結(jié)構(gòu)體的大小是所有成員大小的簡單相加

C.結(jié)構(gòu)體變量可以通過點運算符訪問成員

D.結(jié)構(gòu)體指針可以通過箭頭運算符訪問成員5.以下代碼執(zhí)行后,輸出結(jié)果是什么?charstr[]="Hello";printf("%d",sizeof(str));A.5

B.6

C.7D.取決于編譯器6.以下關(guān)于函數(shù)參數(shù)傳遞的描述,正確的是?A.值傳遞會修改實參的值B.地址傳遞不會修改實參的值C.值傳遞時,函數(shù)內(nèi)參數(shù)是實參的副本D.地址傳遞時,函數(shù)內(nèi)參數(shù)與實參無關(guān)7.以下代碼中,哪個循環(huán)會無限執(zhí)行?A.for(;;);B.while(1);C.do{}while(1);D.以上三個都會8.以下關(guān)于靜態(tài)變量的描述,錯誤的是?

A.靜態(tài)局部變量在程序整個生命周期內(nèi)存在

B.靜態(tài)全局變量只能在本文件內(nèi)使用

C.靜態(tài)變量默認初始化為0D.靜態(tài)變量不能被聲明為const9.以下代碼執(zhí)行后,輸出結(jié)果是什么?inta=10,b=20;int*p1=&a,*p2=&b;

*p1=*p2;*p2=*p1;printf("%d%d",a,b);

A.1020B.2010C.2020D.101010.以下關(guān)于聯(lián)合體的描述,正確的是?

A.聯(lián)合體可以同時存儲多個成員的值

B.聯(lián)合體的大小是其最大成員的大小

C.聯(lián)合體不能包含數(shù)組作為成員D.聯(lián)合體成員訪問需要特殊語法二、多項選擇題(每題2分,共40分)11.以下哪些是C語言的關(guān)鍵字?(多選)A.intB.float

C.array

D.struct

E.void12.以下哪些操作會導致內(nèi)存泄漏?(多選)

A.使用malloc分配內(nèi)存后未釋放

B.使用new分配內(nèi)存后未delete

C.局部變量在函數(shù)返回后失效

D.全局變量未初始化E.指針指向無效內(nèi)存后被使用13.以下關(guān)于宏定義的描述,正確的是?(多選)

A.宏定義在預處理階段進行替換

B.宏定義可以帶參數(shù)C.宏定義會增加代碼執(zhí)行時間D.宏定義可以定義常量E.宏定義比函數(shù)調(diào)用效率高14.以下哪些函數(shù)是標準庫中的字符串處理函數(shù)?(多選)A.strlen

B.strcpy

C.memset

D.printf

E.scanf15.以下關(guān)于文件操作的描述,正確的是?(多選)A.fopen函數(shù)返回FILE指針B.fclose函數(shù)用于關(guān)閉文件C.文件打開模式"r+"表示讀寫D.文件打開模式"w"會清空文件E.fseek函數(shù)用于定位文件指針16.以下哪些是合法的變量名?(多選)A._var1

B.1varC.var$name

D.var_name

E.int17.以下關(guān)于動態(tài)內(nèi)存分配的描述,正確的是?(多選)A.malloc返回void指針B.calloc會初始化內(nèi)存為0C.realloc可以調(diào)整已分配內(nèi)存的大小D.free后指針應置為NULLE.動態(tài)分配的內(nèi)存不會自動釋放18.以下哪些是位運算符?(多選)A.&

B.|C.^D.<<E.&&19.以下關(guān)于預處理指令的描述,正確的是?(多選)A.#include用于包含頭文件B.#define用于定義宏C.#ifdef用于條件編譯D.#pragma用于編譯器指令E.#error用于生成錯誤20.以下哪些是合法的數(shù)組初始化方式?(多選)A.intarr[5]={1,2,3,4,5};B.intarr[]={1,2,3,4,5};C.intarr[5]={0};D.intarr[5]={1,2};E.intarr[5]={};三、判斷題(每題1分,共10分)21.C語言中,數(shù)組名代表數(shù)組首元素的地址。()22.結(jié)構(gòu)體變量可以作為函數(shù)參數(shù)進行值傳遞。()23.使用指針訪問數(shù)組元素比使用下標訪問效率低。()24.靜態(tài)全局變量只能在本文件內(nèi)使用。()25.函數(shù)聲明時,參數(shù)名可以省略。()26.使用malloc分配的內(nèi)存會自動初始化為0。()27.switch語句中,case標簽后可以是變量表達式。()28.宏定義可以嵌套使用。()29.文件指針是FILE類型的指針。()30.枚舉類型的值默認從0開始遞增。()四、填空題(每題1分,共10分)31.以下代碼中,a的值為______。inta=5;a+=a++*2;32.以下代碼中,輸出結(jié)果為______。char*s="Hello";printf("%c",*(s+1));33.以下代碼中,函數(shù)調(diào)用后x的值為______。voidswap(int*a,int*b){inttemp=*a;

*a=*b;*b=temp;}intx=10,y=20;

swap(&x,&y);34.以下代碼中,sizeof(structtest)的值為______。structtest{chara;

intb;};35.以下代碼中,輸出結(jié)果為______。intarr[]={1,2,3,4,5};

printf("%d",*(arr+3));36.以下代碼中,p指向的內(nèi)存大小為______字節(jié)。int*p=(int*)malloc(10*sizeof(int));37.以下代碼中,輸出結(jié)果為______。inti=5;printf("%d",i++*2);38.以下代碼中,輸出結(jié)果為______。charstr[]="abc";printf("%d",strlen(str));39.以下代碼中,輸出結(jié)果為______。inta=10;printf("%d",a+++++a);40.以下代碼中,輸出結(jié)果為______。#defineSQUARE(x)((x)*(x))

printf("%d",SQUARE(2+1));答案:一、單項選擇題1-5:CBCBB6-10:CDDCB二、多項選擇題11:ABDE12:AB13:ABDE14:ABC15:ABCDE16:AD17:ABCDE1

溫馨提示

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

評論

0/150

提交評論