高级语言程序设计(C)答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计(C)答案
学习中心/函授站_
姓名
学号
西安电子科技大学网络与继续教育学院
2015 学年上学期
《高级语言设计(C)》期末考试试题
(综合大作业)
题号
一
二
三
四
总分
题分
15
25
30
30
得分
考试说明: 1、大作业于 2015 年 4 月 3 日公布,2015
年 5 月 9 日前在线提交; 2、考试必须独立完成,如发现抄袭、
雷同、拷贝均按零分计。
一、名词解释(每小题 3 分,共 15 分) 1、【初始化】: 初始化就是把变量赋为默认 值,把控件设为默认状态,把没准备的准备好。 2、【软件测试】: 描述一种用来促进鉴定软 件的正确性、完整性、安全性和质量的过程。换
第 2 页 (共 16 页)
句话说,软件测试是一种实际输出与预期输出间 的审核或者比较过程。
3、【库函数】:顾名思义是把函数放到库里, 是别人把一些常用到的函数编完放到一个文件 里,供程序员使用,程序员用的时候把它所在的 文件名用#include<>加到里面就可以了(尖括 号内填写文件名),例如#include
5、【编译预处理】:编译预处理是 C 语言区别于其它高级程序设计语言的特征 之一,它属于 C 语言编译系统的一部分。C 程序中使用的编译预处理命令均以# 开头,它在 C 编译系统对源程序进行编译之前,先对程序中这些命令进行“预处 理”。本章的知识点是编译预处理命令的三种不同形式:宏定义、文件包含和条 件编译。
二、简答题(每小题 5 分,共 25 分) 1、为什么要用变量? 答:1)、计算机在工作过程中所产生的所有 数据,都是在“内存”是存储和读取的。大家可 以把“内存”想象成一个工厂的仓库,数据呢就 是这个工厂工作过程中要使用的“零件”。在一
第 3 页 (共 16 页)
段程序中,有很多很的数据(零件),它们分别
存放在内存(仓库)中的不同地方。需要用变量
把它引用出来。
2、算法设计的一般步骤有哪些?
答:1)、分析问题:输入是什么?输出是什
么?条件是什么?能用什么方法?
2)、用流程图画出解决方案:决定了程序的结构。
三大结构有:顺序结构、判断结构、循环结构
3)、算法设计:常见的算法设计方法:穷举法、
迭代法、递推法、递归法、回溯法、贪婪法、分
治法
4)、程序设计:用编程语言来实现
3、引入数组机制的好处是什么?
答:数组在内存中分配是栈内存,是【连续】
存储【同一种类型】的【线性】结构。它的作用
主要体现在对同一类型的数据进行存储。(要是
int 型,全都是 int 型,要是 char 型,全都
是 char 型),不可以出现其他类型。对数据的
访问是具名访问,可是直接读出数据中某一块的
数
据
,
例
如 int array[5]={1,2,3,4,5}; array
[3]等于 3.这里需要注意的是:数组的下标是
第 4 页 (共 16 页)
从 0 开始的。如果你想访问 array[5],会提示 错误,因为已经越界了。提取数据比较方便,因 为数组在内存中是连续存储数据的,好找。 随 便说句,数组可以当指针用,但它绝不是指针。
4、函数设计三要素包括功能、输入和输出 三个方面的内容,它们和函数结构的关系是怎么 样的?
答:函数设计的功能告诉这个函数具有具体 的功能。输入对应函数的首部,输出对应函数的 返回值。
5、值调用的特点是什么? 答:函数体内相应数据的改变不影响调用它 的函数中的数据。 三、分析填表题(每小题 6 分,共 30 分) 1. struct student
{ int StuId; int Score[4]; int Total;
} struct student com [10] ={{ 1, 90, 83, 72, 82},{ 2, 71, 92, 88, 78 },
第 5 页 (共 16 页)
{ 3, 85, 72, 98, 66 },{ 4,
78, 95, 63, 90 } };
struct student x, *sPtr;
sPtr=com;
x=com[0];
结构成员引用
值
x. Total
0
x.Score[2]
72
com[1].StuId
2
com[2].Score[2] 98
sPtr->Total
0
sPtr->Score[3]
82
(*sPtr).StuId
1
(*sPtr).Score[3] 82
(sPtr+1)->Score[3] 78
2. main()
{
for (int i=0; i<2; i++)
for (int j=3; j>0; j--)
printf("*");
}
i01 2
第 6 页 (共 16 页)
j 321 3 2 3 1
输 *** *** 结束 出 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 步骤 a b c d \0 \0 (1)c[] 步骤(2) a b c d \0 \0 i=5 时 c[] 步骤(2) a b c d d \0 i=4 时 c[] 步骤(2) a b c c d \0 i=3 时 c[] 步骤(2) a b b c d \0 i=2 时 c[] 步骤(2) a a b c d \0
第 7 页 (共 16 页)