金華職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第1頁
金華職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第2頁
金華職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第3頁
金華職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第4頁
金華職業(yè)技術(shù)學(xué)院《C語言程序設(shè)計(jì)》2024-2025學(xué)年期末試卷(A卷)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

金華職業(yè)技術(shù)學(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四個選項(xiàng)中選出最符合題目要求的答案,填涂在答題卡對應(yīng)位置。以下屬于C語言合法標(biāo)識符,且適合命名“存儲機(jī)床設(shè)備編號的變量”的是()A.2025_machine_idB.machine_idC.machine-idD.float若要存儲“零件加工精度(如0.02mm)”和“生產(chǎn)線產(chǎn)品數(shù)量(如280件)”,分別適合的C語言數(shù)據(jù)類型是()A.int、floatB.float、intC.char、doubleD.int、char執(zhí)行語句“inttotal_part=50,qualified_part=42;”(零件總數(shù)、合格零件數(shù)),則表達(dá)式“qualified_part100/total_part”的值為()A.84B.84.0C.50D.42以下關(guān)于C語言局部變量的說法,正確的是()A.局部變量定義在函數(shù)體外部B.局部變量未初始化時默認(rèn)值為0C.存儲“臨時統(tǒng)計(jì)的設(shè)備運(yùn)行時長”適合定義為局部變量D.局部變量可被其他函數(shù)直接訪問執(zhí)行以下代碼后,變量is_normal(判斷設(shè)備溫度是否正常,正常范圍25-35℃,1為正常)的值為()

int

is_normal

=

0;

float

temp

=

32.5;

//

設(shè)備溫度(℃)

if

(temp

>=

25

&&

temp

<=

35)

is_normal

=

1;

else

is_normal

=

0;

A.1B.0C.32.5D.25以下循環(huán)語句中,可用于“統(tǒng)計(jì)30臺設(shè)備中運(yùn)行時長超過500小時的設(shè)備臺數(shù)”,且循環(huán)體執(zhí)行次數(shù)為30次的是()A.for(inti=0;i<30;i++){}B.for(inti=1;i<=29;i++){}C.inti=0;while(i<29){i++;}D.inti=1;do{i++;}while(i<=30);定義“floatdevice_runtime[6]={480.5,520.0,495.8};”(存儲6臺設(shè)備運(yùn)行時長,單位:小時),則數(shù)組元素device_runtime[5]的值為()A.495.8B.0.0C.隨機(jī)值D.編譯錯誤以下關(guān)于C語言函數(shù)參數(shù)傳遞的說法,錯誤的是()A.值傳遞時,形參修改不影響實(shí)參B.地址傳遞時,形參修改可影響實(shí)參C.傳遞“零件尺寸數(shù)組”時,需傳遞數(shù)組首元素地址D.函數(shù)參數(shù)個數(shù)可與實(shí)參個數(shù)不一致(無默認(rèn)參數(shù)時)若定義“intp,product_count=180;p=&product_count;”(生產(chǎn)線產(chǎn)品總數(shù)),則以下表達(dá)式中表示“變量product_count的值”的是()A.pB.pC.&pD.&product_count以下能正確定義并初始化二維數(shù)組(存儲“4條生產(chǎn)線的5天產(chǎn)量”,單位:件)的是()A.intline_output[3][5]={{280,295},{310,305},{290,300},{315,320}};B.intline_output[][5]={280,295,310,305,290};C.intline_output[4][]={280,295,310,305,290,300,315,320};D.intline_output[4][5]={{280},{310,305},{290,300,310},{315,320,325}};執(zhí)行以下代碼后,輸出結(jié)果為()(比較兩條生產(chǎn)線的平均日產(chǎn)量)

#include

<stdio.h>

int

main()

{

int

line1[]

=

{280,

295,

310,

305,

290};

//

生產(chǎn)線1日產(chǎn)量(件)

int

line2[]

=

{295,

300,

315,

320,

305};

//

生產(chǎn)線2日產(chǎn)量(件)

int

sum1=0,

sum2=0;

for

(int

i=0;

i<5;

i++)

{

sum1+=line1[i];

sum2+=line2[i];

}

printf("%s",

(sum1/5

>

sum2/5)

?

"生產(chǎn)線1平均產(chǎn)量更高"

:

"生產(chǎn)線2平均產(chǎn)量更高");

return

0;

}

A.生產(chǎn)線1平均產(chǎn)量更高B.生產(chǎn)線2平均產(chǎn)量更高C.296D.307以下關(guān)于結(jié)構(gòu)體的說法,正確的是()A.結(jié)構(gòu)體成員的數(shù)據(jù)類型必須相同B.存儲“設(shè)備信息(編號、類型、溫度、運(yùn)行時長)”適合用結(jié)構(gòu)體C.結(jié)構(gòu)體指針訪問成員時使用“.”運(yùn)算符D.結(jié)構(gòu)體定義后必須立即聲明變量若要以“只讀”方式打開存儲“零件檢測數(shù)據(jù)”的文本文件“part_test.txt”,正確的fopen調(diào)用是()A.fopen("part_test.txt","w");B.fopen("part_test.txt","r");C.fopen("part_test.txt","a");D.fopen("part_test.txt","rb");以下函數(shù)定義中,能正確計(jì)算“10臺設(shè)備的平均運(yùn)行時長”的是()A.floatavg_runtime(floatruntime[],intn){floattotal=0;for(inti=0;i<n;i++)total+=runtime[i];returntotal/n;}B.floatavg_runtime(floatruntime[],intn){floattotal=0;while(i<n){total+=runtime[i];i++;}returntotal/n;}C.floatavg_runtime(floatruntime[],intn){if(n==0)return0;elsereturnruntime[n-1]+avg_runtime(runtime,n-1)/n;}D.floatavg_runtime(floatruntime[],intn){staticfloattotal=0;total+=runtime[n-1];returntotal/n;}執(zhí)行以下代碼后,變量high_precision(統(tǒng)計(jì)加工精度≤0.05mm的零件個數(shù))的值為()

int

high_precision

=

0;

float

part_precision[]

=

{0.03,

0.06,

0.04,

0.05,

0.07,

0.02};

for

(int

i=0;

i<6;

i++)

{

if

(part_precision[i]

<=

0.05)

high_precision++;

}

A.2B.3C.4D.5以下關(guān)于指針的說法,正確的是()A.指針變量存儲的是變量的值B.空指針(NULL)可以直接訪問C.指向“設(shè)備結(jié)構(gòu)體”的指針需與結(jié)構(gòu)體類型匹配D.指針加上一個整數(shù)表示移動指定個數(shù)的變量定義“chardevice_type[]="cnc_machine";”(設(shè)備類型:數(shù)控機(jī)床),則數(shù)組device_type占用的字節(jié)數(shù)為()A.10B.11C.12D.不確定執(zhí)行以下代碼后,輸出結(jié)果為()(計(jì)算零件加工損耗,損耗率3%,原數(shù)量500件)

#include

<stdio.h>

int

calc_loss(int

quantity)

{

return

quantity

0.03;

//

3%加工損耗

}

int

main()

{

int

original

=

500;

//

原數(shù)量(件)

int

loss

=

calc_loss(original);

printf("%d",

loss);

return

0;

}

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

MAX_DEVICE

40可定義“車間最大設(shè)備臺數(shù)”常量B.#include命令僅能引入系統(tǒng)頭文件C.預(yù)處理命令以“;”結(jié)尾D.#ifdef用于判斷變量是否被賦值以下代碼中,存在語法錯誤的是()A.floatpart_precision[5]={0.03,0.06,0.04,0.05,0.02};printf("%.2f",part_precision[4]);B.intp=NULL;p=10;C.structDevice{charid[12];floattemp;};structDeviced={"D202501",32.5};D.FILEfp=fopen("device_data.txt","r");if(fp==NULL)printf("文件打開失??!");二、填空題(共5題,每題3分,滿分15分)將答案填寫在答題卡對應(yīng)位置,答案需完整、準(zhǔn)確,多余符號或格式錯誤不得分。C語言中,定義“存儲8臺設(shè)備運(yùn)行時長的浮點(diǎn)型數(shù)組,初始值為480.5、520.0、495.8、510.2、475.6、530.1、490.3、505.7”(單位:小時)的語句為:______。執(zhí)行循環(huán)“inti=1,total_hour=0;while(i<=22){total_hour+=8;i++;}”后,total_hour的值為______(計(jì)算22個工作日的設(shè)備總運(yùn)行時長,每天8小時)。函數(shù)調(diào)用時,實(shí)參和形參之間的默認(rèn)參數(shù)傳遞方式是______傳遞;若要修改實(shí)參中的“零件加工精度”值,需采用______傳遞。打開名為“l(fā)ine_output.txt”的文本文件用于追加寫入生產(chǎn)線產(chǎn)量記錄,應(yīng)使用語句:FILEfp;fp=fopen("line_output.txt","______");定義一個指向結(jié)構(gòu)體Machine(存儲機(jī)床設(shè)備信息)的指針p:structMachine______p;三、程序閱讀題(共4題,每題5分,滿分20分)閱讀以下代碼,分析程序運(yùn)行后的輸出結(jié)果,將完整輸出內(nèi)容填寫在答題卡對應(yīng)位置(多輸出、少輸出、格式錯誤均不得分)。分析以下代碼的輸出結(jié)果(計(jì)算6臺設(shè)備的平均運(yùn)行時長):

#include

<stdio.h>

int

main()

{

float

device_runtime[]

=

{480.5,

520.0,

495.8,

510.2,

475.6,

530.1};

//

6臺設(shè)備運(yùn)行時長(小時)

float

total

=

0.0,

avg;

for

(int

i=0;

i<6;

i++)

{

total

+=

device_runtime[i];

}

avg

=

total

/

6;

printf("6臺設(shè)備平均運(yùn)行時長:%.1f小時",

avg);

return

0;

}

輸出結(jié)果:______分析以下代碼的輸出結(jié)果(統(tǒng)計(jì)合格零件數(shù),尺寸50.0-50.5mm為合格):

#include

<stdio.h>

int

main()

{

int

count

=

0;

float

part_size[]

=

{50.2,

50.6,

50.3,

49.9,

50.1,

50.5,

50.7,

50.4};

//

8個零件尺寸(mm)

int

i

=

0;

do

{

if(part_size[i]

>=

50.0

&&

part_size[i]

<=

50.5)

{

count++;

}

i++;

}

while(i

<

8);

printf("合格零件數(shù):%d",

count);

return

0;

}

輸出結(jié)果:______分析以下代碼的輸出結(jié)果(遞歸計(jì)算n的階乘,n=5,用于統(tǒng)計(jì)5種零件的裝配順序排列數(shù)):

#include

<stdio.h>

int

factorial(int

n)

{

if

(n

==

1)

return

1;

else

return

n

factorial(n-1);

}

int

main()

{

int

res

=

factorial(5);

printf("5種零件的裝配順序排列數(shù):%d",

res);

return

0;

}

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

#include

<stdio.h>

struct

Device

{

char

device_id[12];

//

設(shè)備編號

char

device_type[15];//

設(shè)備類型

float

temp;

//

設(shè)備溫度(℃)

int

is_running;

//

運(yùn)行狀態(tài)(1=運(yùn)行,0=停機(jī))

};

int

main()

{

struct

Device

d

=

{"D202501",

"cnc_machine",

32.5,

1};

d.temp

+=

1.5;

//

溫度升高1.5℃

d.is_running

=

0;

//

標(biāo)記為停機(jī)

printf("設(shè)備編號:%s,類型:%s,溫度:%.1f℃,狀態(tài):%s",

d.device_id,

d.device_type,

d.temp,

(d.is_running==1)?"運(yùn)行":"停機(jī)");

return

0;

}

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

<stdio.h>

int

main()

{

float

part_precision[8]

=

{0.03,

0.06,

0.04,

0.05,

0.07,

0.02,

0.08,

0.01};

//

8個零件精度

int

i,

j;

float

temp;

for(i=0;

i<7;

i++)

{

for(j=0;

j<_______;

j++)

{

//

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

if(part_precision[j]

>

part_precision[j+1])

{

//

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

temp

=

part_precision[j];

part_precision[j]

=

part_precision[j+1];

part_precision[j+1]

=

temp;

}

}

}

//

輸出排序結(jié)果

printf("升序排序后的零件精度:");

for(i=0;

i<8;

i++)

{

printf("%.2f

",

part_precision[i]);

}

return

0;

}以下程序用于統(tǒng)計(jì)文本文件“device_runtime.txt”中運(yùn)行時長超過500小時的設(shè)備臺數(shù)(文件中每行存儲1臺設(shè)備的運(yùn)行時長,如“480.5”?“520.0”),請補(bǔ)全代碼。#include

<stdio.h>

#include

<stdlib.h>

int

count_long_runtime()

{

FILE

fp;

int

count

=

0;

float

runtime;

//

以只讀方式打開文件

fp

=

fopen("device_runtime.txt",

"_______");

if(fp

==

NULL)

{

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

exit(1);

//

退出程序

}

//

循環(huán)讀取每個設(shè)備運(yùn)行時長并統(tǒng)計(jì)

while(_______

==

1)

{

//

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

if

(runtime

>

500)

count++;

}

fclose(fp);

//

關(guān)閉文件

return

count;

}

int

main()

{

int

total

=

count_long_runtime();

printf("運(yùn)行時長超過500小時的設(shè)備臺數(shù):%d",

total);

return

0;

}五、編程題(共3

溫馨提示

  • 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

提交評論