湖南電氣職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷_第1頁
湖南電氣職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷_第2頁
湖南電氣職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷_第3頁
湖南電氣職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷_第4頁
湖南電氣職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

學(xué)校________________班級____________姓名____________考場____________準考證號學(xué)校________________班級____________姓名____________考場____________準考證號…………密…………封…………線…………內(nèi)…………不…………要…………答…………題…………第1頁,共3頁湖南電氣職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計課程設(shè)計》

2023-2024學(xué)年第一學(xué)期期末試卷題號一二三四總分得分一、單選題(本大題共15個小題,每小題1分,共15分.在每小題給出的四個選項中,只有一項是符合題目要求的.)1、在C語言的循環(huán)結(jié)構(gòu)中,對于

for

、

while

do-while

循環(huán),以下描述正確的是:()A.

for

循環(huán)的循環(huán)條件在每次循環(huán)開始時都要判斷B.

while

循環(huán)至少會執(zhí)行一次循環(huán)體C.

do-while

循環(huán)的循環(huán)條件在循環(huán)體執(zhí)行后判斷,所以循環(huán)體至少執(zhí)行一次D.這三種循環(huán)結(jié)構(gòu)不能相互轉(zhuǎn)換2、假設(shè)在C語言中有以下結(jié)構(gòu)體定義

structstudent{intid;charname[20];floatscore;};

,以下關(guān)于結(jié)構(gòu)體的描述,正確的是:()A.可以直接將一個結(jié)構(gòu)體變量賦值給另一個結(jié)構(gòu)體變量B.結(jié)構(gòu)體成員的訪問可以使用

struct.student.id

的形式C.結(jié)構(gòu)體數(shù)組中的元素不能通過指針進行訪問D.結(jié)構(gòu)體變量所占的內(nèi)存空間是其各成員所占空間之和3、C語言中,對于以下代碼:

intnum=5;int*ptr1,*ptr2;ptr1=#ptr2=ptr1;

,如果通過

*ptr2

num

的值修改為10,那么

*ptr1

的值會變成多少?()A.5B.10C.不確定D.程序會出錯4、在C語言中,關(guān)于結(jié)構(gòu)體的嵌套使用,假設(shè)有以下定義:

structPoint{intx;inty;};structRectangle{structPointtopLeft;structPointbottomRight;};

,以下關(guān)于訪問結(jié)構(gòu)體

Rectangle

成員的方式,正確的是:()A.

rectangle.topLeft.x

B.

rectangle->topLeft->x

C.

(*rectangle).topLeft.x

D.以上都不正確5、若有定義:inta[5]={1,2,3,4,5},*p=a;則以下不能表示數(shù)組元素a[3]的是()A.p[3]B.*(p+3)C.*(a+3)D.a+36、在C語言中,關(guān)于指針的使用,假設(shè)我們有一個整數(shù)變量

intnum=5;

,同時定義了一個指針

int*ptr=#

。以下關(guān)于指針操作的描述,哪一項是不正確的?()A.通過

*ptr

可以訪問

num

的值,并對其進行修改B.可以將另一個整數(shù)變量的地址直接賦給

ptr

,而無需類型匹配C.對

ptr

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

ptr

本身也占據(jù)一定的內(nèi)存空間7、設(shè)有定義:intx=10,y=20,z=30;以下語句執(zhí)行后,x、y、z的值是()if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=208、在C語言的預(yù)處理器指令中,

#define

用于定義常量和宏。假設(shè)定義了

#definePI3.14

#defineSQUARE(x)(x*x)

,以下關(guān)于預(yù)處理器指令的描述,哪一項是不正確的?()A.在程序中使用

PI

就相當于使用3.14B.宏

SQUARE(x)

在展開時會進行參數(shù)的替換和表達式的計算C.預(yù)處理器指令在編譯前進行處理,會改變源代碼的結(jié)構(gòu)D.宏定義中的參數(shù)不需要指定數(shù)據(jù)類型9、若有定義:floatx=1.5;inty;,則以下表達式的值為1的是()A.(int)xB.(int)(x+y)C.(int)x+yD.x+(int)y10、C語言中的文件操作是重要的知識點。假設(shè)要以只讀方式打開一個文本文件

data.txt

,以下哪個函數(shù)調(diào)用是正確的?()A.

FILE*fp=fopen("data.txt","r");

B.

FILE*fp=fopen("data.txt","w");

C.

FILE*fp=fopen("data.txt","a");

D.

FILE*fp=fopen("data.txt","rb");

11、若有定義:floatx=3.5;intz=8;,則表達式x+z%3的值為()A.4.5B.5.5C.6.5D.7.512、在C語言中,若有定義

typedefintINT;

,以下正確使用新類型的是()A.

INTa=10;

B.

inta=10;

C.

typedefa=10;

D.

INT=10;

13、在C語言的函數(shù)參數(shù)傳遞中,對于數(shù)組作為參數(shù)的情況,實際上傳遞的是什么?()A.數(shù)組的全部元素B.數(shù)組的第一個元素的地址C.數(shù)組的大小D.以上都不對14、假設(shè)在C語言中有以下代碼段

structpoint{intx;inty;}p1,p2;

,以下關(guān)于結(jié)構(gòu)體變量賦值的描述,正確的是:()A.可以使用

p1=p2;

直接將

p2

的值賦給

p1

B.結(jié)構(gòu)體變量之間不能相互賦值C.只能逐個成員進行賦值,不能整體賦值D.賦值時會自動進行類型轉(zhuǎn)換15、C語言中的聯(lián)合(

union

)是一種特殊的數(shù)據(jù)類型。假設(shè)我們有

unionData{intnum;floatfnum;};

,并且創(chuàng)建了一個

unionData

類型的變量,以下關(guān)于這個聯(lián)合變量的使用,哪一個是正確的?()A.可以同時存儲

int

float

類型的值B.在同一時間只能存儲

int

float

類型的值C.可以存儲多個不同類型的值D.以上都不對二、判斷題(本大題共15小題,每小題2分,共30分.有多個選項是符合題目要求的.)1、在C語言中,使用動態(tài)內(nèi)存分配后,必須使用

free

函數(shù)釋放內(nèi)存,否則會導(dǎo)致內(nèi)存泄漏。()2、在C語言中,使用位運算符可以對無符號整數(shù)進行操作,也可以對有符號整數(shù)進行操作。()3、C語言中的聯(lián)合體(union)的大小是其最大成員所需要的存儲空間大小。()4、在C語言中,使用#include指令包含頭文件時,文件名必須用雙引號或尖括號括起來。()5、在C語言中,函數(shù)的默認返回值類型是

void

。()6、在C語言中,使用static關(guān)鍵字聲明的函數(shù)只能在當前文件中被調(diào)用。()7、C語言中的字符串比較函數(shù)strcmp()區(qū)分大小寫,而strcasecmp()不區(qū)分大小寫。()8、在C語言中,使用文件操作函數(shù)fopen()打開文件時,可以指定文件的訪問模式。()9、若有

charstr[20]="Hello";char*ptr=str;

,執(zhí)行

ptr+=2;

后,

*ptr

的值為

'l'

。()10、在C語言中,使用memset函數(shù)可以將一段內(nèi)存區(qū)域設(shè)置為指定的值。()11、C語言中的

#pragma

指令用于向編譯器提供特定的指令或選項。()12、在C語言中,定義一個指針變量

int*ptr

后,如果沒有為其進行初始化或者賦值,就對其進行解引用操作,如

*ptr=5;

,會導(dǎo)致未定義的行為,可能引起程序崩潰。()13、在C語言中,

do-while

循環(huán)至少會執(zhí)行一次循環(huán)體。()14、C語言中,定義一個共用體

unionData{intnum;floatfnum;};

,給其中一個成員賦值后,再讀取另一個成員的值,結(jié)果是未定義的。()15、在C語言中,使用strlwr函數(shù)可以將字符串轉(zhuǎn)換為小寫形式。()三、編程題(本大題共5個小題,共25分)1、(本題5分)寫一個C語言程序,實現(xiàn)快速排序算法,對輸入的一組整數(shù)進行排序并輸出排序后的數(shù)組。2、(本題5分)編寫一個C語言程序,實現(xiàn)一個隊列結(jié)構(gòu),包括入隊、出隊和查看隊列長度的功能。3、(本題5分)編寫一個C語言程序,輸入一個整數(shù)數(shù)組,找出其中所有元素值等于其前面所有元素之和的元素并輸出。4、(本題5分)創(chuàng)建一個C程序,輸入一個字符串,找出其中最長的不包含重復(fù)字符的子串,并輸出。5、(本題5分)編寫一個C語言程序,實現(xià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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論