计算机软件Word格式.docx
- 文档编号:21547028
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:63
- 大小:224.93KB
计算机软件Word格式.docx
《计算机软件Word格式.docx》由会员分享,可在线阅读,更多相关《计算机软件Word格式.docx(63页珍藏版)》请在冰豆网上搜索。
为了提高程序的可靠性,必须通过测试尽可能多得发现并改正程序中的错误。
程序的可测试性直接影响测试的质量和效率。
7、可维护性(Maintainability):
诊断和改正程序错误以及功能扩充和性能提高的容易程度。
程序设计是一个迭代过程,要开发出高质量的程序需要对程序进行多次修改和完善。
程序的可维护性决定了上述工作的质量和效率。
8、可重用性(Reusability):
可重用性是指在其它应用中该程序可以被再次使用的容易程度。
如果我们在开发新程序时,能够直接或稍加修改就能利用原有的程序,则会大大提高新程序开发的质量和效率。
因此,提高程序的可重用性是提高程序设计质量和效率的根本途径。
1.3计算题
(1)计算-1的8位原码、反码、补码和Excess_127码。
分别为:
10000001B、11111110B、11111111B、01111110B
(2)计算机内存中相邻四个字节的值为10111110000000000000000000000000,试问该值表示的实数、有符号数和无符号数各为多少?
分别是:
实数0.125、有符号数-1107296256(负数在计算机中用补码表示)无符号数3187671040
(3)字符‘A'
、‘a'
、‘1'
的ASCII值是多少,给出将大写字母的ASCII转换成对应小写字母ASCII值得计算公式。
‘A’:
41H‘a’:
61H‘1’:
31H
大写转化为小写:
大写字母的ASCII值+20H=小写字母的ASCII值
1.4为下列问题求解设计算法,并分别用程序流程图、N—S盒图和PAD图加以描述。
(1)有两个调料盒S1和S2,分别盛有糖和盐,要求将它们互换(即S1盒原来盛糖,现在改盛盐;
S2同理)。
算法思想:
这是一个两个变量交换值的问题,可以设置一个临时变量,首先把S1的值放入临时变量中,然后将S2的值放入S1中,最后将临时变量的值放入S1中即可。
程序流程图:
N-S盒图:
PAD图:
(2)依次输入6个整数,要求输出其中最小的数。
定义一个临时变量用来存放最小的数,首先输入第一个数赋值于临时变量,然后循环输入其余的整数,比较输入的整数和临时变量的大小,如果大于临时变量则继续输入,反之,则给临时变量赋值为次此数。
最后临时变量中存放的数输入的数中的最小数,输入临时变量即可。
(3)输入3个整数,按从大到小的顺序输出。
输入三个数a、b、c,首先比较a和b,如果a>
b,则比较c和a,如果c>
a则输出c、a、b;
如果c<
a,在比较c和b,如果c>
b,输出a、c、b,否则输出a、b、c;
对于a<
b的情况同理可以得出结果。
(4)求1*2*3*……*10。
算法思想:
定义一个变量用来存放最后的值,赋初值为1,做十次循环,每次循环在原来变量的基础上乘循环变量值(即1-10),最后输出这个变量即可。
(5)输入两个整数,求其最大公约数。
选取两个数中较小的数作为起始值,让这两个数分别除以这个值,如果可以整除,则这个数就是最后结果,如果不能整除则将起始值减一之后再用原来的两个数对其做除法运算,知道整除为止,得到的起始值的最后值就是结果。
1.5算法思考题
(1)钞票换硬币:
把一元钞票换成一分、二分、五分硬币(每种至少一枚),有哪些种换法?
分析:
1元相当于100分,设5分、2分、1分的硬币数分别为X、Y、Z,求换法就是在寻找这样一种组合,使得5*X+2*Y+Z=100,所以每当找到1种组合时,将个数记录下来,就可知换法有多少种,算法描述如下:
Count=0;
//用于记录个数,初始为0
for(X=1;
X<
=20;
X++)
for(Y=1;
Y<
=50;
Y++)
for(Z=1;
Z<
=100;
Z++)
{
if(5*X+2*Y+Z==100)//可实现交换
Count++;
}
输出Count
(2)百钱买百鸡:
一只公鸡值5元,一只母鸡值3元,3只小鸡值1元,现用一百元要买一百只鸡,问有什么方案?
分析:
由题意可知,假设公鸡、母鸡、小鸡分别有X、Y、Z只,那么X、Y、Z满足:
X+Y+Z=100,而且要满足钱数限定:
5*X+3*Y+1/3*Z=100,由于3只小鸡1元钱,所以小鸡的个数必须是3的整数倍,即:
Z是3的整数倍。
可通过限制条件,筛选出满足条件的X,Y,Z。
当然X、Y、Z还满足以下条件:
5*X<
=100;
3*Y<
Z<
=100。
以下是算法描述:
for(X=0;
for(Y=0;
for(Z=0;
if(5*X<
=100and3*Y<
=100andz%3==0)
if(X+Y+Z==100and5*X+3*Y+Z/3==100)
输出X、Y、Z;
(3)斐波那契兔子的问题:
某人有一对兔子饲养在围墙中,如果它们每个月生一对兔子,且新生的兔子在第二个月后也是每个月生一对兔子,问一年后围墙中共有多少对兔子。
第一个月是最初的一对兔子生下一对兔子,围墙内共有两对兔子。
第二个月仍是最初的一对兔子生下一对兔子,共有3对兔子。
到第三个月除最初的兔子新生一对兔子外,第一个月生的兔子也开始生兔子,因此共有5对兔子。
继续推下去,第12个月时最终共有对377对兔子。
由分析知,每个月的兔子都是上个月的兔子与新增兔子之和,而上个月新生的兔子到下个月才会生兔子,所以新增的兔子都是上两月的兔子生的。
设每个月的兔子数为F(n),则可列出下列式子:
F(0)=F
(1)=1
F(n)=F(n-1)+F(n-2)
显然可用递归的方法解出此题,算法流程图如下:
习题2参考答案
1、答:
C语言的主要特点有:
(1)C程序是由函数组成的。
(2)函数由函数头部和函数体组成。
(3)C程序总是从main函数开始执行。
(4)每个语句和数据声明的最后必须有一个“;
”。
(5)C语言没有自己的输入输出语句,它的输入输出由库函数printf和scanf完成。
(6)可以添加注释。
(7)C语言程序中的变量必须先声明后使用。
2、答:
执行C程序的一般步骤为:
由C语言编写的源程序得到想要的结果,需要经过如下步骤:
(1)编辑源程序。
程序员使用任一种编辑软件(编辑器),将编写好的C程序输入计算机,并以文本文件的形式保存在计算机的磁盘上。
编辑的结果是建立C源程序文件。
C源程序文件存盘的扩展名必须是“.c”。
(2)编译程序。
编译是指将编辑好的源文件翻译成二进制目标代码的过程。
编译过程是使用C语言提供的编译程序(编译器)完成的。
在编译过程中,编译程序首先检查程序的语法错误,如果存在错误,则返回编辑程序进行修改。
正确的源程序在编译后形成扩展名为.obj的目标文件。
(3)连接程序。
编译后产生的目标文件还不可以直接执行,还需要把目标文件、系统的函数库和其他目标函数连接在一起,生成可以运行的可执行文件。
(4)执行程序。
生成可执行文件后,就可以执行。
如果程序执行后没有达到预期的目的,就需要进一步修改源程序,并重复上述过程,直到达到预期目的。
3、答:
使用VC6开发控制台程序的方法为:
(1)在MiscrosoftVisualC++6.0环境下,首先建立一个空的工程。
(2)而后建立一个C源程序文件,并在该文件中输入源代码。
(3)使用Bulid命令或者快捷键F7,进行编译连接。
(4)如果没有错误,选择Execute或者快捷键Ctrl+F5,进行执行。
4、VC6下提供的调试方法主要有:
(1)修正语法错误。
在编译过程中,会在输出窗口中列出所有错误项,每个错误项都给出其所在的文件名、行号及其错误编号。
(2)设置断点。
在VC6中,用于调试的断点有:
位置断点、数据断点、条件断点。
可以采用快捷方法或者Breakpoints对话框来设置断点。
(3)启用调试器。
有四种Debug命令:
StepOver、、StepInto、StepOut、、RuntoCursor。
(4)可以使用QuickWatch窗口、Watch窗口、Variables窗口来监视程序执行情况。
习题3参考答案:
3.1选择题
1.B2.D3.D4.A5.A6.A7.C8.C9.C10.B
3.2写出下列程序的输出结果
1.200310c8
2.a=100,b=200
3.97,141,61,a
4.
5.aabbcabc
4,3
6.6,6,6,7
3.3编程题
1.
#include<
stdio.h>
voidmain()
inta=500;
printf("
%d,%o,%x\n"
a,a,a);
输出结果:
500,764,1f4
2.
floatx;
scanf("
%f"
&
x);
a=%.3f,a=%.3e\n"
x,x);
输入:
66
a=66.000,a=6.60000e+001
3.
charch1='
a'
ch2=ch1;
%c,%d,%o,%x\n"
ch1,ch1,ch1,ch1);
ch2,ch2,ch2,ch2);
A,65,101,41
a,97,141,61
floatx,y,z,s,v;
%f%f%f"
x,&
y,&
z);
s=2*(x*y+x*z+y*z);
v=x*y*z;
Area=%.lf,Volume=%.lf\n"
s,v);
345
Area=94,Volume=60
5.
#definePI3.14
math.h>
floatr,s,l;
r);
s=(float)PI*r*r;
l=2*(float)PI*r;
r=%4.1f,s=%4.1f,l=%4.1f\n"
r,s,l);
3
r=3.0,s=28.3,l=18.8
6.
floatx1,y1,x2,y2,x3,y3,a,b,c,p,s;
%f%f%f%f%f%f"
x1,&
y1,&
x2,&
y2,&
x3,&
y3);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
Area=%f\n"
s);
5638023
Area=12.000013
习题4参考答案
4.1所谓输入输出是以计算机主机为主体而言的。
输入是指通过输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据;
输出是指通过计算机向外部输出设备(如显示器、打印机、磁盘、绘图仪等)输出数据。
由于键盘和显示器是用户上机使用最频繁的输入输出设备,所以操作系统将键盘定义为标准输入设备,将显示器定义为标准输出设备。
常用的标准输入输出函数有字符输入输出函数putchar、getchar及格式化输入输出函数printf、scanf。
putchar函数用来向标准输出设备输出一个字符,getchar函数用来从标准输入设备输入一个字符。
printf()函数用来向终端输出若干个任意类型的数据,scanf()函数用来从标准输入设备输入若干个任意类型的数据。
4.2参见表4-1,4-3。
4.3#include<
main()
charc;
pleaseenterachar\n"
);
c=getchar();
//或scanf("
%c"
c);
%c,%d\n"
c,c);
4.4#include<
floatc,f;
输入华氏温度:
\n"
f);
c=(f-32)*5/9;
摄氏温度为:
%5.2f\n"
c);
4.5#include<
chars[20];
gets(s);
//或scanf("
%s"
s);
printf(“%s\n”,s);
//或puts(s);
4.6#include<
#include<
string.h>
chars1[10],s2[10],s3[20];
pleaseentertwostring\n"
gets(s1);
gets(s2);
strcat(s1,s2);
%s\n"
s1);
%d\n"
strlen(s1));
4.7#include<
doublea,b;
pleaseentertwodata:
%lf%lf"
a,&
b);
%lfraisedto%lfis%lf\n"
a,b,pow(a,b));
4.8#include<
doublex1,y1,x2,y2,result;
pleaseenterthefirstpointdata:
y1);
pleaseenterthesecondpointdata:
y2);
result=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
Theresultis%lf\n"
result);
习题5参考答案
1.填空题
(1)n=4
(2)2*i-1(3)7(4)######
2.#include<
voidmain()
longm,n,a,b,s;
printf("
\nPleaseinputvalueofM:
"
scanf("
%ld"
m);
\nPleaseinputvalueofN:
n);
a=(m>
n)?
m:
n;
b=(m>
n:
m;
while(a%b!
=0)
{
s=a%b;
a=b;
b=s;
}
\nGongyueshu:
%ld\n"
\nGongBeishu:
(m*n)/s);
3.#include<
inta,b,c,d,e;
Pleaseinputaninteger:
%d"
a);
if(a/1000==0)
printf("
inputerror!
return;
b=a/1000;
e=a%10;
c=a%1000/100;
d=a%100/10;
if(b==e&
&
c==d)
YES.\n"
else
NO.\n"
4.#include<
intc;
intNum1,Num2,Num3,Num4;
Num1=Num2=Num3=Num4=0;
do
c=getchar();
if((c>
='
&
c<
z'
)||(c>
A'
Z'
))
Num1++;
elseif(c>
0'
9'
)
Num2++;
elseif(c=='
'
Num3++;
else
Num4++;
}while(c!
\n'
英文字母有%d个,数字有%d个,空格有%d个,其它字符有%d个。
Num1,Num2,Num3,Num4);
5.#include<
floata,b,c,disc,x1,x2,realpart,imagepart;
Inputa,bandc:
%f,%f,%f"
b,&
Theequation"
disc=b*b-4*a*c;
if(fabs(disc)<
=1e-7)
hastwoequalroots:
%4.2f.\n"
-b/(2*a));
if(disc>
1e-7)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
hasdistincerealroots:
%4.2fand%4.2f.\n"
x1,x2);
}
realpart=-b/(2*a);
imagepart=sqrt(-disc)/(2*a);
printf("
hascomplextroots:
%4.2f+%4.2fi"
realpart,imagepart);
and%4.2f-%4.2fi\n"
6.#include<
inti,j;
for(i=1;
i<
=5;
i++)
for(j=1;
j<
=i;
j++)
*"
for(i=5;
i>
=1;
i--)
for(j=i;
j>
j--)
7.#include<
#defineEPS1e-7
intn;
doublex,an,sum;
inputx:
%lf"
x=x*3.1415926/180;
sum=0;
an=x;
n=1;
sum+=an;
n=n*(n+1)*(n+2);
an*=(-x*x)/n;
an=%f\n"
an);
}while(fabs(an)>
=EPS);
sin(%.4lf)=%.4lf\n"
x,sum);
8.#include<
unsigned
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件