軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題及答案(各地真題)_第1頁
軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題及答案(各地真題)_第2頁
軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題及答案(各地真題)_第3頁
軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題及答案(各地真題)_第4頁
軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題及答案(各地真題)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件技術(shù)C語言基礎(chǔ)知識練習(xí)題第一部分單選題(50題)1、函數(shù)返回值通過______語句返回?()

A.printf

B.scanf

C.return

D.break

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

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

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

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

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

【答案】:答案解析:數(shù)組可部分賦值(未賦值元素默認(rèn)0),A數(shù)組可不用初始化,B可少于長度,D數(shù)組元素可修改,故選C。3、以下關(guān)于數(shù)組的說法錯誤的是?()

A.數(shù)組元素必須是同一類型

B.數(shù)組長度必須是常量

C.數(shù)組可在函數(shù)內(nèi)定義

D.數(shù)組可整體賦值

【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。4、以下if語句的語法正確的是?()

A.if(x>0){printf("a");elseprintf("b");}

B.if(x>0)printf("a");else{printf("b");}

C.if(x>0)printf("a");elseprintf("b");}

D.if(x>0){printf("a");}elseprintf("b");}

【答案】:答案解析:A缺少},C多},D多},B語法正確(else后{}可加可不加),故選B。5、以下關(guān)于二維數(shù)組的說法正確的是?()

A.二維數(shù)組是數(shù)組的數(shù)組

B.二維數(shù)組元素在內(nèi)存中按列存儲

C.二維數(shù)組長度必須是常量

D.二維數(shù)組不能作為函數(shù)參數(shù)

【答案】:答案解析:二維數(shù)組本質(zhì)是數(shù)組的數(shù)組,內(nèi)存按行存儲,可作為函數(shù)參數(shù),長度需常量,故選A。6、若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。7、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。8、以下哪個是NULL指針?()

A.void*p=0;

B.int*p=NULL;

C.charp=(char)0;

D.以上都正確

【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。9、若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。10、函數(shù)返回值的類型由______決定?()

A.return語句中的表達(dá)式類型

B.函數(shù)定義時的返回類型

C.函數(shù)調(diào)用時的參數(shù)類型

D.編譯器默認(rèn)類型

【答案】:答案解析:函數(shù)返回類型在定義時指定,return表達(dá)式類型需與返回類型匹配(不匹配則強(qiáng)制轉(zhuǎn)換),故選B。11、若inta[5]={10,20,30,40,50};則a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:數(shù)組下標(biāo)從0開始,a[2]是第三個元素30,故選C。12、以下數(shù)組定義中,正確的是?()

A.inta[5];

B.inta[5]={1,2,3,4,5};

C.inta[]={1,2,3,4,5};

D.以上都是

【答案】:答案解析:A、B、C均符合數(shù)組定義規(guī)則,故選D。13、數(shù)組作為函數(shù)參數(shù)時,函數(shù)形參不能是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均可作為數(shù)組形參,故選D。14、以下指針運(yùn)算正確的是?()

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。15、若inti=1,s=0;執(zhí)行while(i<=5){s+=i;i++;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:循環(huán)累加1+2+3+4+5=15,s=15,故選A。16、以下關(guān)于指針的說法正確的是?()

A.野指針是指向無效地址的指針

B.空指針是野指針的一種

C.避免野指針需初始化并及時置空

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識點(diǎn),故選D。17、若inta[5]={1,2,3,4,5},p=a;執(zhí)行p+=2;后p的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:p+=2使p指向a[2],*p=3,故選B。18、以下for循環(huán)中,循環(huán)變量更新表達(dá)式為“i-=2”的是?()

A.for(i=10;i>0;i-=2)

B.for(i=0;i<10;i+=2)

C.for(i=10;i>0;i--)

D.for(i=0;i<10;i=2)

【答案】:答案解析:i-=2等價于i=i-2,A的更新表達(dá)式正確,故選A。19、數(shù)組名的本質(zhì)是?()

A.數(shù)組第一個元素的地址

B.數(shù)組最后一個元素的地址

C.數(shù)組元素的個數(shù)

D.數(shù)組的大小

【答案】:答案解析:數(shù)組名是首元素地址(常量,不可修改),故選A。20、若floatf=5.9;強(qiáng)制轉(zhuǎn)換為整型的表達(dá)式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:強(qiáng)制類型轉(zhuǎn)換格式為(目標(biāo)類型)變量,(int)f結(jié)果為5(取整數(shù)部分),故選B。21、以下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。22、以下指針定義正確的是?()

A.int*p;

B.char*q;

C.float*r;

D.以上都正確

【答案】:答案解析:A指向int,B指向char,C指向float,均符合指針定義語法,故選D。23、以下數(shù)組定義錯誤的是?()

A.inta[0];

B.inta[5];

C.inta[]={1,2,3};

D.inta[5]={1,2,3};

【答案】:答案解析:數(shù)組長度不能為0,編譯報錯,其余正確,故選A。24、若inta=4;執(zhí)行if(a--<4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a--是后置自減,條件判斷時a=4,4<4為假,執(zhí)行else(輸出B),后a變?yōu)?,故選B。25、轉(zhuǎn)義字符\0的作用是?()

A.表示空格

B.表示制表符

C.字符串結(jié)束標(biāo)志

D.換行

【答案】:答案解析:\0ASCII碼為0,是字符串默認(rèn)結(jié)束標(biāo)志,不計入長度,故選C。26、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。27、函數(shù)參數(shù)傳遞中,地址傳遞的特點(diǎn)是?()

A.形參是實參的副本

B.形參修改不影響實參

C.傳遞的是變量地址

D.用于簡單變量傳參

【答案】:答案解析:地址傳遞(指針)傳遞變量地址,形參通過地址修改實參值,值傳遞是副本,故選C。28、do-while循環(huán)的特點(diǎn)是?()

A.先判斷條件,后執(zhí)行循環(huán)體

B.先執(zhí)行循環(huán)體,后判斷條件

C.條件不滿足時也不執(zhí)行循環(huán)體

D.只能執(zhí)行一次

【答案】:答案解析:do-while是“先執(zhí)行后判斷”,至少執(zhí)行一次循環(huán)體,for和while是“先判斷后執(zhí)行”,故選B。29、若inta=5,p=&a;則&p的值是?()

A.5

B.&a

C.p

D.無定義

【答案】:答案解析:*&p等價于p,即指針p自身的值(a的地址),故選C。30、若inti;執(zhí)行for(i=0;i<5;i++)printf("%d",i);輸出結(jié)果是?()

A.01234

B.12345

C.012345

D.無輸出

【答案】:答案解析:for循環(huán)初始化i=0,條件i<5(成立時執(zhí)行),每次循環(huán)后i++,執(zhí)行5次,輸出01234,故選A。31、下列字符串常量定義正確的是?()

A.'abc'

B."abc"

C.abc

D."a""b"

【答案】:答案解析:字符串常量用雙引號包裹,單引號用于字符常量,C是標(biāo)識符,D語法錯誤,故選B。32、以下關(guān)于數(shù)組的說法正確的是?()

A.數(shù)組長度可動態(tài)修改

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

C.數(shù)組在內(nèi)存中連續(xù)存儲

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

【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。33、以下哪個運(yùn)算符的優(yōu)先級最高?()

A.+

B.*

C.=

D.==

【答案】:答案解析:算術(shù)運(yùn)算符中*(乘)優(yōu)先級高于+(加),賦值(=)和關(guān)系(==)優(yōu)先級更低,故選B。34、若inta[3]={1,2,3},p=a;則(p+2)的值是?()

A.1

B.2

C.3

D.無定義

【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故選C。35、數(shù)組在內(nèi)存中的存儲方式是?()

A.隨機(jī)存儲

B.連續(xù)存儲

C.鏈?zhǔn)酱鎯?/p>

D.散列存儲

【答案】:答案解析:數(shù)組元素在內(nèi)存中連續(xù)存放,便于通過下標(biāo)訪問,故選B。36、以下函數(shù)無返回值的是?()

A.intfun(){return0;}

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

C.floatfun(){return3.14;}

D.charfun(){return'b';}

【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。37、若intx=3,y=5;執(zhí)行if(x>y)printf("x大");elseif(x==y)printf("相等");elseprintf("y大");輸出結(jié)果是?()

A.x大

B.相等

C.y大

D.無輸出

【答案】:答案解析:x=3<y=5,執(zhí)行else,輸出y大,故選C。38、函數(shù)調(diào)用的一般格式是?()

A.函數(shù)名(實參列表);

B.函數(shù)名實參列表;

C.返回類型函數(shù)名(實參列表);

D.函數(shù)名=實參列表;

【答案】:答案解析:函數(shù)調(diào)用格式為“函數(shù)名(實參列表);”,實參與形參匹配,故選A。39、若charstr="hello";則str[1]的值是?()

A.'h'

B.'e'

C.'l'

D.'\0'

【答案】:答案解析:str是字符串首地址,str[1]等價于(str+1),值為'e',故選B。40、若inti=0;執(zhí)行for(i=1;i<=5;i++){if(i%3==0)continue;printf("%d",i);}輸出結(jié)果是?()

A.1245

B.12345

C.3

D.無輸出

【答案】:答案解析:i=3時continue,跳過printf,輸出1、2、4、5,故選A。41、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價于a=a-2,4-2=2,故選A。42、若inta[4]={10,20,30,40};則a+1表示?()

A.10的地址

B.20的地址

C.30的地址

D.40的地址

【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故選B。43、若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。44、以下二維數(shù)組定義正確的是?()

A.inta[2][3];

B.inta[2][];

C.inta[][3]={1,2,3,4,5,6};

D.inta[2][3]={1,2,3,4,5,6,7};

【答案】:答案解析:B第二維不能省略,C第一維可省略(自動計算為2),D初始化元素超6個(2×3=6),A標(biāo)準(zhǔn)定義正確,故選A。45、以下函數(shù)調(diào)用時,實參為常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("a

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論