版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
裝訂線裝訂線PAGE2第1頁(yè),共3頁(yè)天津城市建設(shè)管理職業(yè)技術(shù)學(xué)院《C語(yǔ)言程序課程設(shè)計(jì)》
2023-2024學(xué)年第一學(xué)期期末試卷院(系)_______班級(jí)_______學(xué)號(hào)_______姓名_______題號(hào)一二三四總分得分一、單選題(本大題共35個(gè)小題,每小題1分,共35分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、若有定義:chars[10],*p=s;,以下輸入語(yǔ)句中正確的是()A.scanf("%s",s);B.scanf("%s",p);C.scanf("%c",s);D.scanf("%c",p);2、在C語(yǔ)言中,關(guān)于宏定義的使用,有如下代碼:
#defineSQUARE(x)(x*x)
,若有表達(dá)式
SQUARE(2+3)
,其計(jì)算結(jié)果是多少?()A.25B.11C.10D.不確定3、在C語(yǔ)言中,宏定義和函數(shù)調(diào)用有一些區(qū)別。假設(shè)定義了宏
#defineSQUARE(x)((x)*(x))
和函數(shù)
intsquare(intx){returnx*x;}
,以下關(guān)于它們的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.宏定義在編譯時(shí)進(jìn)行替換,函數(shù)調(diào)用在運(yùn)行時(shí)執(zhí)行B.宏定義不進(jìn)行類(lèi)型檢查,函數(shù)調(diào)用會(huì)進(jìn)行類(lèi)型檢查C.宏定義的參數(shù)沒(méi)有副作用,函數(shù)調(diào)用的參數(shù)可能有副作用D.對(duì)于頻繁調(diào)用且代碼簡(jiǎn)短的操作,宏定義可能比函數(shù)調(diào)用更高效4、C語(yǔ)言中的動(dòng)態(tài)內(nèi)存分配函數(shù)
malloc
和
free
用于在運(yùn)行時(shí)分配和釋放內(nèi)存。假設(shè)有以下代碼片段:
int*ptr=(int*)malloc(sizeof(int)*5);
,以下關(guān)于這段代碼的描述,正確的是:()A.如果內(nèi)存分配成功,
ptr
將指向一段連續(xù)的、可存儲(chǔ)5個(gè)整數(shù)的內(nèi)存空間B.分配的內(nèi)存會(huì)自動(dòng)初始化為0C.即使內(nèi)存分配失敗,
ptr
也不會(huì)為
NULL
,需要通過(guò)其他方式判斷分配是否成功D.使用完分配的內(nèi)存后,不需要使用
free(ptr)
釋放,操作系統(tǒng)會(huì)自動(dòng)回收5、C語(yǔ)言中的結(jié)構(gòu)體用于將不同類(lèi)型的數(shù)據(jù)組合在一起。假設(shè)定義了一個(gè)結(jié)構(gòu)體
structStudent{charname[50];intage;floatscore;};
以下關(guān)于結(jié)構(gòu)體的描述,哪一項(xiàng)是不正確的?()A.可以定義結(jié)構(gòu)體變量,并通過(guò)成員訪問(wèn)運(yùn)算符
.
或
->
訪問(wèn)其成員B.結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù)進(jìn)行傳遞C.結(jié)構(gòu)體內(nèi)部的成員存儲(chǔ)順序和定義順序無(wú)關(guān)D.可以定義結(jié)構(gòu)體數(shù)組來(lái)存儲(chǔ)多個(gè)結(jié)構(gòu)體類(lèi)型的數(shù)據(jù)6、C語(yǔ)言中的內(nèi)存對(duì)齊是為了提高內(nèi)存訪問(wèn)效率。假設(shè)有以下結(jié)構(gòu)體定義:
structexample{charc;inti;};
,以下關(guān)于結(jié)構(gòu)體
example
大小的描述,正確的是:()A.結(jié)構(gòu)體的大小為5字節(jié),因?yàn)?/p>
char
占1字節(jié),
int
占4字節(jié)B.結(jié)構(gòu)體的大小為8字節(jié),由于內(nèi)存對(duì)齊的原因C.結(jié)構(gòu)體的大小取決于編譯器,不同編譯器可能有不同的結(jié)果D.結(jié)構(gòu)體的大小一定是成員大小的簡(jiǎn)單相加7、C語(yǔ)言中,若有以下代碼段
uniondata{inti;floatf;};uniondatad;
,以下描述正確的是:()A.聯(lián)合體
data
的大小是其成員大小的總和B.可以同時(shí)給聯(lián)合體的多個(gè)成員賦值C.在同一時(shí)刻,聯(lián)合體中只有一個(gè)成員的值是有效的D.聯(lián)合體成員的訪問(wèn)方式與結(jié)構(gòu)體相同8、C語(yǔ)言中的指針數(shù)組是指針的一種特殊用法。假設(shè)有以下定義:
int*ptrArr[3];
,以下關(guān)于指針數(shù)組的描述,正確的是:()A.這是一個(gè)可以存儲(chǔ)3個(gè)整數(shù)的數(shù)組B.這是一個(gè)可以存儲(chǔ)3個(gè)指針的數(shù)組,每個(gè)指針指向一個(gè)整數(shù)C.這是一個(gè)錯(cuò)誤的定義,C語(yǔ)言中不允許這樣定義指針數(shù)組D.這是一個(gè)指針,指向一個(gè)包含3個(gè)整數(shù)的數(shù)組9、C語(yǔ)言中的函數(shù)遞歸是一種強(qiáng)大的編程技術(shù)。假設(shè)要使用遞歸計(jì)算階乘,以下關(guān)于遞歸函數(shù)的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.遞歸函數(shù)在函數(shù)內(nèi)部調(diào)用自身來(lái)解決問(wèn)題B.遞歸函數(shù)必須有一個(gè)終止條件,否則會(huì)導(dǎo)致無(wú)限遞歸C.遞歸函數(shù)的執(zhí)行效率通常比非遞歸函數(shù)高D.對(duì)于一些復(fù)雜問(wèn)題,遞歸可以使代碼更簡(jiǎn)潔和易于理解10、在C語(yǔ)言中,關(guān)于動(dòng)態(tài)內(nèi)存分配的錯(cuò)誤處理,假設(shè)使用
malloc
分配內(nèi)存,以下關(guān)于錯(cuò)誤處理的描述,哪一項(xiàng)是不正確的?()A.分配內(nèi)存失敗時(shí),
malloc
返回
NULL
,可以通過(guò)判斷是否為
NULL
來(lái)進(jìn)行錯(cuò)誤處理B.忽略對(duì)
malloc
返回值的檢查,可能導(dǎo)致程序崩潰C.即使內(nèi)存分配成功,也可能因?yàn)楹罄m(xù)的操作導(dǎo)致內(nèi)存訪問(wèn)錯(cuò)誤D.一旦內(nèi)存分配成功,就無(wú)需再擔(dān)心內(nèi)存相關(guān)的錯(cuò)誤11、若有定義:intx=3,y=2;則表達(dá)式x=(y++)+x的值是()A.5B.6C.7D.812、在C語(yǔ)言中,指針是一個(gè)強(qiáng)大但也容易出錯(cuò)的概念。假設(shè)我們有以下代碼段:
inta=5;int*p=&a;
,然后執(zhí)行
*p=10;
。那么此時(shí)變量
a
的值會(huì)發(fā)生什么變化?()A.保持不變,仍為5B.變?yōu)?0C.變?yōu)殡S機(jī)值D.程序會(huì)出錯(cuò)13、假設(shè)在C語(yǔ)言中有以下結(jié)構(gòu)體定義
structstudent{intid;charname[20];floatscore;};
,以下關(guān)于結(jié)構(gòu)體的描述,正確的是:()A.可以直接將一個(gè)結(jié)構(gòu)體變量賦值給另一個(gè)結(jié)構(gòu)體變量B.結(jié)構(gòu)體成員的訪問(wèn)可以使用
struct.student.id
的形式C.結(jié)構(gòu)體數(shù)組中的元素不能通過(guò)指針進(jìn)行訪問(wèn)D.結(jié)構(gòu)體變量所占的內(nèi)存空間是其各成員所占空間之和14、C語(yǔ)言中的函數(shù)可以遞歸調(diào)用自身。假設(shè)有以下遞歸函數(shù)定義:
intfactorial(intn){if(n==0||n==1)return1;elsereturnn*factorial(n-1);}
,調(diào)用
factorial(5)
,以下關(guān)于函數(shù)返回值的描述,正確的是:()A.5B.15C.120D.程序會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤,因?yàn)檫f歸次數(shù)過(guò)多15、若有定義:charstr[20]="HelloWorld";,則strlen(str)的值為()A.11B.12C.19D.2016、若有定義:inta[10];,則以下對(duì)數(shù)組元素的正確引用是()A.a[10]B.a(5)C.a[3+5]D.a[10-10]17、在C語(yǔ)言中,關(guān)于循環(huán)結(jié)構(gòu)的使用是基本的編程技能。假設(shè)有以下代碼:
inti,sum=0;for(i=1;i<=10;i++){sum+=i;}
,以下關(guān)于這段循環(huán)的描述,正確的是:()A.循環(huán)執(zhí)行10次,
sum
的最終值為55B.循環(huán)執(zhí)行11次,
sum
的最終值為66C.循環(huán)執(zhí)行次數(shù)不確定,取決于運(yùn)行時(shí)的條件D.循環(huán)會(huì)無(wú)限執(zhí)行,因?yàn)闆](méi)有正確的結(jié)束條件18、在C語(yǔ)言的存儲(chǔ)類(lèi)別中,以下關(guān)于register變量的描述,不正確的是()A.register變量通常用于存儲(chǔ)頻繁使用的變量,以提高訪問(wèn)速度B.register變量的數(shù)量是有限制的,具體數(shù)量由編譯器決定C.可以對(duì)register變量取地址D.register變量不一定真的被存儲(chǔ)在寄存器中,取決于編譯器的優(yōu)化19、設(shè)有定義:intx=10,y=20;,以下能正確交換x和y值的程序段是()A.intt;t=x;x=y;y=t;B.x=y;y=x;C.x+=y;y=x-y;x-=y;D.以上都正確20、在C語(yǔ)言中,關(guān)于指針的概念和使用是一個(gè)重要且復(fù)雜的部分。假設(shè)我們有以下代碼段:
inta=5;int*p=&a;
。以下關(guān)于指針
p
的描述,正確的是:()A.
*p
的值為5,
p
存儲(chǔ)的是變量
a
的值B.
*p
的值為變量
a
的地址,
p
存儲(chǔ)的是5C.
*p
的值為5,
p
存儲(chǔ)的是變量
a
的地址D.
*p
的值為變量
a
的地址,
p
存儲(chǔ)的也是變量
a
的地址21、C語(yǔ)言中的類(lèi)型轉(zhuǎn)換有隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。假設(shè)定義了
intnum=5;floatfnum=3.14;
,以下關(guān)于類(lèi)型轉(zhuǎn)換的描述,哪一項(xiàng)是錯(cuò)誤的?()A.進(jìn)行算術(shù)運(yùn)算時(shí),不同類(lèi)型的變量會(huì)進(jìn)行隱式類(lèi)型轉(zhuǎn)換B.顯式類(lèi)型轉(zhuǎn)換使用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符,可能導(dǎo)致數(shù)據(jù)精度丟失C.隱式類(lèi)型轉(zhuǎn)換總是安全的,不會(huì)導(dǎo)致數(shù)據(jù)錯(cuò)誤D.盡量避免不必要的類(lèi)型轉(zhuǎn)換,以防止?jié)撛诘腻e(cuò)誤22、若有定義:charstr[]="hello";則sizeof(str)的值是()A.5B.6C.10D.不確定23、C語(yǔ)言中,對(duì)于以下代碼:
typedefstruct{intx;inty;}point;
,以下說(shuō)法正確的是?()A.創(chuàng)建了一個(gè)名為
point
的變量B.定義了一個(gè)新的數(shù)據(jù)類(lèi)型
point
C.以上都不對(duì)D.聲明了一個(gè)結(jié)構(gòu)體指針
point
24、若有定義:chars[10]="China";要將字符串"World"連接到字符串s后面,正確的語(yǔ)句是()A.strcat(s,"World");B.strcpy(s,"World");C.s=strcat(s,"World");D.s=strcpy(s,"World");25、C語(yǔ)言中的字符數(shù)組和字符串常量有一定的區(qū)別。假設(shè)我們有
charstr1[]="Hello";
和
char*str2="World";
,以下關(guān)于它們的存儲(chǔ)方式和修改權(quán)限的描述,哪一個(gè)是正確的?()A.
str1
存儲(chǔ)在棧上,可以修改其內(nèi)容;
str2
存儲(chǔ)在常量區(qū),不能修改其內(nèi)容B.
str1
存儲(chǔ)在常量區(qū),不能修改其內(nèi)容;
str2
存儲(chǔ)在棧上,可以修改其內(nèi)容C.兩者都存儲(chǔ)在棧上,可以修改其內(nèi)容D.兩者都存儲(chǔ)在常量區(qū),不能修改其內(nèi)容26、若有定義:inta[3][2]={{1},{2},{3}};則a[1][0]的值為()A.0B.1C.2D.327、對(duì)于C語(yǔ)言中的宏定義,假設(shè)有
#defineSQUARE(x)x*x
,然后在代碼中使用
intresult=SQUARE(2+3);
,
result
的值會(huì)是多少?()A.25B.11C.10D.不確定28、C語(yǔ)言中的條件編譯指令(如
#ifdef
、
#ifndef
)可以根據(jù)條件決定代碼的編譯。假設(shè)有
#defineDEBUG
,然后在代碼中有
#ifdefDEBUGprintf("Debuggingmode\n");#endif
,會(huì)輸出什么?()A.輸出"Debuggingmode"B.不輸出任何內(nèi)容C.編譯錯(cuò)誤D.不確定29、C語(yǔ)言中,若有函數(shù)定義
intfunc(inta,intb){returna+b;}
,以下關(guān)于函數(shù)調(diào)用的描述,正確的是:()A.調(diào)用該函數(shù)時(shí),實(shí)參和形參的類(lèi)型必須完全一致B.函數(shù)的返回值可以不被接收C.可以通過(guò)
func(a=1,b=2);
的方式進(jìn)行調(diào)用D.函數(shù)調(diào)用時(shí),參數(shù)傳遞都是值傳遞30、在C語(yǔ)言的內(nèi)存管理中,以下關(guān)于動(dòng)態(tài)內(nèi)存分配的描述,不正確的是()A.使用malloc函數(shù)分配的內(nèi)存空間,如果不再使用,需要使用free函數(shù)釋放,否則會(huì)造成內(nèi)存泄漏B.calloc函數(shù)與malloc函數(shù)的功能相同,只是在分配內(nèi)存時(shí)會(huì)將內(nèi)存初始化為0C.realloc函數(shù)可以用于調(diào)整已分配內(nèi)存的大小,但可能會(huì)導(dǎo)致數(shù)據(jù)丟失D.動(dòng)態(tài)分配的內(nèi)存位于代碼段,其生命周期與程序的運(yùn)行周期相同31、在C語(yǔ)言中,關(guān)于指針的使用,假設(shè)我們有一個(gè)整數(shù)變量
intnum=5;
,同時(shí)定義了一個(gè)指針
int*ptr=#
。以下關(guān)于指針操作的描述,哪一項(xiàng)是不正確的?()A.通過(guò)
*ptr
可以訪問(wèn)
num
的值,并對(duì)其進(jìn)行修改B.可以將另一個(gè)整數(shù)變量的地址直接賦給
ptr
,而無(wú)需類(lèi)型匹配C.對(duì)
ptr
進(jìn)行加減運(yùn)算,可以使其指向相鄰的內(nèi)存位置D.指針
ptr
本身也占據(jù)一定的內(nèi)存空間32、若有定義:inta,b,c;,以下選項(xiàng)中能正確將a和b中的值進(jìn)行交換的是()A.a=b;b=a;B.c=a;a=b;b=c;C.a=a+b;b=a-b;a=a-b;D.以上都不對(duì)33、對(duì)于以下C語(yǔ)言代碼段:
intx=10;int*p=&x;intq=&p;
,那么通過(guò)
q
訪問(wèn)
x
的值是多少?()A.10B.不確定C.運(yùn)行時(shí)錯(cuò)誤D.034、若有定義:inta=3,b=2,c=1;,則表達(dá)式a-b>c的值為()A.0B.1C.2D.-135、若有定義:inta=3,b=2,c=1;則表達(dá)式a-b>c的值是()A.0B.1C.2D.3二、判斷題(本大題共10小題,每小題2分,共20分.有多個(gè)選項(xiàng)是符合題目要求的.)1、在C語(yǔ)言中,使用typedef定義新的類(lèi)型名后,新的類(lèi)型名完全等同于原來(lái)的類(lèi)型,包括在內(nèi)存中的存儲(chǔ)方式和操作方式。()2、C語(yǔ)言中的宏定義可以嵌套使用,內(nèi)層的宏定義可以引用外層的宏定義。()3、C語(yǔ)言中的結(jié)構(gòu)體可以嵌套定義,即一個(gè)結(jié)構(gòu)體中可以包含另一個(gè)結(jié)構(gòu)體類(lèi)型的成員變量。()4、
unsignedint
類(lèi)型的變量不能存儲(chǔ)負(fù)數(shù)。()5、在C語(yǔ)言中,使用
strchr
函數(shù)在字符串中查找字符時(shí),如果未找到,函數(shù)返回
NULL
。()6、C語(yǔ)言
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水信息技術(shù)課程設(shè)計(jì)
- 2025年矽鋼硅鋼沖壓項(xiàng)目發(fā)展計(jì)劃
- 研學(xué)航空類(lèi)課課程設(shè)計(jì)
- 種植茄子校本課程設(shè)計(jì)
- 2025年DO自動(dòng)在線監(jiān)測(cè)儀項(xiàng)目合作計(jì)劃書(shū)
- 整流的課程設(shè)計(jì)
- 校本環(huán)境課程設(shè)計(jì)
- 2024年中國(guó)石墨圈市場(chǎng)調(diào)查研究報(bào)告
- 2024至2030年腰部旋轉(zhuǎn)訓(xùn)練器項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年冷凍洋蔥項(xiàng)目可行性研究報(bào)告
- 交易所商業(yè)計(jì)劃書(shū)
- 2024年華電江蘇能源有限公司招聘筆試參考題庫(kù)含答案解析
- 北京環(huán)衛(wèi)集團(tuán)管理制度
- 《婚姻家庭糾紛調(diào)解》課件
- 遠(yuǎn)程銀行行業(yè)背景分析
- 如何提高孩子的注意力和專(zhuān)注力
- 2022-2023學(xué)年海南省??谑兄攸c(diǎn)中學(xué)八年級(jí)(上)期末物理試卷(含解析)
- 2019-2020學(xué)年四川省南充市九年級(jí)(上)期末數(shù)學(xué)試卷
- 膽石癥教案完
- 護(hù)士個(gè)人優(yōu)點(diǎn)和缺點(diǎn)(六篇)
- DIN-EN-ISO-2409-CN國(guó)際標(biāo)準(zhǔn)文檔
評(píng)論
0/150
提交評(píng)論