浙江農(nóng)林大學(xué)暨陽學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第1頁
浙江農(nóng)林大學(xué)暨陽學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第2頁
浙江農(nóng)林大學(xué)暨陽學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第3頁
浙江農(nóng)林大學(xué)暨陽學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第4頁
浙江農(nóng)林大學(xué)暨陽學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

浙江農(nóng)林大學(xué)暨陽學(xué)院《C語言程序設(shè)計(jì)》2024-----2025學(xué)年期末試卷(A卷)專業(yè)

班級

姓名

學(xué)號

題號一二三四五六七八九十成績復(fù)核簽字得分登分簽字說明:本試卷共100分;答題要求:按要求答題考生須知:1.姓名、學(xué)號、系、專業(yè)、年級、班級必須寫在密封線內(nèi)指定位置。2.答案必須用藍(lán)、黑色鋼筆或圓珠筆寫在試卷上,字跡要清晰,卷面要整潔,寫在草稿紙上的一律無效。一、選擇題(共20題,每題1分,滿分20分)從A、B、C、D四個(gè)選項(xiàng)中選出最符合題目要求的答案,填涂在答題卡對應(yīng)位置。以下屬于C語言合法標(biāo)識(shí)符,且適合命名“存儲(chǔ)農(nóng)作物畝產(chǎn)量的變量”的是()A.2025_crop_yieldB.crop_yieldC.crop-yieldD.double若要存儲(chǔ)“育苗基地溫度(如23.5℃)”和“樹苗培育數(shù)量(如1200株)”,分別適合的C語言數(shù)據(jù)類型是()A.int、floatB.float、intC.char、doubleD.int、char執(zhí)行語句“inttotal_forest=80,healthy_forest=68;”(森林總面積、健康森林面積,單位:畝),則表達(dá)式“healthy_forest100/total_forest”的值為()A.85B.85.0C.80D.68以下關(guān)于C語言局部變量的說法,正確的是()A.局部變量定義在函數(shù)體外部B.局部變量未初始化時(shí)默認(rèn)值為0C.存儲(chǔ)“臨時(shí)統(tǒng)計(jì)的病蟲害植株數(shù)”適合定義為局部變量D.局部變量可被其他函數(shù)直接訪問執(zhí)行以下代碼后,變量is_qualified(判斷種子發(fā)芽率是否合格,合格標(biāo)準(zhǔn)≥85%,1為合格)的值為()

int

is_qualified

=

0;

float

germination

=

88.5;

//

種子發(fā)芽率(%)

if

(germination

>=

85)

is_qualified

=

1;

else

is_qualified

=

0;

A.1B.0C.88.5D.85以下循環(huán)語句中,可用于“統(tǒng)計(jì)20塊農(nóng)田中畝產(chǎn)量大于500公斤的塊數(shù)”,且循環(huán)體執(zhí)行次數(shù)為20次的是()A.for(inti=0;i<20;i++){}B.for(inti=1;i<=19;i++){}C.inti=0;while(i<19){i++;}D.inti=1;do{i++;}while(i<=20);定義“floatcrop_yield[6]={520.5,480.0,550.5};”(存儲(chǔ)6塊農(nóng)田畝產(chǎn)量,單位:公斤),則數(shù)組元素crop_yield[5]的值為()A.550.5B.0.0C.隨機(jī)值D.編譯錯(cuò)誤以下關(guān)于C語言函數(shù)參數(shù)傳遞的說法,錯(cuò)誤的是()A.值傳遞時(shí),形參修改不影響實(shí)參B.地址傳遞時(shí),形參修改可影響實(shí)參C.傳遞“林業(yè)設(shè)備狀態(tài)數(shù)組”時(shí),需傳遞數(shù)組首元素地址D.函數(shù)參數(shù)個(gè)數(shù)可與實(shí)參個(gè)數(shù)不一致(無默認(rèn)參數(shù)時(shí))若定義“intp,seed_cnt=3500;p=&seed_cnt;”(種子總數(shù)量,單位:粒),則以下表達(dá)式中表示“變量seed_cnt的值”的是()A.pB.pC.&pD.&seed_cnt以下能正確定義并初始化二維數(shù)組(存儲(chǔ)“4個(gè)育苗基地的5個(gè)月育苗數(shù)量”,單位:株)的是()A.intbase_seedling[3][5]={{1200,1150},{1300,1250},{1100,1050},{1280,1220}};B.intbase_seedling[][5]={1200,1150,1300,1250,1100};C.intbase_seedling[4][]={1200,1150,1300,1250,1100,1050,1280,1220};D.intbase_seedling[4][5]={{1200},{1300,1250},{1100,1050,1180},{1280,1220}};執(zhí)行以下代碼后,輸出結(jié)果為()(比較兩個(gè)育苗基地的月平均育苗數(shù)量)

#include

<stdio.h>

int

main()

{

int

base1[]

=

{1200,

1150,

1300,

1250,

1100};

//

基地1月育苗數(shù)

int

base2[]

=

{1250,

1100,

1280,

1320,

1050};

//

基地2月育苗數(shù)

int

sum1=0,

sum2=0;

for

(int

i=0;

i<5;

i++)

{

sum1+=base1[i];

sum2+=base2[i];

}

printf("%s",

(sum1/5

>

sum2/5)

?

"基地1平均育苗數(shù)更高"

:

"基地2平均育苗數(shù)更高");

return

0;

}

A.基地1平均育苗數(shù)更高B.基地2平均育苗數(shù)更高C.1200D.1190以下關(guān)于結(jié)構(gòu)體的說法,正確的是()A.結(jié)構(gòu)體成員的數(shù)據(jù)類型必須相同B.存儲(chǔ)“農(nóng)產(chǎn)品信息(編號、名稱、庫存、單價(jià))”適合用結(jié)構(gòu)體C.結(jié)構(gòu)體指針訪問成員時(shí)使用“.”運(yùn)算符D.結(jié)構(gòu)體定義后必須立即聲明變量若要以“只讀”方式打開存儲(chǔ)“林業(yè)設(shè)備維護(hù)日志”的文本文件“forest_equip_log.txt”,正確的fopen調(diào)用是()A.fopen("forest_equip_log.txt","w");B.fopen("forest_equip_log.txt","r");C.fopen("forest_equip_log.txt","a");D.fopen("forest_equip_log.txt","rb");以下函數(shù)定義中,能正確計(jì)算“8塊農(nóng)田的平均畝產(chǎn)量”的是()A.floatavg_yield(floatyield[],intn){floattotal=0;for(inti=0;i<n;i++)total+=yield[i];returntotal/n;}B.floatavg_yield(floatyield[],intn){floattotal=0;while(i<n){total+=yield[i];i++;}returntotal/n;}C.floatavg_yield(floatyield[],intn){if(n==0)return0;elsereturnyield[n-1]+avg_yield(yield,n-1)/n;}D.floatavg_yield(floatyield[],intn){staticfloattotal=0;total+=yield[n-1];returntotal/n;}執(zhí)行以下代碼后,變量high_stock(統(tǒng)計(jì)庫存超過500公斤的農(nóng)產(chǎn)品種類數(shù))的值為()

int

high_stock

=

0;

float

stock[]

=

{480.5,

520.0,

490.5,

550.0,

470.0,

510.5};

for

(int

i=0;

i<6;

i++)

{

if

(stock[i]

>

500)

high_stock++;

}

A.2B.3C.4D.5以下關(guān)于指針的說法,正確的是()A.指針變量存儲(chǔ)的是變量的值B.空指針(NULL)可以直接訪問C.指向“農(nóng)產(chǎn)品結(jié)構(gòu)體”的指針需與結(jié)構(gòu)體類型匹配D.指針加上一個(gè)整數(shù)表示移動(dòng)指定個(gè)數(shù)的變量定義“charcrop_name[]="rice";”(農(nóng)作物名稱:水稻),則數(shù)組crop_name占用的字節(jié)數(shù)為()A.4B.5C.6D.不確定執(zhí)行以下代碼后,輸出結(jié)果為()(計(jì)算農(nóng)產(chǎn)品運(yùn)輸損耗,損耗率5%,原重量1200公斤)

#include

<stdio.h>

void

calc_loss(float

weight)

{

weight

=

0.05;

//

5%運(yùn)輸損耗

}

int

main()

{

float

original

=

1200.0;

//

原重量(公斤)

calc_loss(&original);

printf("%.1f",

original);

return

0;

}

A.1200.0B.60.0C.0.05D.不確定以下關(guān)于C語言預(yù)處理命令的說法,正確的是()A.#define

MAX_CROP

40可定義“最大農(nóng)作物種類數(shù)”常量B.#include命令僅能引入系統(tǒng)頭文件C.預(yù)處理命令以“;”結(jié)尾D.#ifdef用于判斷變量是否被賦值以下代碼中,存在語法錯(cuò)誤的是()A.floatyield[5]={520.5,480.0,550.5,490.0,510.5};printf("%.1f",yield[4]);B.intp=NULL;p=10;C.structCrop{charid[10];floatyield;floatprice;};structCropc={"C202501",520.5,3.2};D.FILEfp=fopen("crop.txt","r");if(fp==NULL)printf("文件打開失敗!");二、填空題(共5題,每題3分,滿分15分)將答案填寫在答題卡對應(yīng)位置,答案需完整、準(zhǔn)確,多余符號或格式錯(cuò)誤不得分。C語言中,定義“存儲(chǔ)8個(gè)農(nóng)產(chǎn)品庫存重量的單精度浮點(diǎn)型數(shù)組,初始值為480.5、520.0、490.5、550.0、470.0、510.5、460.0、530.5”(單位:公斤)的語句為:______。執(zhí)行循環(huán)“inti=1,total_seedling=0;while(i<=18){total_seedling+=800;i++;}”后,total_seedling的值為______(計(jì)算18周的育苗基地總育苗數(shù),每周800株)。函數(shù)調(diào)用時(shí),實(shí)參和形參之間的默認(rèn)參數(shù)傳遞方式是______傳遞;若要修改實(shí)參中的“農(nóng)產(chǎn)品庫存重量”值,需采用______傳遞。打開名為“crop_stock.txt”的文本文件用于追加寫入農(nóng)產(chǎn)品庫存記錄,應(yīng)使用語句:FILEfp;fp=fopen("crop_stock.txt","______");定義一個(gè)指向結(jié)構(gòu)體ForestEquip(存儲(chǔ)林業(yè)設(shè)備信息)的指針p:structForestEquip______p;三、程序閱讀題(共4題,每題5分,滿分20分)閱讀以下代碼,分析程序運(yùn)行后的輸出結(jié)果,將完整輸出內(nèi)容填寫在答題卡對應(yīng)位置(多輸出、少輸出、格式錯(cuò)誤均不得分)。分析以下代碼的輸出結(jié)果(計(jì)算6塊農(nóng)田的平均畝產(chǎn)量):

#include

<stdio.h>

int

main()

{

float

crop_yield[]

=

{520.5,

480.0,

550.5,

490.0,

510.5,

470.0};

//

6塊農(nóng)田畝產(chǎn)量(公斤)

float

total

=

0.0,

avg;

for

(int

i=0;

i<6;

i++)

{

total

+=

crop_yield[i];

}

avg

=

total

/

6;

printf("6塊農(nóng)田平均畝產(chǎn)量:%.1f公斤",

avg);

return

0;

}

輸出結(jié)果:______分析以下代碼的輸出結(jié)果(統(tǒng)計(jì)種子發(fā)芽率大于85%的批次個(gè)數(shù)):

#include

<stdio.h>

int

main()

{

int

count

=

0;

float

germination[]

=

{88.5,

82.0,

86.5,

80.5,

90.0,

84.5,

89.0,

87.5};

//

8批種子發(fā)芽率(%)

int

i

=

0;

do

{

if(germination[i]

>

85)

{

count++;

}

i++;

}

while(i

<

8);

printf("發(fā)芽率大于85%的批次個(gè)數(shù):%d",

count);

return

0;

}

輸出結(jié)果:______分析以下代碼的輸出結(jié)果(遞歸計(jì)算n的階乘,n=4,用于統(tǒng)計(jì)4種農(nóng)作物的輪作方式數(shù)):

#include

<stdio.h>

int

factorial(int

n)

{

if

(n

==

1)

return

1;

else

return

n

factorial(n-1);

}

int

main()

{

int

res

=

factorial(4);

printf("4種農(nóng)作物的輪作方式數(shù):%d",

res);

return

0;

}

輸出結(jié)果:______分析以下代碼的輸出結(jié)果(結(jié)構(gòu)體存儲(chǔ)林業(yè)設(shè)備信息并修改維護(hù)狀態(tài)):

#include

<stdio.h>

struct

ForestEquip

{

char

id[10];

//

設(shè)備ID

char

type[20];

//

設(shè)備類型(如:伐木機(jī)、灌溉泵)

int

use_years;

//

使用年限(年)

int

is_maintained;//

維護(hù)狀態(tài)(1=已維護(hù),0=待維護(hù))

};

int

main()

{

struct

ForestEquip

e

=

{"E202501",

"灌溉泵",

3,

0};

e.use_years

+=

1;

//

使用年限增加1年

e.is_maintained

=

1;

//

標(biāo)記為已維護(hù)

printf("設(shè)備ID:%s,類型:%s,使用年限:%d年,維護(hù)狀態(tài):%s",

e.id,

e.type,

e.use_years,

(e.is_maintained==1)?"已維護(hù)":"待維護(hù)");

return

0;

}

輸出結(jié)果:______四、程序填空題(共2題,每空3分,滿分15分)請?jiān)诔绦虻臋M線處填入適當(dāng)?shù)膬?nèi)容,使程序完整并能正確運(yùn)行。以下程序用于對8塊農(nóng)田的畝產(chǎn)量進(jìn)行升序排序(冒泡排序法),請補(bǔ)全代碼。#include

<stdio.h>

int

main()

{

float

crop_yield[8]

=

{520.5,

480.0,

550.5,

490.0,

510.5,

470.0,

460.0,

530.5};

//

8塊農(nóng)田畝產(chǎn)量

int

i,

j;

float

temp;

for(i=0;

i<7;

i++)

{

for(j=0;

j<_______;

j++)

{

//

內(nèi)層循環(huán)控制未排序元素

if(crop_yield[j]

>

crop_yield[j+1])

{

//

升序排序,前元素大于后元素則交換

temp

=

crop_yield[j];

crop_yield[j]

=

crop_yield[j+1];

crop_yield[j+1]

=

temp;

}

}

}

//

輸出排序結(jié)果

printf("升序排序后的畝產(chǎn)量:");

for(i=0;

i<8;

i++)

{

printf("%.1f

",

crop_yield[i]);

}

return

0;

}以下程序用于統(tǒng)計(jì)文本文件“seed_germination.txt”中發(fā)芽率大于90%的種子批次個(gè)數(shù)(文件中每行存儲(chǔ)1批種子發(fā)芽率,如“88.5”?“92.0”),請補(bǔ)全代碼。#include

<stdio.h>

#include

<stdlib.h>

int

count_high_germination()

{

FILE

fp;

int

count

=

0;

float

germination;

//

以只讀方式打開文件

fp

=

fopen("seed_germination.txt",

"_______");

if(fp

==

NULL)

{

printf("文件打開失??!");

exit(1);

//

退出程序

}

//

循環(huán)讀取每批種子發(fā)芽率并統(tǒng)計(jì)

while(_______

==

1)

{

//

判斷是否成功讀取數(shù)據(jù)

if

(germination

>

90)

count++;

}

fclose(fp);

//

關(guān)閉文件

return

count;

}

int

main()

{

int

total

=

count_high_germination();

printf("發(fā)芽率大于90%的種子批次個(gè)數(shù):%d",

total);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論