浙江理工大学科技与艺术学院《C语言程序设计》2024-2025学年期末试卷(A卷)_第1页
浙江理工大学科技与艺术学院《C语言程序设计》2024-2025学年期末试卷(A卷)_第2页
浙江理工大学科技与艺术学院《C语言程序设计》2024-2025学年期末试卷(A卷)_第3页
浙江理工大学科技与艺术学院《C语言程序设计》2024-2025学年期末试卷(A卷)_第4页
浙江理工大学科技与艺术学院《C语言程序设计》2024-2025学年期末试卷(A卷)_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江理工大学科技与艺术学院《C语言程序设计》2024-----2025学年期末试卷(A卷)专业

班级

姓名

学号

题号一二三四五六七八九十成绩复核签字得分登分签字说明:本试卷共100分;答题要求:按要求答题考生须知:1.姓名、学号、系、专业、年级、班级必须写在密封线内指定位置。2.答案必须用蓝、黑色钢笔或圆珠笔写在试卷上,字迹要清晰,卷面要整洁,写在草稿纸上的一律无效。一、选择题(共20题,每题1分,满分20分)从A、B、C、D四个选项中选出最符合题目要求的答案,填涂在答题卡对应位置。以下属于C语言合法标识符,且适合命名“存储艺术作品编号的变量”的是()A.2025_art_idB.art_idC.art-idD.double若要存储“设计项目预算(如8500.5元)”和“艺术作品参展数量(如32件)”,分别适合的C语言数据类型是()A.int、floatB.float、intC.char、doubleD.int、char执行语句“inttotal_art=45,selected_art=28;”(艺术作品总数、入选展览作品数),则表达式“selected_art100/total_art”的值为()A.62B.62.2C.45D.28以下关于C语言局部变量的说法,正确的是()A.局部变量定义在函数体外部B.局部变量未初始化时默认值为0C.存储“临时统计的设计项目时长”适合定义为局部变量D.局部变量可被其他函数直接访问执行以下代码后,变量is_excellent(判断艺术作品评分是否优秀,90分及以上为优秀,1为优秀)的值为()

int

is_excellent

=

0;

float

score

=

92.5;

//

艺术作品评分

if

(score

>=

90)

is_excellent

=

1;

else

is_excellent

=

0;

A.1B.0C.92.5D.90以下循环语句中,可用于“统计18件艺术作品中评分高于85分的件数”,且循环体执行次数为18次的是()A.for(inti=0;i<18;i++){}B.for(inti=1;i<=17;i++){}C.inti=0;while(i<17){i++;}D.inti=1;do{i++;}while(i<=18);定义“floatart_score[6]={88.5,92.0,85.5};”(存储6件艺术作品评分),则数组元素art_score[5]的值为()A.85.5B.0.0C.随机值D.编译错误以下关于C语言函数参数传递的说法,错误的是()A.值传递时,形参修改不影响实参B.地址传递时,形参修改可影响实参C.传递“设计项目进度数组”时,需传递数组首元素地址D.函数参数个数可与实参个数不一致(无默认参数时)若定义“intp,design_cnt=15;p=&design_cnt;”(设计项目总数),则以下表达式中表示“变量design_cnt的值”的是()A.pB.pC.&pD.&design_cnt以下能正确定义并初始化二维数组(存储“3个设计专业的5门核心课程平均分”)的是()A.floatmajor_avg[2][5]={{82.5,78.0},{85.5,80.0},{79.5,83.0}};B.floatmajor_avg[][5]={82.5,78.0,85.5,80.0,79.5};C.floatmajor_avg[3][]={82.5,78.0,85.5,80.0,79.5,83.0};D.floatmajor_avg[3][5]={{82.5},{85.5,80.0},{79.5,83.0,81.0}};执行以下代码后,输出结果为()(比较两个设计专业的平均课程成绩)

#include

<stdio.h>

int

main()

{

float

major1[]

=

{82.5,

78.0,

85.5,

80.0,

79.5};

//

专业1课程平均分

float

major2[]

=

{79.0,

83.0,

81.5,

77.5,

84.0};

//

专业2课程平均分

float

sum1=0,

sum2=0,

avg1,

avg2;

for

(int

i=0;

i<5;

i++)

{

sum1+=major1[i];

sum2+=major2[i];

}

avg1=sum1/5;

avg2=sum2/5;

printf("%s",

(avg1

>

avg2)

?

"专业1平均成绩更高"

:

"专业2平均成绩更高");

return

0;

}

A.专业1平均成绩更高B.专业2平均成绩更高C.81.1D.80.6以下关于结构体的说法,正确的是()A.结构体成员的数据类型必须相同B.存储“艺术作品信息(编号、名称、评分、参展状态)”适合用结构体C.结构体指针访问成员时使用“.”运算符D.结构体定义后必须立即声明变量若要以“只读”方式打开存储“设计项目日志”的文本文件“design_log.txt”,正确的fopen调用是()A.fopen("design_log.txt","w");B.fopen("design_log.txt","r");C.fopen("design_log.txt","a");D.fopen("design_log.txt","rb");以下函数定义中,能正确计算“10件艺术作品的平均评分”的是()A.floatavg_art_score(floatscore[],intn){floattotal=0;for(inti=0;i<n;i++)total+=score[i];returntotal/n;}B.floatavg_art_score(floatscore[],intn){floattotal=0;while(i<n){total+=score[i];i++;}returntotal/n;}C.floatavg_art_score(floatscore[],intn){if(n==0)return0;elsereturnscore[n-1]+avg_art_score(score,n-1)/n;}D.floatavg_art_score(floatscore[],intn){staticfloattotal=0;total+=score[n-1];returntotal/n;}执行以下代码后,变量high_budget(统计预算超过10000元的设计项目个数)的值为()

int

high_budget

=

0;

float

budget[]

=

{8500.5,

12000.0,

9800.0,

15000.5,

8200.0,

11000.0};

for

(int

i=0;

i<6;

i++)

{

if

(budget[i]

>

10000)

high_budget++;

}

A.2B.3C.4D.5以下关于指针的说法,正确的是()A.指针变量存储的是变量的值B.空指针(NULL)可以直接访问C.指向“艺术作品结构体”的指针需与结构体类型匹配D.指针加上一个整数表示移动指定个数的变量定义“charart_name[]="digitalpainting";”(艺术作品名称:数字绘画),则数组art_name占用的字节数为()A.16B.17C.18D.不确定执行以下代码后,输出结果为()(计算艺术作品展览补贴,补贴比例为20%)

#include

<stdio.h>

void

subsidy(float

cost)

{

cost

=

0.2;

//

20%展览补贴

}

int

main()

{

float

exhibition_cost

=

8500.0;

//

展览原费用

subsidy(&exhibition_cost);

printf("%.1f",

exhibition_cost);

return

0;

}

A.8500.0B.1700.0C.0.2D.不确定以下关于C语言预处理命令的说法,正确的是()A.#define

MAX_ART

50可定义“最大艺术作品数量”常量B.#include命令仅能引入系统头文件C.预处理命令以“;”结尾D.#ifdef用于判断变量是否被赋值以下代码中,存在语法错误的是()A.floatscore[5]={88.5,92.0,85.5,95.0,89.0};printf("%.1f",score[4]);B.intp=NULL;p=10;C.structArt{charid[12];floatscore;};structArta={"A202501",88.5};D.FILEfp=fopen("art.txt","r");if(fp==NULL)printf("文件打开失败!");二、填空题(共5题,每题3分,满分15分)将答案填写在答题卡对应位置,答案需完整、准确,多余符号或格式错误不得分。C语言中,定义“存储8件艺术作品评分的单精度浮点型数组,初始值为88.5、92.0、85.5、95.0、89.0、78.5、90.0、86.5”的语句为:______。执行循环“inti=1,total_visitor=0;while(i<=12){total_visitor+=350;i++;}”后,total_visitor的值为______(计算12天的艺术展览总参观人数,每天350人)。函数调用时,实参和形参之间的默认参数传递方式是______传递;若要修改实参中的“设计项目预算”值,需采用______传递。打开名为“art_exhibition.txt”的文本文件用于追加写入艺术展览记录,应使用语句:FILEfp;fp=fopen("art_exhibition.txt","______");定义一个指向结构体Art(存储艺术作品信息)的指针p:structArt______p;三、程序阅读题(共4题,每题5分,满分20分)阅读以下代码,分析程序运行后的输出结果,将完整输出内容填写在答题卡对应位置(多输出、少输出、格式错误均不得分)。分析以下代码的输出结果(计算4件数字艺术作品的平均评分):

#include

<stdio.h>

int

main()

{

float

digital_art[]

=

{92.5,

88.0,

95.0,

90.5};

//

4件数字艺术作品评分

float

total

=

0.0,

avg;

for

(int

i=0;

i<4;

i++)

{

total

+=

digital_art[i];

}

avg

=

total

/

4;

printf("数字艺术作品平均评分:%.1f",

avg);

return

0;

}

输出结果:______分析以下代码的输出结果(统计预算在8000-12000元之间的设计项目个数):

#include

<stdio.h>

int

main()

{

int

count

=

0;

float

budget[]

=

{8500.5,

12000.0,

9800.0,

15000.5,

8200.0,

11000.0,

7500.0,

9200.0};

int

i

=

0;

do

{

if(budget[i]

>=

8000

&&

budget[i]

<=

12000)

{

count++;

}

i++;

}

while(i

<

8);

printf("预算8000-12000元的项目个数:%d",

count);

return

0;

}

输出结果:______分析以下代码的输出结果(递归计算n的阶乘,n=5,用于统计5件艺术作品的陈列方式数):

#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件作品的陈列方式数:%d",

res);

return

0;

}

输出结果:______分析以下代码的输出结果(结构体存储设计项目信息并修改进度):

#include

<stdio.h>

struct

DesignProject

{

char

id[12];

//

项目编号

char

name[20];

//

项目名称

float

budget;

//

项目预算(元)

int

progress;

//

项目进度(%)

};

int

main()

{

struct

DesignProject

p

=

{"D202501",

"UI

Design",

12000.0,

60};

gress

+=

25;

//

进度增加25%

p.budget

+=

1500.0;//

追加1500元预算

printf("项目编号:%s,名称:%s,预算:%.0f元,进度:%d%%",

p.id,

,

p.budget,

gress);

return

0;

}

输出结果:______四、程序填空题(共2题,每空3分,满分15分)请在程序的横线处填入适当的内容,使程序完整并能正确运行。以下程序用于对8件艺术作品的评分进行降序排序(冒泡排序法),请补全代码。#include

<stdio.h>

int

main()

{

float

art_score[8]

=

{88.5,

92.0,

85.5,

95.0,

89.0,

78.5,

90.0,

86.5};

int

i,

j;

float

temp;

for(i=0;

i<7;

i++)

{

for(j=0;

j<_______;

j++)

{

//

内层循环控制未排序元素

if(art_score[j]

<

art_score[j+1])

{

//

降序排序,前元素小于后元素则交换

temp

=

art_score[j];

art_score[j]

=

art_score[j+1];

art_score[j+1]

=

temp;

}

}

}

//

输出排序结果

printf("降序排序后的作品评分:");

for(i=0;

i<8;

i++)

{

printf("%.1f

",

art_score[i]);

}

return

0;

}以下程序用于统计文本文件“art_score.txt”中评分大于90分的艺术作品个数(文件中每行存储1件作品评分,如“88.5” “92.0”),请补全代码。#include

<stdio.h>

#include

<stdlib.h>

int

count_excellent_art()

{

FILE

fp;

int

count

=

0;

float

score;

//

以只读方式打开文件

fp

=

fopen("art_score.txt",

"_______");

if(fp

==

NULL)

{

printf("文件打开失败!");

exit(1);

//

退出程序

}

//

循环读取每件作品评分并统计优秀个数

while(_______

==

1)

{

//

判断是否成功读取数据

if

(score

>

90)

count++;

}

fclose(fp);

//

关闭文件

return

count;

}

int

main()

{

int

total

=

count_excellent_art();

printf("评分大于90分的作品个数:%d",

tota

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论