麗水學(xué)院《程序設(shè)計基礎(chǔ)(c語言)》2021-2022學(xué)年第一學(xué)期期末試卷_第1頁
麗水學(xué)院《程序設(shè)計基礎(chǔ)(c語言)》2021-2022學(xué)年第一學(xué)期期末試卷_第2頁
麗水學(xué)院《程序設(shè)計基礎(chǔ)(c語言)》2021-2022學(xué)年第一學(xué)期期末試卷_第3頁
麗水學(xué)院《程序設(shè)計基礎(chǔ)(c語言)》2021-2022學(xué)年第一學(xué)期期末試卷_第4頁
麗水學(xué)院《程序設(shè)計基礎(chǔ)(c語言)》2021-2022學(xué)年第一學(xué)期期末試卷_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

自覺遵守考場紀(jì)律如考試作弊此答卷無效密自覺遵守考場紀(jì)律如考試作弊此答卷無效密封線第2頁,共2頁麗水學(xué)院

《程序設(shè)計基礎(chǔ)(c語言)》2021-2022學(xué)年第一學(xué)期期末試卷院(系)_______班級_______學(xué)號_______姓名_______題號一二三四總分得分一、單選題(本大題共15個小題,每小題1分,共15分.在每小題給出的四個選項中,只有一項是符合題目要求的.)1、在C語言中,關(guān)于數(shù)組名作為函數(shù)參數(shù)的傳遞,假設(shè)定義了函數(shù)

voidmodifyArray(intarr[],intsize)

,以下關(guān)于數(shù)組參數(shù)傳遞的描述,哪一項是不準(zhǔn)確的?()A.數(shù)組名作為參數(shù)傳遞時,實(shí)際上傳遞的是數(shù)組的首地址B.在函數(shù)內(nèi)部修改數(shù)組元素的值,會影響到調(diào)用函數(shù)中的數(shù)組C.函數(shù)無法通過參數(shù)獲取數(shù)組的實(shí)際大小,需要額外傳遞數(shù)組大小的參數(shù)D.數(shù)組名作為參數(shù)傳遞時,會復(fù)制整個數(shù)組到函數(shù)內(nèi)部2、在C語言中,若要判斷一個字符是否為大寫字母,以下哪個函數(shù)是合適的?()A.islower()B.isupper()C.tolower()D.toupper()3、以下C語言代碼段的輸出結(jié)果是什么?floatf=3.14;printf("%d",f);()A.3B.3.14C.程序報錯D.隨機(jī)值4、若有定義:chars[10],*p=s;,以下輸入語句中正確的是()A.scanf("%s",s);B.scanf("%s",p);C.scanf("%c",s);D.scanf("%c",p);5、設(shè)有以下C語言代碼:

charstr1[]="Hello";charstr2[]="Hello";

,使用

strcmp

函數(shù)比較這兩個字符串,返回值是什么?()A.0B.1C.-1D.不確定6、C語言中,關(guān)于預(yù)處理指令

#pragma

,以下描述正確的是:()A.

#pragma

指令是標(biāo)準(zhǔn)的C語言預(yù)處理指令,所有編譯器都支持相同的功能B.它主要用于為編譯器提供特定的指令或選項C.

#pragma

指令的作用范圍是整個程序D.不同的編譯器對

#pragma

指令的支持和解釋完全相同7、若有定義:inta[10];,則以下對數(shù)組元素的正確引用是()A.a[10]B.a(5)C.a[3+5]D.a[10-10]8、在C語言的鏈表操作中,假設(shè)我們有一個簡單的單向鏈表,每個節(jié)點(diǎn)包含一個整數(shù)數(shù)據(jù)和一個指向下一個節(jié)點(diǎn)的指針。當(dāng)要刪除鏈表中的一個節(jié)點(diǎn)時,需要注意哪些問題?()A.只需要修改要刪除節(jié)點(diǎn)的指針B.要修改前一個節(jié)點(diǎn)的指針指向刪除節(jié)點(diǎn)的下一個節(jié)點(diǎn)C.不需要做任何操作,系統(tǒng)會自動處理D.以上都不對9、在C語言中,關(guān)于字符串的處理是常見的操作。假設(shè)有以下代碼:

charstr1[]="Hello";char*str2="World";

,以下關(guān)于這兩個字符串的描述,正確的是:()A.

str1

str2

在內(nèi)存中的存儲方式相同,都可以通過指針進(jìn)行修改B.

str1

是字符數(shù)組,可以修改其元素的值;

str2

是字符串常量,不能修改其內(nèi)容C.數(shù)組

str1

的長度是5,字符串

str2

的長度是5D.可以使用

strcpy(str1,str2);

str2

的內(nèi)容復(fù)制到

str1

,而無需考慮

str1

的空間是否足夠10、在C語言的指針函數(shù)中,以下關(guān)于返回指針的函數(shù)的描述,不正確的是()A.返回指針的函數(shù)可以返回靜態(tài)分配的內(nèi)存地址,也可以返回動態(tài)分配的內(nèi)存地址B.如果返回的是動態(tài)分配的內(nèi)存地址,調(diào)用者需要使用free函數(shù)釋放C.返回的指針不能指向函數(shù)內(nèi)部的局部變量,因?yàn)楹瘮?shù)結(jié)束后局部變量的存儲空間會被釋放D.返回指針的函數(shù)一定比返回值的函數(shù)效率高11、在C語言中,關(guān)于數(shù)組和指針的關(guān)系,有以下代碼:

intarr[5]={1,2,3,4,5};int*ptr=arr;

,那么

ptr+2

所指向的元素值是多少?()A.2B.3C.4D.不確定12、若有定義:charc='A';,則以下表達(dá)式的值為66的是()A.c+1B.c++C.++cD.'B'13、在C語言中,關(guān)于靜態(tài)變量,設(shè)有函數(shù)

voidfun(){staticintcount=0;count++;printf("%d",count);}

,連續(xù)調(diào)用該函數(shù)3次,輸出結(jié)果是什么?()A.123B.012C.111D.00014、在C語言中,指針是一個強(qiáng)大但也容易出錯的概念。假設(shè)我們有以下代碼段:

inta=5;int*p=&a;

,然后執(zhí)行

*p=10;

。那么此時變量

a

的值會發(fā)生什么變化?()A.保持不變,仍為5B.變?yōu)?0C.變?yōu)殡S機(jī)值D.程序會出錯15、在C語言中,設(shè)有以下宏定義

#defineMAX(a,b)((a)>(b)?(a):(b))

,那么

MAX(3+2,5)

的值是多少?()A.5B.6C.8D.不確定二、判斷題(本大題共10小題,每小題2分,共20分.有多個選項是符合題目要求的.)1、在C語言中,動態(tài)分配的內(nèi)存空間在程序結(jié)束時會自動釋放。()2、在C語言中,

goto

語句可以無條件地跳轉(zhuǎn)到程序中的任何位置,但過度使用

goto

語句會使程序的結(jié)構(gòu)變得混亂,可讀性降低。()3、在C語言中,指針變量可以進(jìn)行關(guān)系運(yùn)算,比較它們所指向的地址的大小。()4、C語言中的字符串比較函數(shù)strcmp()區(qū)分大小寫,而strcasecmp()不區(qū)分大小寫。()5、C語言中,靜態(tài)局部變量在每次函數(shù)調(diào)用時都會重新初始化。()6、C語言中的文件指針可以在不同的文件操作函數(shù)中共享使用。()7、在C語言中,定義了一個字符指針

char*ptr=NULL;

,然后對其進(jìn)行解引用

*ptr='A';

是合法的操作。()8、C語言中的類型轉(zhuǎn)換可以分為隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換,隱式類型轉(zhuǎn)換由編譯器自動完成,而顯式類型轉(zhuǎn)換需要使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符進(jìn)行。()9、對于一個二維數(shù)組

intmatrix[3][4]

,可以使用兩個嵌套的

for

循環(huán)來遍歷并處理數(shù)組中的每一個元素。()10、

charstr1[]="Hello";charstr2[]="Hello";

,使用

strcmp(str1,str2)

比較這兩個字符串,返回值一定是0。()三、論述題(本大題共5個小題,共25分)1、(本題5分)假設(shè)開發(fā)一個C語言程序,實(shí)現(xiàn)一個雙向鏈表的插入操作。論述雙向鏈表的特點(diǎn)和插入過程。2、(本題5分)論述C語言中如何使用位運(yùn)算實(shí)現(xiàn)數(shù)據(jù)的快速排序優(yōu)化。3、(本題5分)探討C語言中如何利用指針和結(jié)構(gòu)體實(shí)現(xiàn)字典數(shù)據(jù)結(jié)構(gòu)。4、(本題5分)詳細(xì)分析C語言中如何處理字符串的搜索算法優(yōu)化,如Boyer-Moore算法。5、(本題5分)探討C語言中如何使用共用體處理不同類型的數(shù)據(jù)在同一內(nèi)存空間的存儲。四、編程題(本大題共4個小題,共40分)1、(本題10分)編寫一個C語言程序,實(shí)現(xiàn)將用戶輸入的一個字符串中的所有小寫字母轉(zhuǎn)換為大寫字

溫馨提示

  • 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

提交評論