山東理工大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷_第1頁(yè)
山東理工大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷_第2頁(yè)
山東理工大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷_第3頁(yè)
山東理工大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷_第4頁(yè)
山東理工大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

裝訂線裝訂線PAGE2第1頁(yè),共5頁(yè)山東理工大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》

2023-2024學(xué)年第二學(xué)期期末試卷院(系)_______班級(jí)_______學(xué)號(hào)_______姓名_______題號(hào)一二三四總分得分批閱人一、單選題(本大題共15個(gè)小題,每小題1分,共15分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、關(guān)于C語(yǔ)言中的預(yù)處理器指令,如

#define

,假設(shè)有

#definePI3.14

,然后在代碼中使用

floatarea=PI*r*r;

,這里的

PI

會(huì)被如何處理?()A.在編譯時(shí)被替換為3.14B.在運(yùn)行時(shí)被替換為3.14C.保持不變,作為一個(gè)變量D.導(dǎo)致編譯錯(cuò)誤2、在C語(yǔ)言中,若要定義一個(gè)包含10個(gè)整數(shù)的數(shù)組,以下哪種方式是正確的?()A.intnum[10];B.intnum(10);C.intnum[10]={0};D.intnum[]={1,2,3,4,5,6,7,8,9,10};3、若有定義:floata[3]={1.2,2.3,3.4};則a[1]的值是()A.1.2B.2.3C.3.4D.04、假設(shè)在C語(yǔ)言中有如下代碼段

inta=5;int*p=&a;

,以下關(guān)于指針運(yùn)算的描述,正確的是:()A.

p+1

指向的是下一個(gè)整數(shù)的地址B.對(duì)指針進(jìn)行乘法運(yùn)算(如

p*2

)是合法的C.可以直接將兩個(gè)指針相加(如

p+p

)D.指針的減法運(yùn)算(如

p1-p2

)結(jié)果的單位是字節(jié)5、若有定義:floatx=1.5;inty;,則以下表達(dá)式的值為1的是()A.(int)xB.(int)(x+y)C.(int)x+yD.x+(int)y6、C語(yǔ)言中的位運(yùn)算可以對(duì)二進(jìn)制位進(jìn)行操作,實(shí)現(xiàn)一些特殊的功能。假設(shè)有兩個(gè)整數(shù)

inta=5;intb=3;

,以下對(duì)于位運(yùn)算的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.

a&b

執(zhí)行按位與操作,結(jié)果是1B.

a|b

執(zhí)行按位或操作,結(jié)果是7C.

a^b

執(zhí)行按位異或操作,結(jié)果是6D.

~a

執(zhí)行按位取反操作,結(jié)果是-6,并且取反后的數(shù)在所有位上的值都與原數(shù)相反7、在以下C語(yǔ)言代碼中:

intarr[]={5,3,1,7,2};int*p=arr;

,執(zhí)行

qsort(arr,sizeof(arr)/sizeof(arr[0]),sizeof(int),compare);

(假設(shè)

compare

函數(shù)已正確定義),排序完成后,

*p

的值是多少?()A.1B.2C.3D.58、C語(yǔ)言中的文件讀寫操作可以處理不同類型的數(shù)據(jù)。假設(shè)要從一個(gè)二進(jìn)制文件中讀取一個(gè)整數(shù),以下哪個(gè)函數(shù)是合適的?()A.

fscanf

B.

fprintf

C.

fread

D.

fwrite

9、在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ú)需類型匹配C.對(duì)

ptr

進(jìn)行加減運(yùn)算,可以使其指向相鄰的內(nèi)存位置D.指針

ptr

本身也占據(jù)一定的內(nèi)存空間10、若有定義:inta[5]={1,2,3,4,5},*p=a;則以下不能表示數(shù)組a中元素a[3]的是()A.*(p+3)B.p[3]C.*(a+3)D.p+311、假設(shè)有以下C語(yǔ)言代碼段:

charstr[]="Hello,World!";intlen=strlen(str);

,那么

len

的值是多少?()A.12B.13C.14D.不確定12、在C語(yǔ)言中,以下能正確將字符串

s1

復(fù)制到字符串

s2

的是()A.

s2=s1;

B.

strcpy(s2,s1);

C.

s2=strcpy(s1);

D.

strcpy(s1,s2);

13、在C語(yǔ)言的鏈表操作中,假設(shè)我們有一個(gè)簡(jiǎn)單的單向鏈表,每個(gè)節(jié)點(diǎn)包含一個(gè)整數(shù)數(shù)據(jù)和一個(gè)指向下一個(gè)節(jié)點(diǎn)的指針。當(dāng)要?jiǎng)h除鏈表中的一個(gè)節(jié)點(diǎn)時(shí),需要注意哪些問(wèn)題?()A.只需要修改要?jiǎng)h除節(jié)點(diǎn)的指針B.要修改前一個(gè)節(jié)點(diǎn)的指針指向刪除節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)C.不需要做任何操作,系統(tǒng)會(huì)自動(dòng)處理D.以上都不對(duì)14、對(duì)于以下C語(yǔ)言代碼:typedefstruct{intx;inty;}Point;Pointp1={10,20};以下訪問(wèn)p1中x成員的方式正確的是:()A.p1.xB.p1->xC.(*p1).xD.以上都正確15、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)單相加二、判斷題(本大題共15小題,每小題2分,共30分.有多個(gè)選項(xiàng)是符合題目要求的.)1、在C語(yǔ)言中,

fprintf

函數(shù)可以指定輸出的格式,與

printf

函數(shù)的格式控制方式相同。()2、C語(yǔ)言中,一個(gè)源文件中可以有多個(gè)main函數(shù)。()3、C語(yǔ)言中的文件操作中,以“w”模式打開(kāi)文件,如果文件不存在會(huì)創(chuàng)建一個(gè)新文件,如果文件存在則會(huì)清空原有內(nèi)容。()4、C語(yǔ)言中的結(jié)構(gòu)體可以包含結(jié)構(gòu)體指針類型的成員變量。()5、C語(yǔ)言中的布爾類型(bool)是C99標(biāo)準(zhǔn)新增的數(shù)據(jù)類型。()6、C語(yǔ)言中的共用體(union)是一種特殊的數(shù)據(jù)類型,它的所有成員共享同一塊內(nèi)存空間,并且同一時(shí)間只能存儲(chǔ)其中一個(gè)成員的值。()7、在C語(yǔ)言中,

const

修飾的指針可以分為指向常量的指針和指針本身是常量?jī)煞N情況,例如

intconst*ptr

int*constptr

是不同的,需要注意其區(qū)別。()8、C語(yǔ)言中,兩個(gè)指針變量相減得到的是兩個(gè)指針之間的元素個(gè)數(shù)。()9、C語(yǔ)言中的文件可以以二進(jìn)制方式和文本方式進(jìn)行讀寫,對(duì)于文本文件和二進(jìn)制文件,讀寫操作的方式是相同的。()10、C語(yǔ)言中的

ftell

函數(shù)用于獲取文件指針當(dāng)前的位置。()11、在C語(yǔ)言中,

strrchr

函數(shù)用于在字符串中查找指定字符最后一次出現(xiàn)的位置。()12、在C語(yǔ)言中,使用fread函數(shù)從文件讀取數(shù)據(jù)時(shí),可以指定每次讀取的數(shù)據(jù)大小。()13、對(duì)于C語(yǔ)言中的二維數(shù)組,在進(jìn)行初始化時(shí),可以按行進(jìn)行初始化,也可以按列進(jìn)行初始化。()14、C語(yǔ)言中,對(duì)于共用體

unionData{intnum;charstr[10];};

,可以同時(shí)給

num

str

賦值。()15、C語(yǔ)言中的宏定義在編譯時(shí)會(huì)被展開(kāi),不會(huì)進(jìn)行語(yǔ)法檢查。()三、編程題(本大題共5個(gè)小題,共25分)1、(本題5分)創(chuàng)建一個(gè)C程序,輸入一個(gè)字符串,將其中連續(xù)的數(shù)字子串轉(zhuǎn)換為對(duì)應(yīng)的十六進(jìn)制數(shù)并輸出。2、(本題5分)設(shè)計(jì)一個(gè)C程序,創(chuàng)建一個(gè)二叉樹(shù)結(jié)構(gòu)。用戶輸入一系列整數(shù),程序?qū)⑵錁?gòu)建為二叉樹(shù),并進(jìn)行前序、中序和后序遍歷輸出。3、(本題5分)編寫一個(gè)C語(yǔ)言程序,用戶輸入一個(gè)字符串,判斷其中是否存在數(shù)字和字母交替出現(xiàn)的情況,輸出判斷結(jié)果。4、(本題5分)編寫一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)輸入一個(gè)整數(shù)n,打印出一個(gè)n行的直角三角形(使用'')。5、(本題5分)編寫一個(gè)C語(yǔ)言程序,要求用戶輸入一個(gè)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論