第 1 页 (共 3 页) 学习中心/函授站_ 姓 名 学 号 西安电子科技大学网络与继续教育学院
2021 学年上学期
《高级语言程序设计(C)》期末考试试题
(综合大作业)
题号 一 二 三 四 总分
题分 15 25 30 30
得分 考试说明:
1、大作业试题于2021 年4 月23 日公布:
(1)学生于2021 年4 月23 日至2021 年5 月9 日在线上传大作业答卷;
(2)上传时一张图片对应一张A4 纸答题纸,要求拍照清晰、上传完整;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、答案须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要
求字迹工整、卷面干净。 一、(每题 3分,共 15分)
1.初始化
2.软件测试
3.库函数
4.作用域
5. 编译预处理
二、(每题 5分,共 25分)
1. 为什么要用变量?
2. 算法设计的一般步骤有哪些?
3. 引入数组机制的好处是什么?
4. 函数设计三要素包括功能、输入和输出三个方面的内容,它们和函数结构的关系是怎么
样的?
5. 值调用的特点是什么?
三、分析填表题(每空 0.5分,共 30分)
1. struct student
{ int StuId;
第 2 页 (共 3 页) int Score[4];
int Total;
}
struct student com [10]
={{ 1, 90, 83, 72, 82},{ 2, 71, 92, 88, 78 },
{ 3, 85, 72, 98, 66 },{ 4, 78, 95, 63, 90 } };
struct student x, *sPtr;
sPtr=com;
x=com[0];
结构成员引用 值
x. Total
x.Score[2]
com[1].StuId
com[2].Score[2]
sPtr->Total
sPtr->Score[3]
(*sPtr).StuId
(*sPtr).Score[3]
(sPtr+1)->Score[3]
2. main()
{
for (int i=0; i<2; i++)
for (int j=3; j>0; j–) printf(“*”);
}
i 0 1 2
j
输出
3. main()
{ int i=5;
char c[6]=”abcd”;//步骤(1)
do
{ c[i]=c[i―1];//步骤(2)
} while(――i>0);
}
下标 0 1 2 3 4 5
步骤(1)c[] ‘a’ ‘b’ ‘c’ ‘d’ ‘\0’ ‘\0’
步骤(2)i=5时c[] ‘a’ ‘b’ ‘c’ ‘d’ ‘\0’ ‘\0’
步骤(2)i=4时c[] ‘a’ ‘b’ ‘c’ ‘d’ ‘d’ ‘\0’
步骤(2)i=3时c[]
步骤(2)i=2时c[]
步骤(2)i=1时c[]
4. main()
{ 奥鹏西安电子科技大学答案q599792222 或请进 opzy.net
int a[10], b[10];
第 3 页 (共 3 页) int *aPtr, *bPtr, i;
aPtr=a; bPtr=b;
for ( i=0; i< 10; i++, aPtr++, bPtr++)
{
*aPtr=i+2;
*bPtr=3*i;
}
aPtr=&a[1]; ①
bPtr =&b[1]; ②
for ( i=0; i<10; i++,aPtr++, bPtr++)
{
*aPtr +=i; ③
*bPtr *=i; ④
}
}
i 0 1 2 3 4 5 6 7 8 9
a 2 3 4 5 6 7 8 9 10 11
b
i 0 1 2 3 4 5 6 7 8
①*aPtr 2 3 4 5 6 7 8 9 10
③*aPtr
②*bPtr 0 3 6 9 12 15 18 21 24
④*bPtr
四、程序设计题(有 2小题,每题 15,共 30分)
编程题要求:
(1)先给出伪代码,然后再写出源码,重要变量和语句要加注释;
(2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。
1.编写一个程序,这个程序能够找出几个整数中最小的整数。假定程序读取的第一个值是
程序要处理的整数的个数。给出伪代码描述及程序实现。
2.我们需要一个小程序,输入两个整数,输出这两个数的平方和与平方差,要求:
(1)主函数负责接收这两个整数
(2)将计算代码独立做成子函数 quadratic_ sum 和 quadratic_ diff
(3)在主函数中调用子函数并输出结果到屏幕上
功能 输入信息 输出信息
求两个数的平方和 quadratic_sum
求两个数的平方差 quadratic_diff
函数名 形参表 函数类型