2016電大c 語(yǔ)言期末試題及答案_第1頁(yè)
2016電大c 語(yǔ)言期末試題及答案_第2頁(yè)
2016電大c 語(yǔ)言期末試題及答案_第3頁(yè)
2016電大c 語(yǔ)言期末試題及答案_第4頁(yè)
2016電大c 語(yǔ)言期末試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2016電大c語(yǔ)言期末試題及答案姓名:____________________

一、選擇題(每題2分,共20分)

1.下列關(guān)于C語(yǔ)言的說(shuō)法中,正確的是:

A.C語(yǔ)言是一種面向?qū)ο蟮木幊陶Z(yǔ)言

B.C語(yǔ)言是一種高級(jí)語(yǔ)言,但只能用于系統(tǒng)編程

C.C語(yǔ)言是一種高級(jí)語(yǔ)言,可以用于系統(tǒng)編程和應(yīng)用程序開(kāi)發(fā)

D.C語(yǔ)言是一種低級(jí)語(yǔ)言,只能用于編寫(xiě)操作系統(tǒng)

2.以下哪個(gè)是C語(yǔ)言中的合法標(biāo)識(shí)符?

A.2var

B.int

C.-myVar

D.1myVar

3.以下哪個(gè)是C語(yǔ)言中的合法關(guān)鍵字?

A.int

B.1

C.true

D.class

4.以下哪個(gè)是C語(yǔ)言中的合法運(yùn)算符?

A.=

B.==

C.=>

D.:=

5.在C語(yǔ)言中,以下哪個(gè)函數(shù)用于計(jì)算字符串的長(zhǎng)度?

A.strlen()

B.length()

C.size()

D.sizeof()

6.以下哪個(gè)是C語(yǔ)言中的合法數(shù)據(jù)類(lèi)型?

A.char

B.int

C.float

D.all

7.以下哪個(gè)是C語(yǔ)言中的合法控制語(yǔ)句?

A.if

B.for

C.switch

D.all

8.以下哪個(gè)是C語(yǔ)言中的合法函數(shù)?

A.main()

B.print()

C.scanf()

D.all

9.以下哪個(gè)是C語(yǔ)言中的合法函數(shù)參數(shù)傳遞方式?

A.byvalue

B.byreference

C.byaddress

D.all

10.以下哪個(gè)是C語(yǔ)言中的合法數(shù)組初始化方式?

A.intarr[5]={1,2,3,4,5};

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

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

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

二、填空題(每題2分,共20分)

1.C語(yǔ)言中的數(shù)據(jù)類(lèi)型分為基本數(shù)據(jù)類(lèi)型、派生數(shù)據(jù)類(lèi)型和()數(shù)據(jù)類(lèi)型。

2.C語(yǔ)言中的運(yùn)算符分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和()運(yùn)算符。

3.C語(yǔ)言中的控制語(yǔ)句分為條件語(yǔ)句、循環(huán)語(yǔ)句和()語(yǔ)句。

4.C語(yǔ)言中的函數(shù)分為庫(kù)函數(shù)和()函數(shù)。

5.C語(yǔ)言中的數(shù)組分為一維數(shù)組和()數(shù)組。

6.C語(yǔ)言中的指針是()的地址。

7.C語(yǔ)言中的結(jié)構(gòu)體是一種()的數(shù)據(jù)類(lèi)型。

8.C語(yǔ)言中的共用體是一種()的數(shù)據(jù)類(lèi)型。

9.C語(yǔ)言中的枚舉是一種()的數(shù)據(jù)類(lèi)型。

10.C語(yǔ)言中的文件操作函數(shù)包括()和()函數(shù)。

三、編程題(每題20分,共40分)

1.編寫(xiě)一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)以下功能:

-輸入一個(gè)整數(shù)n,計(jì)算并輸出從1到n的所有整數(shù)之和。

2.編寫(xiě)一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)以下功能:

-輸入一個(gè)字符串,計(jì)算并輸出該字符串的長(zhǎng)度。

四、編程題(每題20分,共40分)

1.編寫(xiě)一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)以下功能:

-定義一個(gè)結(jié)構(gòu)體`Student`,包含學(xué)生的姓名(字符串)、年齡(整數(shù))和成績(jī)(浮點(diǎn)數(shù))。

-編寫(xiě)一個(gè)函數(shù)`printStudents`,該函數(shù)接收一個(gè)`Student`數(shù)組和一個(gè)表示數(shù)組大小的整數(shù),遍歷數(shù)組并打印每個(gè)學(xué)生的信息。

-在`main`函數(shù)中,創(chuàng)建一個(gè)`Student`數(shù)組并初始化一些學(xué)生的信息,然后調(diào)用`printStudents`函數(shù)打印這些信息。

```c

#include<stdio.h>

typedefstruct{

charname[50];

intage;

floatscore;

}Student;

voidprintStudents(Studentstudents[],intsize){

for(inti=0;i<size;i++){

printf("Name:%s,Age:%d,Score:%.2f\n",students[i].name,students[i].age,students[i].score);

}

}

intmain(){

Studentstudents[]={

{"Alice",20,85.5},

{"Bob",22,92.0},

{"Charlie",19,78.5}

};

intsize=sizeof(students)/sizeof(students[0]);

printStudents(students,size);

return0;

}

```

2.編寫(xiě)一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)以下功能:

-定義一個(gè)函數(shù)`reverseString`,該函數(shù)接收一個(gè)字符串,將其逆序并返回一個(gè)新的字符串。

-在`main`函數(shù)中,輸入一個(gè)字符串,調(diào)用`reverseString`函數(shù),并打印逆序后的字符串。

```c

#include<stdio.h>

#include<string.h>

char*reverseString(constchar*str){

intlen=strlen(str);

char*reversed=(char*)malloc(len+1);

for(inti=0;i<len;i++){

reversed[i]=str[len-1-i];

}

reversed[len]='\0';

returnreversed;

}

intmain(){

charstr[100];

printf("Enterastring:");

fgets(str,sizeof(str),stdin);

str[strcspn(str,"\n")]=0;//Removenewlinecharacterifpresent

char*reversed=reverseString(str);

printf("Reversedstring:%s\n",reversed);

free(reversed);//Freetheallocatedmemory

return0;

}

```

五、簡(jiǎn)答題(每題10分,共30分)

1.簡(jiǎn)述C語(yǔ)言中指針的作用及其與普通變量的區(qū)別。

2.解釋C語(yǔ)言中函數(shù)參數(shù)傳遞的兩種方式,并說(shuō)明它們的優(yōu)缺點(diǎn)。

3.簡(jiǎn)述C語(yǔ)言中結(jié)構(gòu)體和共用體的區(qū)別。

六、綜合應(yīng)用題(30分)

編寫(xiě)一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)以下功能:

-定義一個(gè)結(jié)構(gòu)體`Rectangle`,包含矩形的長(zhǎng)和寬。

-編寫(xiě)一個(gè)函數(shù)`calculateArea`,該函數(shù)接收一個(gè)`Rectangle`結(jié)構(gòu)體指針,計(jì)算并返回矩形的面積。

-在`main`函數(shù)中,創(chuàng)建一個(gè)`Rectangle`結(jié)構(gòu)體實(shí)例,設(shè)置長(zhǎng)和寬的值,調(diào)用`calculateArea`函數(shù)計(jì)算面積,并打印結(jié)果。

```c

#include<stdio.h>

typedefstruct{

floatlength;

floatwidth;

}Rectangle;

floatcalculateArea(Rectangle*rect){

returnrect->length*rect->width;

}

intmain(){

Rectanglerect={5.0,3.0};

floatarea=calculateArea(&rect);

printf("Theareaoftherectangleis:%.2f\n",area);

return0;

}

```

試卷答案如下:

一、選擇題答案及解析:

1.C.C語(yǔ)言是一種高級(jí)語(yǔ)言,可以用于系統(tǒng)編程和應(yīng)用程序開(kāi)發(fā)。

解析:C語(yǔ)言是一種廣泛使用的高級(jí)語(yǔ)言,它既可以用于系統(tǒng)編程,也可以用于應(yīng)用程序開(kāi)發(fā)。

2.A.2var

解析:C語(yǔ)言中的標(biāo)識(shí)符可以由字母、數(shù)字和下劃線組成,但數(shù)字不能作為標(biāo)識(shí)符的開(kāi)頭。

3.A.int

解析:`int`是C語(yǔ)言中的關(guān)鍵字,用于聲明整型變量。

4.B.==

解析:`==`是C語(yǔ)言中的相等運(yùn)算符,用于比較兩個(gè)值是否相等。

5.A.strlen()

解析:`strlen()`是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù),用于計(jì)算字符串的長(zhǎng)度。

6.A.char

解析:`char`是C語(yǔ)言中的基本數(shù)據(jù)類(lèi)型,用于存儲(chǔ)單個(gè)字符。

7.D.all

解析:C語(yǔ)言中的控制語(yǔ)句包括條件語(yǔ)句(如if)、循環(huán)語(yǔ)句(如for和while)和跳轉(zhuǎn)語(yǔ)句(如break和continue)。

8.D.all

解析:C語(yǔ)言中的函數(shù)包括庫(kù)函數(shù)(如printf和scanf)和用戶(hù)自定義函數(shù)。

9.D.all

解析:C語(yǔ)言中的函數(shù)參數(shù)傳遞方式包括值傳遞(byvalue)、引用傳遞(byreference)和指針傳遞(byaddress)。

10.A.intarr[5]={1,2,3,4,5};

解析:在C語(yǔ)言中,數(shù)組的初始化可以通過(guò)在聲明時(shí)提供初始值列表來(lái)完成。

二、填空題答案及解析:

1.構(gòu)造

解析:C語(yǔ)言中的數(shù)據(jù)類(lèi)型分為基本數(shù)據(jù)類(lèi)型、派生數(shù)據(jù)類(lèi)型和構(gòu)造數(shù)據(jù)類(lèi)型。

2.邏輯

解析:C語(yǔ)言中的運(yùn)算符分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符。

3.循環(huán)

解析:C語(yǔ)言中的控制語(yǔ)句分為條件語(yǔ)句、循環(huán)語(yǔ)句和跳轉(zhuǎn)語(yǔ)句。

4.用戶(hù)定義

解析:C語(yǔ)言中的函數(shù)分為庫(kù)函數(shù)和用戶(hù)自定義函數(shù)。

5.二維

解析:C語(yǔ)言中的數(shù)組分為一維數(shù)組和多維數(shù)組。

6.變量

解析:C語(yǔ)言中的指針是變量的地址。

7.復(fù)合

解析:C語(yǔ)言中的結(jié)構(gòu)體是一種復(fù)合的數(shù)據(jù)類(lèi)型。

8.共享

解析:C語(yǔ)言中的共用體是一種共享內(nèi)存的數(shù)據(jù)類(lèi)型。

9.枚舉

解析:C語(yǔ)言中的枚舉是一種整型常量集合的數(shù)據(jù)類(lèi)型。

10.fopen,fclose

解析:C語(yǔ)言中的文件操作函數(shù)包括打開(kāi)文件(fopen)和關(guān)閉文件(fclose)。

三、編程題答案及解析:

1.程序代碼如第二部分所示。

解析:該程序定義了一個(gè)結(jié)構(gòu)體`Student`,一個(gè)函數(shù)`printStudents`用于打印學(xué)生信息,并在`main`函數(shù)中初始化了一個(gè)`Student`數(shù)組并調(diào)用`printStudents`函數(shù)。

2.程序代碼如第二部分所示。

解析:該程序定義了一個(gè)函數(shù)`reverseString`用于逆序字符串,并在`main`函數(shù)中接收用戶(hù)輸入的字符串,調(diào)用`reverseString`函數(shù)并打印逆序后的字符串。

四、編程題答案及解析:

1.程序代碼如第四部分第一題所示。

解析:該程序定義了一個(gè)結(jié)構(gòu)體`Student`,一個(gè)函數(shù)`printStudents`用于打印學(xué)生信息,并在`main`函數(shù)中初始化了一個(gè)`Student`數(shù)組并調(diào)用`printStudents`函數(shù)。

2.程序代碼如第四部分第二題所示。

解析:該程序定義了一個(gè)函數(shù)`reverseString`用于逆序字符串,并在`main`函數(shù)中接收用戶(hù)輸入的字符串,調(diào)用`reverseString`函數(shù)并打印逆序后的字符串。

五、簡(jiǎn)答題答案及解析:

1.指針是變量地址的引用,可以用來(lái)訪問(wèn)和操作內(nèi)存中的數(shù)據(jù)。它與普通變量的區(qū)別在于,指針存儲(chǔ)的是變量的地址,而普通變量存儲(chǔ)的是數(shù)據(jù)值。

2.函數(shù)參數(shù)傳遞的兩種方式是值傳遞和引用傳遞。值傳遞是將實(shí)際參數(shù)的值復(fù)制給函數(shù)中的形參,引用傳遞是將實(shí)際參數(shù)的地址傳遞給函數(shù)中的形參。值傳遞的優(yōu)點(diǎn)是簡(jiǎn)單易懂,缺點(diǎn)是效率較低;引用傳遞的優(yōu)點(diǎn)是效率較高,缺點(diǎn)是可能改變實(shí)際參數(shù)的值。

3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論