大學(xué)c語言考試題庫審定版_第1頁
大學(xué)c語言考試題庫審定版_第2頁
大學(xué)c語言考試題庫審定版_第3頁
大學(xué)c語言考試題庫審定版_第4頁
大學(xué)c語言考試題庫審定版_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

大學(xué)c語言考試題庫第一部分單選題(50題)1、以下函數(shù)定義錯誤的是?()

A.voidfun(){}

B.voidfun(inta){}

C.intfun(){}

D.intfun(){return;}

【答案】:答案解析:D返回類型int(必須return表達式),return無表達式錯誤,A、B、C正確,故選D。2、若inti=0;執(zhí)行for(;i<5;){printf("%d",i);i++;}輸出結(jié)果是?()

A.01234

B.12345

C.無限循環(huán)

D.無輸出

【答案】:答案解析:for循環(huán)初始化和條件省略,循環(huán)體中i自增,執(zhí)行5次,輸出01234,故選A。3、若inta=4,b=6;則表達式a<b?a+b:a-b的結(jié)果是?()

A.10

B.-2

C.4

D.6

【答案】:答案解析:a<b為真,取a+b=4+6=10,故選A。4、若inta=7;執(zhí)行if(a%3==1)printf("A");elseif(a%3==2)printf("B");elseprintf("C");輸出結(jié)果是?()

A.A

B.B

C.C

D.無輸出

【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,條件1成立?哦7%3=1,應(yīng)輸出A?不對,7%3=1,第一個條件成立,輸出A?重新計算:7÷3=2余1,a%3=1,執(zhí)行第一個分支,輸出A,故選A(原解析修正:之前誤算,正確結(jié)果A)。5、若inta=10,*p=&a;則sizeof(p)的值是?()

A.4

B.8

C.取決于系統(tǒng)

D.10

【答案】:答案解析:sizeof(p)是指針大小,32位系統(tǒng)4字節(jié),64位8字節(jié),故選C。6、以下函數(shù)調(diào)用錯誤的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.無錯誤(需看函數(shù)定義)

【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對應(yīng)無參函數(shù),B對應(yīng)單參函數(shù),C對應(yīng)雙參函數(shù),均可能正確,故選D。7、若intx=10,y=20;則表達式x!=y的結(jié)果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。8、函數(shù)調(diào)用時,實參和形參的個數(shù)必須?()

A.相等

B.實參多于形參

C.形參多于實參

D.無要求

【答案】:答案解析:函數(shù)調(diào)用時實參和形參個數(shù)、類型需匹配,否則編譯錯誤,故選A。9、以下函數(shù)定義中,參數(shù)為兩個int類型的是?()

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

【答案】:答案解析:B中兩個參數(shù)均為int類型,其余選項參數(shù)類型不匹配,故選B。10、若inti=0,s=0;執(zhí)行for(i=0;i<4;i++)s+=i;后s的值是?()

A.6

B.10

C.4

D.0

【答案】:答案解析:累加0+1+2+3=6,s=6,故選A。11、以下if-else語句中,代碼塊執(zhí)行順序正確的是?()

A.先執(zhí)行if條件,滿足則執(zhí)行if代碼塊,否則執(zhí)行else代碼塊

B.先執(zhí)行else代碼塊,再執(zhí)行if條件

C.同時執(zhí)行if和else代碼塊

D.僅執(zhí)行else代碼塊

【答案】:答案解析:if-else邏輯為“條件判斷→滿足執(zhí)行if,否則執(zhí)行else”,互斥執(zhí)行,故選A。12、以下指針運算正確的是?()

A.inta=10,*p=&a;p++;

B.inta=10,*p=&a;p=a;

C.inta=10,*p=&a;p=&5;

D.inta=10,*p=&a;*p=&a;

【答案】:答案解析:A指針p自增(指向a的下一個地址),B不能將int值賦給指針,C不能取常量地址,D不能將地址賦給int變量,故選A。13、若inta=10;執(zhí)行if(a%2==0)printf("偶數(shù)");elseprintf("奇數(shù)");輸出結(jié)果是?()

A.偶數(shù)

B.奇數(shù)

C.10

D.無輸出

【答案】:答案解析:a=10%2=0,條件為真,輸出偶數(shù),故選A。14、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。15、以下定義指向數(shù)組的指針正確的是?()

A.inta[5],*p=a;

B.inta[5],*p=&a;

C.inta[5],p=a;

D.inta[5],*p=a[0];

【答案】:答案解析:a是數(shù)組名(首元素地址),p=a等價于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。16、以下關(guān)于數(shù)組初始化的說法正確的是?()

A.數(shù)組必須初始化

B.數(shù)組初始化時元素個數(shù)不能少于長度

C.數(shù)組初始化時可部分賦值

D.數(shù)組初始化后不能修改

【答案】:答案解析:數(shù)組可部分賦值(未賦值元素默認(rèn)0),A數(shù)組可不用初始化,B可少于長度,D數(shù)組元素可修改,故選C。17、以下哪個表達式可訪問數(shù)組a的第i個元素(i從1開始)?()

A.a[i]

B.a[i-1]

C.*(a+i)

D.*(a+i-1)

【答案】:答案解析:數(shù)組下標(biāo)從0開始,第i個元素對應(yīng)下標(biāo)i-1,a[i-1]正確,C、D是指針訪問(對應(yīng)下標(biāo)i),故選B。18、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};則a[1][2]的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:a[1][2]是第二行第三列,值為6,故選B。19、以下哪個數(shù)據(jù)類型的占用字節(jié)數(shù)最大?()

A.char

B.short

C.int

D.double

【答案】:答案解析:char(1字節(jié))、short(2字節(jié))、int(4字節(jié))、double(8字節(jié)),故選D。20、以下指針運算中,結(jié)果為指針的是?()

A.*p

B.p+1

C.&a

D.B和C

【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。21、以下指針定義正確的是?()

A.int*p;

B.char*q;

C.float*r;

D.以上都正確

【答案】:答案解析:A指向int,B指向char,C指向float,均符合指針定義語法,故選D。22、函數(shù)參數(shù)的默認(rèn)值在______指定?()

A.函數(shù)定義時

B.函數(shù)聲明時

C.函數(shù)調(diào)用時

D.C語言不支持默認(rèn)參數(shù)

【答案】:答案解析:標(biāo)準(zhǔn)C語言不支持函數(shù)參數(shù)默認(rèn)值(C++支持),故選D。23、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。24、以下哪個條件表達式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

B.x>=5&&x<=10

C.x>=5||x<=10

D.5<=x&&<=10

【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個判斷,A語法錯誤,C邏輯錯誤,D語法錯誤,故選B。25、若inta[4]={1,2,3,4};則*(a+1)的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二個元素地址,*(a+1)=a[1]=2,故選B。26、以下for循環(huán)中,用于計算1到5的平方和的是?()

A.s=0;for(i=1;i<=5;i++)s+=ii;

B.s=0;for(i=1;i<=5;i++)s+=i2;

C.s=1;for(i=1;i<=5;i++)s*=i;

D.s=0;for(i=1;i<=5;i++)s+=i+i;

【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的邏輯正確,故選A。27、指針的自增運算(p++)的含義是?()

A.指針值加1

B.指針指向的變量值加1

C.指針指向地址偏移一個類型大小

D.指針指向地址偏移1字節(jié)

【答案】:答案解析:p++使指針指向地址偏移“指向類型大小”(如int指針+4字節(jié)),故選C。28、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()

A.形參是函數(shù)定義時的變量

B.實參是函數(shù)調(diào)用時的變量/常量

C.形參和實參類型需匹配

D.以上都正確

【答案】:答案解析:A、B、C均是函數(shù)參數(shù)的基本規(guī)則,故選D。29、若inta=2,b=4;執(zhí)行if(a==b)a=0;elseb=0;后a和b的值分別是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b為假,執(zhí)行else,b=0,a保持2,故選B。30、以下關(guān)于動態(tài)內(nèi)存分配的說法正確的是?()

A.malloc函數(shù)用于動態(tài)分配內(nèi)存,返回void*

B.free函數(shù)用于釋放動態(tài)分配的內(nèi)存

C.動態(tài)分配的內(nèi)存需手動釋放,避免內(nèi)存泄漏

D.以上都正確

【答案】:答案解析:A、B、C均是動態(tài)內(nèi)存分配的核心規(guī)則,故選D。31、以下if語句中,賦值語句和判斷語句混淆的是?()

A.if(x==5)

B.if(x=5)

C.if(x!=5)

D.if(x>5)

【答案】:答案解析:x=5是賦值(將5賦給x),x==5是判斷(x是否等于5),B混淆了兩者,故選B。32、C語言中,語句結(jié)束的標(biāo)志是?()

A.逗號

B.分號

C.冒號

D.句號

【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。33、函數(shù)返回值通過______語句返回?()

A.printf

B.scanf

C.return

D.break

【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。34、以下關(guān)于數(shù)組的說法正確的是?()

A.數(shù)組下標(biāo)從1開始

B.數(shù)組名可作為左值賦值

C.數(shù)組長度定義后不可修改

D.數(shù)組元素類型可不同

【答案】:答案解析:數(shù)組下標(biāo)從0開始,數(shù)組名是常量(不可賦值),元素類型必須相同,長度定義后固定,故選C。35、下列字符串常量定義正確的是?()

A.'abc'

B."abc"

C.abc

D."a""b"

【答案】:答案解析:字符串常量用雙引號包裹,單引號用于字符常量,C是標(biāo)識符,D語法錯誤,故選B。36、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。37、執(zhí)行scanf("%d,%d",&a,&b);時,正確的輸入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗號分隔符,輸入需嚴(yán)格對應(yīng),故選C。38、以下指針運算錯誤的是?()

A.inta=5,*p=&a;p++;

B.inta=5,*p=&a;*p++;

C.inta=5,*p=&a;p=&a+1;

D.inta=5,*p=&a;p=p+2;

【答案】:答案解析:&a是地址常量,不能進行算術(shù)運算(&a+1錯誤),A、B、D均正確,故選C。39、若inti=0,s=0;執(zhí)行for(i=1;i<=4;i++)s+=i;后s的值是?()

A.10

B.9

C.8

D.7

【答案】:答案解析:累加1+2+3+4=10,s=10,故選A。40、以下關(guān)于空指針的定義正確的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正確

【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。41、函數(shù)中局部變量的作用域是?()

A.整個程序

B.函數(shù)內(nèi)部

C.函數(shù)外部

D.所有函數(shù)

【答案】:答案解析:局部變量定義在函數(shù)內(nèi),僅在函數(shù)內(nèi)部有效,故選B。42、以下函數(shù)定義正確的是?()

A.voidfun(){printf("hello");}

B.voidfun(inta){printf("%d",a);}

C.intfun(){return5;}

D.以上都正確

【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。43、以下函數(shù)聲明正確的是?()

A.intfun(intx,inty);

B.intfun(int,int);

C.intfun(intx;inty);

D.A和B

【答案】:答案解析:函數(shù)聲明可寫參數(shù)名或只寫類型,A、B正確,C用分號錯誤,故選D。44、函數(shù)定義在main函數(shù)之后時,必須先?()

A.調(diào)用函數(shù)

B.聲明函數(shù)

C.定義函數(shù)

D.無要求

【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。45、以下關(guān)于數(shù)組越界的說法正確的是?()

A.編譯時會報錯

B.運行時一定會崩潰

C.可能導(dǎo)致程序錯誤

D.無影響

【答案】:答案解析:數(shù)組越界屬于未定義行為,編譯時不報錯,運行時可能正常或崩潰,故選C。46、以下函數(shù)定義中,參數(shù)為指針的是?(

溫馨提示

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

評論

0/150

提交評論