高级语言程序设计C答案.docx
- 文档编号:24593395
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:10
- 大小:124.09KB
高级语言程序设计C答案.docx
《高级语言程序设计C答案.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计C答案.docx(10页珍藏版)》请在冰豆网上搜索。
高级语言程序设计C答案
高级语言程序设计(C)答案
学习中心/函授站_
姓名学号
西安电子科技大学网络与继续教育学院
2015学年上学期
《高级语言设计(C)》期末考试试题
(综合大作业)
题号
一
二
三
四
总分
题分
15
25
30
30
得分
考试说明:
1、大作业于2015年4月3日公布,2015年5月9日前在线提交;
2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。
一、名词解释(每小题3分,共15分)
1、【初始化】:
初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准备好。
2、【软件测试】:
描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
换
从0开始的。
如果你想访问array[5],会提示错误,因为已经越界了。
提取数据比较方便,因为数组在内存中是连续存储数据的,好找。
随便说句,数组可以当指针用,但它绝不是指针。
4、函数设计三要素包括功能、输入和输出三个方面的内容,它们和函数结构的关系是怎么样的?
答:
函数设计的功能告诉这个函数具有具体的功能。
输入对应函数的首部,输出对应函数的返回值。
5、值调用的特点是什么?
答:
函数体内相应数据的改变不影响调用它的函数中的数据。
三、分析填表题(每小题6分,共30分)
1.structstudent
{intStuId;
intScore[4];
intTotal;
}
structstudentcom[10]
={{1,90,83,72,82},{2,71,92,88,78},
{3,85,72,98,66},{4,78,95,63,90}};
structstudentx,*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(inti=0;i<2;i++)
for(intj=3;j>0;j--)printf("*");
}
i
0
1
2
j
321
321
3
输出
***
***
结束
3.main()
{inti=5;
charc[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[]
a
b
c
c
d
\0
步骤
(2)i=2时c[]
a
b
b
c
d
\0
步骤
(2)i=1时c[]
a
a
b
c
d
\0
4.main()
{
inta[10],b[10];
int*aPtr,*bPtr,i;
aPtr=a;bPtr=b;
for(i=0;i<6;i++,aPtr++,bPtr++)
{
*aPtr=i+2;
*bPtr=3*i;
}
aPtr=&a[1];①
bPtr=&b[1];②
for(i=0;i<5;i++,aPtr++,bPtr++)
{
*aPtr+=i;③
*bPtr*=i;④
}
}
i
0
1
2
3
4
5
6
7
8
9
a
2
3
5
7
9
11
b
0
0
6
18
36
60
i
0
1
2
3
4
5
6
7
8
①*aPtr
2
3
4
5
6
7
③*aPtr
2
3
5
7
9
11
②*bPtr
0
3
6
9
12
15
④*bPtr
0
0
6
18
36
60
5.以下程序有语法错误和逻辑错误。
在改正了语法错误后,为有效率地调试程序,你认为在调试时应该在哪些地方设置断点,应该观察哪几个量?
找出程序中的错误。
(观察的变量、断点设置、各种错误的改正等写在表格的说明栏中)
程序功能:
输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。
如”ABCD”颠倒为”DCBA”。
程序
说明
1
#include
2
intmain()
3
{
4
inti,k,tmp;
5
charstr[];
数组未指定元素个数
6
7
printf("inputastring:
\n");
8
9
while((str[i]=getchar())!
=’\n’)
i未赋初值
10
i++;
11
str[i]=’\0’;
12
13
k=i;
K=i;应改为k=--i;
14
for(i=0;i 观察i和k,两个变量 15 { 的变化。 16 tmp=str[i]; 17 str[i]=str[k]; 18 str[k]=tmp; 19 k++; K++;应改为k--; 20 } 21 22 for(i=0;str[i]==’\0’;i++) ==改为! = 23 putchar(str[i]); 24 25 return0; } 四、程序设计题(每小题10,共30分) 编程题要求: (1)先给出伪代码,然后再写出源码,重要变量和语句要加注释; (2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。 1、编写一个程序,这个程序能够找出几个整数中最小的整数。 假定程序读取的第一个值是程序要处理的整数的个数。 给出伪代码描述及程序实现。 Main() {intn,x,min; Scanf(“%d”,&n);/*输入处理的整数个数*/ Scanf(“%d”,&x);/*输入要处理的第一个数*/ min=x; For(i=2;i<=n;i++)/*用循环找出几个整数的最小值*/ { scanf(“%d”,x); if(max>x)min=x; } Printf(“%d”,min); } 2、我们需要一个小程序,输入两个整数,输出这两个数的平方和与平方差,要求: (1)主函数负责接收这两个整数 Main() {doublesum,diff; intx,y; scanf(“%d%d”,&x,&y); sum=quadratic_sum(x,y); diff=quadratic_diff(x,y); printf(“%lf%lf\n”,sum,diff); } (2)将计算代码独立做成子函数quadratic_sum和quadratic_diff doublequadratic_sum(intx,inty) {dobulesum; Sum=x*x+y*y; Returnsum; } doublequadratic_diff(intx,inty) {dobulediff; Sum=x*x-y*y; Returndiff; } (3)在主函数中调用子函数并输出结果到屏幕上 功能 输入信息 输出信息 求两个数的平方和quadratic_sum (intx,inty) doublesum 求两个数的平方差quadratic_diff (intx,inty) doublediff 函数名 形参表 函数类型 3、读入30个取值在20到90之间的数字,读取每个数字时,仅在它不是重复已经读取数字的情况下才输出它。 使用最小的可能数组来解决这个问题。 main() {inta[30],i,j; for(i=0;i<30;i++) {a[i]=20+rand()%70; for(j=i-1;j>=0;j--) if(a[i]==a[j]){i--;break;} if(j<0)printf("%d",a[i]); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)