文档库 最新最全的文档下载
当前位置:文档库 › 清华数据结构习题集答案C语言版

清华数据结构习题集答案C语言版

清华数据结构习题集答案C语言版
清华数据结构习题集答案C语言版

清华数据结构习题集答案(C 语言版严蔚敏)

第1章 绪论

1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

存储结构是数据结构在计算机中的表示。

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。

1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。

解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。

1.3 设有数据结构(D,R),其中

{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =

试按图论中图的画法惯例画出其逻辑结构图。

解:

1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。

解:

ADT Complex{

数据对象:D={r,i|r,i 为实数}

数据关系:R={}

基本操作:

InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和im

DestroyCmoplex(&C) 操作结果:销毁复数C

Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值

Put(&C,k,e)

操作结果:改变复数C的第k元的值为e

IsAscending(C)

操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0 IsDescending(C)

操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e)

操作结果:用e返回复数C的两个元素中值较大的一个

Min(C,&e)

操作结果:用e返回复数C的两个元素中值较小的一个}ADT Complex

ADT RationalNumber{

数据对象:D={s,m|s,m为自然数,且m不为0}

数据关系:R={}

基本操作:

InitRationalNumber(&R,s,m)

操作结果:构造一个有理数R,其分子和分母分别为s和m

DestroyRationalNumber(&R)

操作结果:销毁有理数R

Get(R,k,&e)

操作结果:用e返回有理数R的第k元的值

Put(&R,k,e)

操作结果:改变有理数R的第k元的值为e

IsAscending(R)

操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)

操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)

操作结果:用e返回有理数R的两个元素中值较大的一个

Min(R,&e)

操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber

1.5 试画出与下列程序段等价的框图。

(1) product=1; i=1;

while(i<=n){

product *= i;

i++;

}

(2) i=0;

do {

i++;

} while((i!=n) && (a[i]!=x));

(3) switch {

case x

case x=y: z=abs(x*y); break;

default: z=(x-y)/abs(x)*abs(y);

}

1.6 在程序设计中,常用下列三种不同的出错处理方式:

(1) 用exit语句终止执行并报告错误;

(2) 以函数的返回值区别正确返回或错误返回;

(3) 设置一个整型变量的函数参数以区别正确返回或某种错误返回。

试讨论这三种方法各自的优缺点。

解:(1)exit常用于异常错误处理,它可以强行中断程序的执行,返回操作系统。

(2)以函数的返回值判断正确与否常用于子程序的测试,便于实现程序的局部控制。

(3)用整型函数进行错误处理的优点是可以给出错误类型,便于迅速确定错误。

1.7 在程序设计中,可采用下列三种方法实现输出和输入:

(1) 通过scanf和printf语句;

(2) 通过函数的参数显式传递;

(3) 通过全局变量隐式传递。

试讨论这三种方法的优缺点。

解:(1)用scanf和printf直接进行输入输出的好处是形象、直观,但缺点是需要对其进行格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃。

(2)通过函数的参数传递进行输入输出,便于实现信息的隐蔽,减少出错的可能。

(3)通过全局变量的隐式传递进行输入输出最为方便,只需修改变量的值即可,但过多的全局变量使程序的维护较为困难。

1.8 设n为正整数。试确定下列各程序段中前置以记号@的语句的频度:

(1) i=1; k=0;

while(i<=n-1){

@ k += 10*i;

i++;

}

(2) i=1; k=0;

do {

@ k += 10*i;

i++;

} while(i<=n-1);

(3) i=1; k=0;

while (i<=n-1) {

i++;

@ k += 10*i;

}

(4) k=0;

for(i=1; i<=n; i++) {

for(j=i; j<=n; j++)

@ k++;

}

(5) for(i=1; i<=n; i++) {

for(j=1; j<=i; j++) {

for(k=1; k<=j; k++)

@ x += delta;

}

(6) i=1; j=0;

while(i+j<=n) {

@ if(i>j) j++;

else i++;

}

(7) x=n; y=0; // n 是不小于1的常数

while(x>=(y+1)*(y+1)) {

@ y++;

}

(8) x=91; y=100;

while(y>0) {

@ if(x>100) { x -= 10; y--; }

else x++;

}

解:(1) n-1

(2) n-1

(3) n-1 (4) n+(n-1)+(n-2)+...+1=2

)1(+n n (5) 1+(1+2)+(1+2+3)+...+(1+2+3+...+n)=

∑=+n i i i 12)1( =∑∑∑∑====+=+=+n

i n i n i n i i i i i i i 1

121212121)(21)1(21 =)32)(1(12

1)1(41)12)(1(121++=++++n n n n n n n n (6) n (7) ??n 向下取整

(8) 1100

1.9 假设n 为2的乘幂,并且n>2,试求下列算法的时间复杂度及变量count 的值(以n 的函数形式表示)。

int Time(int n) {

count = 0; x=2;

while(x

x *= 2; count++;

} return count; }

解:)(log 2n o

count=2log 2-n

1.11 已知有实现同一功能的两个算法,其时间复杂度分别为()n O

2和()10n O ,假设现实计算机可连续运算的时间为710秒(100多天),又每秒可执行基本操作(根据这些操作来估算算法时间复杂度)510次。

试问在此条件下,这两个算法可解问题的规模(即n 值的范围)各为多少?哪个算法更适宜?请说明理由。

解:12102=n

n=40 121010=n

n=16 则对于同样的循环次数n ,在这个规模下,第二种算法所花费的代价要大得多。故在这个规模下,第一种算法更适宜。

1.12 设有以下三个函数:

()10002124++=n n n f ,()3450015n n n g +=,()n n n n h log 5005.3+= 请判断以下断言正确与否:

(1) f(n)是O(g(n))

(2) h(n)是O(f(n))

(3) g(n)是O(h(n))

(4) h(n)是O(n 3.5)

(5) h(n)是O(nlogn)

解:(1)对 (2)错 (3)错 (4)对 (5)错

1.13 试设定若干n 值,比较两函数2n 和n n 2

log 50的增长趋势,并确定n 在什么范围内,函数2n 的值大于n n 2

log 50的值。 解:2n 的增长趋势快。但在n 较小的时候,n n 2

log 50的值较大。 当n>438时,n n n 22log 50>

1.14 判断下列各对函数()n f 和()n g ,当∞→n 时,哪个函数增长更快?

(1)

()()310!ln 102n n n n f ++=,()724++=n n n g (2) ()()()25!ln +=n n f ,()5.213n n g =

(3)

()141.2++=n n n f ,()()()n n n g +=2!ln (4) ()()()2223n n n f +=,()()52

n n n g n += 解:(1)g(n)快 (2)g(n)快 (3)f(n)快 (4) f(n)快

1.15 试用数学归纳法证明:

(1) ()()6/1211

2++=∑=n n n i

n i ()0≥n (2) ()()1/110

--=+=∑x x x n n i i

()0,1≥≠n x (3) 1221

1-=∑=-n n i i ()1≥n

(4) ()2112n

i n i =-∑= ()1≥n

1.16 试写一算法,自大至小依次输出顺序读入的三个整数X ,Y 和Z 的值

解:

int max3(int x,int y,int z)

{

if(x>y)

if(x>z) return x;

else return z;

else

if(y>z) return y;

else return z; }

1.17 已知k 阶斐波那契序列的定义为

00=f ,01=f ,…,02=-k f ,11=-k f ; k n n n n f f f f ---+++=Λ21,Λ,1,+=k k n

试编写求k 阶斐波那契序列的第m 项值的函数算法,k 和m 均以值调用的形式在函数参数表中出现。

解:k>0为阶数,n 为数列的第n 项

int Fibonacci(int k,int n)

{

if(k<1) exit(OVERFLOW); int *p,x;

p=new int[k+1];

if(!p) exit(OVERFLOW);

int i,j;

for(i=0;i

if(i

else p[i]=1;

}

for(i=k+1;i

x=p[0]; for(j=0;j

p[k]=2*p[k-1]-x;

}

return p[k];

} 1.18 假设有A ,B ,C ,D ,E 五个高等院校进行田径对抗赛,各院校的单项成绩均已存入计算机,并构成一张表,表中每一行的形式为

编写算法,处理上述表格,以统计各院校的男、女总分和团体总分,并输出。

解:

typedef enum{A,B,C,D,E} SchoolName;

typedef enum{Female,Male} SexType;

typedef struct{

char event[3]; //项目

SexType sex;

SchoolName school; int score; } Component;

typedef struct{

int MaleSum; //男团总分

int FemaleSum; //女团总分 int TotalSum; //团体总分

} Sum;

Sum SumScore(SchoolName sn,Component a[],int n)

{

Sum temp;

temp.MaleSum=0;

temp.FemaleSum=0;

temp.TotalSum=0;

int i;

for(i=0;i

if(a[i].school==sn){

if(a[i].sex==Male) temp.MaleSum+=a[i].score;

if(a[i].sex==Female) temp.FemaleSum+=a[i].score;

}

}

temp.TotalSum=temp.MaleSum+temp.FemaleSum;

return temp; }

1.19 试编写算法,计算i i 2!*的值并存入数组a[0..arrsize-1]的第i-1个分量中(i=1,2,…,n)。假设计算机中允许的整数最大值为maxint ,则当n>arrsize 或对某个()n k k

≤≤1,使int max 2!>?k k 时,应按出错处理。注意选择你认为较好的出错处理方法。

解:

#include

微积分复习题题库超全

习题 1—2 1.确定下列函数的定义域: (1)91 2 -=x y ; (2)x y a arcsin log =; (3)x y πsin 2 = ; (4))32(log 213-+-=x x y a ;(5))4(log 2 1 arccos 2x x y a -+-= 2.求函数 ?????=≠=) 0(0 )0(1sin x x x y 的定义域和值域。 3.下列各题中,函数)(x f 和)(x g 是否相同? (1)2)(,)(x x g x x f ==; (2)2 sin 21)(,cos )(2π -==x g x x f ; (3)1)(,1 1 )(2-=+-= x x g x x x f ; (4)0)(,)(x x g x x x f == 。 4.设x x f sin )(=证明: ?? ? ?? +=-+2cos 2sin 2)()(x x x x f x x f ??? 5.设5)(2++=bx ax x f 且38)()1(+=-+x x f x f ,试确定b a ,的值。 6.下列函数中哪些是偶函数?哪些是奇函数?哪些是既非奇函数又非偶函数? (1))1(22x x y -= (2)3 23x x y -=; (3)2211x x y +-=; (4))1)(1(+-=x x x y ; (5)1cos sin +-=x x y (6)2 x x a a y -+=。 7.设)(x f 为定义在),(∞+-∞上的任意函数,证明: (1))()()(1x f x f x F -+= 偶函数; (2))()()(2x f x f x F --=为奇函数。 8.证明:定义在),(∞+-∞上的任意函数可表示为一个奇函数与一个偶函数的和。 9.设)(x f 定义在),(L L -上的奇函数,若)(x f 在),0(L 上单增,证明:)(x f 在)0,(L -上也单增。 10.下列各函数中哪些是周期函数?对于周期函数,指出其周期: (1))2cos(-=x y (2)x y 4cos =; (3)x y πsin 1+=; (4)x x y cos =; (5)x y 2sin = (6)x x y tan 3sin +=。 11.下列各组函数中哪些不能构成复合函数?把能构成复合函数的写成复合函数,并指出其定义域。 (1)t x x y sin ,3== (2)2,x u a y u ==; (3)23,log 2+==x u u y a ; (4)2sin ,-==x u u y (5)3,x u u y == (6)2,log 2-==x u u y a 。 12.下列函数是由哪些简单函数复合而成的? (1)321)1(++=x y (2)2 )1(3+=x y ;

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=3997 https://www.wendangku.net/doc/bf14227882.html,快速开发新闻系统在线播放 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=1243 https://www.wendangku.net/doc/bf14227882.html, 2.0快速入门(12)-https://www.wendangku.net/doc/bf14227882.html, 2.0网站快速导航 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=4825 https://www.wendangku.net/doc/bf14227882.html, 高级排错技巧 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.wendangku.net/doc/bf14227882.html,开发SQL Server 2005 OLAP应用 https://www.wendangku.net/doc/bf14227882.html,/so/so138.aspx?id=2535

C语言程序设计教程 清华大学出版社 陈明主编 第4章答案

第4章习题解答 一、选择题 1.在C语言中,函数返回值的类型最终取决于 A)函数定义时的函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型 解析:函数返回值类型最终取决于定义函数时所定义的函数类型。 答案:A 2.设函数Fun()的定义形式为: void Fun(char ch, float x){} 则以下对函数Fun()的调用语句中,正确的是。 A)Fun("abc", 3.0); B)t = Fun('D', 16.5); C)Fun('65', 2.8); D)Fun(32, 32); 解析:选项A中"abc"是字符串,与形参不匹配:由于Fun函数的返回值类型为void,所以选项B中进行了赋值操作是不正确的;在选项C中,'65'是不合法的字符形式,单引号中应该是单个字符。只有选项D才是合法的函数调用形式。 答案:D 3.有以下程序: /* 文件路径名:ex4_1_3\main.c */ #include /* 标准输入/输出头文件*/ int f1(int x, int y) { return x > y ? x : y; } int f2(int x, int y) { return x > y ? y : x; } int main(void) /* 主函数main() */ { int a = 4, b = 3, c = 5, d = 2, e, f, g; /* 定义变量*/ e = f2(f1(a, b), f1(c, d)); f = f1(f2(a, b), f2(c, d));/* 调用函数*/ g = a + b + c + d - e - f; /* 算术运算*/ printf("%d,%d,%d\n", e, f, g); /* 输出e,f,g */ return 0; /* 返回值0, 返回操作系统*/ } 程序运行后的输出结果是。 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7 解析:函数f1用于求两个数中的最大数,而函数f2用于求两个数中的最小数。因此有:e=f2(f1(a,b),f1(c,d))=f2(f1(4,3),f1(5,2))= f2(4,5)=4; f=f1(f2(a,b),f2(c,d)) =f1(f2(4,3),f2(5,2)) =f1(3,2)=3; g=a+b+c+d-e-f=4+3+5+2-4-3=7。

清华大学C语言程序练习题

一、选择题 1.一个C语言程序是由(D )构成。 A.语句B.行号C.数据D.函数 2.下面标识符中正确的是()。 A.d&ef B.6a C.z4x5c D.a3/b4 3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。 A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8 4.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。 A.缩排位置相同的 B.在其之前未配对的 C.在其之前未配对的最近的if D.在同一行上的if 5.下列表达式的结果正确的是()。 int aa,bb,cc,dd; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1; (aa+1==2)?bb=aa+2:aa+3 A.2 B.3 C. 1 D.5 6.设有int x=11 ;则表达式(x+1/3)的值是(C )。 A.3 B.4 C.11 D.12 7.设有字符串A=“He has 钱!”,则该字符串的长度为( C )。 A.9 B.10 C.11 D.8 8.有如下程序段,则正确的执行结果是() int m=3; while(m<=5) { printf("%d ",m-3); m++; } A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果 9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。 A.无输出B.结果不确定C.-1 D.1

10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。 int x;Char y;Char z[20]; A.scanf("%d%c%c",&x,&y,&z); B.scanf("%d%c%s",&x,&y,&z); C.scanf("%d%c%c",&x,&y,z); D.scanf("%d%c%s",&x,&y,z); 11.struct ex { int x ; float y; char z ; } example; 则下面的叙述中不正确的是()。 A.struct结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型 12.在C语言中对于实型数组,其每个数组元素的类型是( )。 A.实型 B.整型 C.可以为任何类型 D.不确定 13.若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。 A.p+1 B.a+1 C.a++ D.++p 二、填空题 1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。 2.设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。 3.一个变量的指针是指___________________________________________________。 4.在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。 5.以下程序运行后的输出结果是。该程序的功能是。 int main() { int x=10,y=20 ,t=0; if(x!=y) t=x;

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(著)答案

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)答案 第三章答案1-22 1. (1)立即寻址没有 (2)直接寻址 7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址 0D5F0H (6) 基址变址寻址 8E18H (7)相对基址变址 004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD [BX][0B2H], CX (4) MOV AX,2A59H ADD [0524H] ,AX (5) ADD AL ,0B5H 3. (1)寄存器间接寻址 MOV BX,OFFSET [BLOCK][0AH] MOV DX ,[BX] (2)寄存器相对寻址 MOV SI,OAH MOV DX,[BLOCK][SI] (3)基址变址寻址 MOV BX ,BLOCK MOV SI,OAH MOV DX,[BX][SI] 4. 现有(DS)=2000H, (BX)=0100H, (SI)=0002H,(20100)=12H, (20101)=34H,(20102)=56H, (20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。 (1)MOV AX,1200H 1200H (2) MOV AX,BX 0100H

(3) MOV AX,[1200] 4C2AH 注意,是字单元!! (4)MOV AX,[BX] 同上 (5)MOV 1100[BX] 4C2AH (6) MOV AX,[BX][SI] 7856H (7) MOV AX,1100[BX][SI] 65B7H 5.(1) 7CD9H (2) 1200H (3) 6319H 6. MOV BX,2000H LES DI ,[BX] MOV AX, ES:DI 7.转向地址OBJ的值分别为:(1)064DH (2)0691H (3)05E0H 注意有符号数的符号位 8.(1) MOV AX,0ABH 立即数寻址无物理地址 (2) MOV AX,BX 寄存器寻址同上 (3) MOV AX,[100] 直接寻址 20100H (4) MOV AX,VAL 直接寻址 20050H (5) MOV AX,[BX] 寄存器间接寻址 20100H (6) MOV AX,ES:[BX] 直接寻址 21100H (7) MOV AX,[BP] 寄存器间接寻址 20010H (8)MOV AX,[SI] 同上 200A0H (9) MOV AX,[BX+10] 寄存器相对寻址 20110H (10)MOV AX,VAL[BX] 同上 20150H (11) MOV AX,[BX][SI] 基址变址寻址 201A0H (12) MOV AX,VAL[BX][SI] 相对基相变址寻址 201F0H 9.(1)的指令: MOV AX, [BX][0CH] MOV ZREO ,AX (2) 的指令: MOV AX,ARRAY[BX] MOV ZREO,AX 10. MOV AX,TABLE 是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234H LEA AX,TABLE 是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H 11. 执行完指令后,(AX)=1E00H 12. LEA AX,CSTRING MOV DL,AX MOV DH,[AX+6] 13. 这参考课本P51--P53 14.LES BX,[2000]

visualbasic程序设计教程-第四版-刘炳文编著-清华大学

Visual Basic 程序设计教程 部分习题参考 第四版刘炳文编著清华大学出版社 第五章 5.4、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。通过inputbox 函数输入数据,在窗体上显示和及平均值。 Dim a as single For i=1 to 4 a=inputbox(“请输入一个数:”,“数据输入”) sum=sum+a n=n+1 avg=sum/n next i print “和是:”,sum print “平均值是:”,avg 5.5、编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。 Dim a as variant Fontsize=20 a=inputbox(“请输入姓名:”,“数据输入”) print “姓名:”;a a=inputbox(“请输入年龄:”,“数据输入”) print “年龄:”;a a=inputbox(“请输入通信地址:”,“数据输入”) print “通信地址:”;a a=inputbox(“请输入邮政编码:”,“数据输入”) print “邮政编码:”;a a=inputbox(“请输入电话:”,“数据输入”) print “电话:”;a 5.7.设a=5,b=2.5,c=7.8,编程序计算: y=(πab)/(a+bc) 程序: Dim a as single,b as single,c as single a=5 b=2.5 c=7.8 pi=3.14 y=(pi*a*b)/(a+b*c) print “结果是:”;y 5.8、输入以秒为单位表示的时间,编写程序,将其转换为几日几时几秒。 Dim a as long,d as integer ,h as integer,s as integer a=inputbox(“请输入秒数:”,“数据输入”)

汇编语言

武汉理工大学华夏学院课程设计报告书 课程名称:汇编语言课程设计 题目:在屏幕上显示变换的图形 系名:信息工程系 专业班级:软件工程1131 姓名: 学号: 102128131 指导教师:李捷 2015 年 1 月 9 日

课程设计任务书 学生姓名: 专业班级: 软件1131 指导教师: 李捷 工作单位: 信息工程系 设计题目:在显示器上显示对称图1、图2 初始条件: PC 机上实现课程设计 要求完成的主要任务: 主要任务:(在规定的时间内完成下列任务) 1. 按”Esc ”退出程序;能有2种图形显示,2种色彩方案(见上图) 2. 按“1 , 2” 黑白----------显示图形1,图形2 3. 按“3 , 4”色彩方案1---显示图形1,图形2(颜色自定) 4. 按“5 , 6”色彩方案2---显示图形1,图形2(颜色自定)+ 时间安排: 设计报告撰写格式要求:(按提供的设计报告统一格式撰写) 1、 题目:在显示器上显示有色彩变换的数字对称图 2、设计目的:在课程设计实验中,利用顺序结构、循环结构和主、子程序的调用,更进 一步的学习和掌握汇编语言课程设计。 2、设计内容:写出简要的程序功能描述、程序运行条件--所需工具软件、输入/输出描述等。 3、程序结构:① 主要的段定义说明; ② 用到的子程序(宏)的功能说明、调用关系说明、参数传送方式说明等; ③ 主要算法描述等(各模块功能实现及典型指令的应用)。 4、设计步骤(注明时间安排) 5、程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录) 6、实验结果(输出) 7、其他值得说明的内容(1)程序结构设计特点;(2)设计、调试程序心得、体会或不足。 附录:①源程序代码(必须有简单注释) ②参考文献 指 导 教 师 签 字: 2015年 1 月1日 系 主 任 签 字: 年 月 日

C++程序设计 王育坚 清华大学 课后答案

C++程序设计 习 题 解 答

第一篇: 1-4.集成开发环境中有哪2种类型的窗口?这2种类型的窗口相互之间如何进行转换? 答:集成开发环境中的窗口有两种:浮动窗口和停靠窗口。 当拖动一个固定窗口任何边缘未使用部分至屏幕中间位臵,该固定窗口就转换成浮动窗口。反之,当拖动一个浮动窗口的标题栏至开发环境主窗口的任何边缘上,该浮动窗口就转换成固定窗口。 1-10 Windows资源主要包括哪些? 答: 菜单、工具栏、对话框、图标、光标、位图、快捷键、串表 菜单编辑器、工具栏编辑器、对话框编辑器、图标编辑器、光标编辑器、位图编辑器、快捷键编辑器、串表编辑器 1-11工具栏编辑器和快捷键编辑器的打开和使用方法? 答:工具栏编辑器:工具栏编辑器实际上也是一个图象编辑器,主要用于创建新的工具栏按钮。在项目工作区ResourceView页面打开Toolbar文件夹,双击其中的工具栏资源,出现工具栏编辑器和Graphics工具栏、Colors工具栏,单击最后的空白项可添加一个新的按钮。鼠标按下并拖动某个工具栏按钮,可将该按钮删除。 快捷键编辑器:在项目工作区ResourceView页面打开Accelerator文件夹,双击其中的快捷键资源出现快捷键编辑器。 双击快捷键列表项,打开Accel Properties快捷键属性对话框编辑快捷键。也可单击鼠标右键,在快键菜单中选择Properties命令,进入快捷键属性对话框。 要添加快捷键,双击编辑器中快捷键列表底部的空白行,在随后出现的快捷键属性对话框中选择需要添加快捷键的菜单项标识ID,然后设臵快捷键和组合键。 要删除一个快捷键,单击该快捷键,然后按Delete键。 1-13 Visual C++6.0主要有哪几个主菜单?分别完成哪类功能? 答: File、Edit、View、Insert、Project、Build(Debug)、Tools、Window和Help等9个主菜单 File主菜单包括一些与文件有关的操作命令,如新建、打开、关闭、保存和显示最近的项目、文件、工作区等。 Edit主菜单主要包括一些与文件编辑有关的操作命令,如复制、粘贴、剪切、查找、替换、设臵、删除和查看断点等。 View主菜单中的菜单命令项主要用于改变窗口的显示方式和激活指定的窗口,如激活ClassWizard类向导、Workspace工作区窗口、Output输出窗口和Debug Windows调试窗口。 View主菜单中的菜单命令项主要用于改变窗口的显示方式和激活指定的窗口,如激活ClassWizard类向导、Workspace工作区窗口、Output输出窗口和Debug Windows调试窗口。 Insert主菜单主要包括一些与添加有关的操作命令,如添加新类、资源和源代码文件等。 Build主菜单主要包括一些与建立可执行程序有关的操作命令,如编译、链接和调试程序等。

清华大学微积分试题库完整

(3343).微分方程0cos tan =-+'x x y y 的通解为 x C x y cos )(+=。 (4455).过点)0,2 1(且满足关系式11arcsin 2 =-+ 'x y x y 的曲线方程为 21arcsin - =x x y 。 (4507).微分方程03='+''y y x 的通解为 2 2 1x C C y + =。 (4508).设)(),(),(321x y x y x y 是线性微分方程)()()(x f y x b y x a y =+'+''的三个特解,且 C x y x y x y x y ≠--) ()() ()(1312,则该微分方程的通解为 )())()((())()((1132121x y x y x y C x y x y C y +-+-=。 (3081).设x e x y x y -++=+=22213,3是某二阶线性非齐次微分方程的两个特解,且相 应齐次方程的一个解为x y =3,则该微分方程的通解为x e C x C x y -+++=212 3。 (4725).设出微分方程x e xe x y y y x x 2cos 32++=-'-''-的一个特解形式 )2sin 2cos ()(*x F x E e e D Cx x B Ax y x x +++++=-。 (4476).微分方程x e y y y =+'-''22的通解为 )sin cos 1(21x C x C e y x ++=。 (4474).微分方程x e y y 24=-''的通解为 x x e x C e C y 222141??? ? ? ++=-。 (4477).函数x C x C y 2s i n 2c o s 21+=满足的二阶线性常系数齐次微分方程为04=+''y y 。 (4532).若连续函数)(x f 满足关系式 2ln )2 ()(20 +=? x dt t f x f ,则=)(x f 2ln 2x e 。 (6808).设曲线积分 ?--L x ydy x f ydx e x f cos )(sin ])([与路径无关,其中)(x f 具有一阶 连续导数,且0)0(=f ,则)(x f 等于[ ] (A) )(2 1x x e e --。 (B) )(21 x x e e --。

80X86汇编语言程序设计教程+课后习题答案(清华大学版)

第二章答案 Tarzan 版 题2.1 8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门用途?哪些 寄存器可作为存储器寻址方式的指针寄存器? 答:8086/8088通用寄存器的通用性表现在: 这些寄存器除了各自规定的专门用途外,他们均可以用于传送和暂存数据,可以保存 算术逻辑运算中的操作数和运算结果; 8个通用寄存器的专门用途如下: AX 字乘法,字除法,字I/O BX 存储器指针 CX 串操作或循环控制中的计数器 DX 字乘法,字除法,间接I/O SI 存储器指针(串操作中的源指针) DI 存储器指针(串操作中的目的指针) BP 存储器指针(存取堆栈的指针) SP 堆栈指针 其中BX,SI,DI,BP可作为存储器寻址方式的指针寄存器 题2.2 从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可访问的8位 寄存器? 答:从程序员的角度看,8086/8088有14个可访问的16位寄存器;有8个可访问的8位寄存器; 题2.3 寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器 AX的内容: MOV AX,1234H MOV AL,98H MOV AH,76H ADD AL,81H SUB AL,35H

ADD AL,AH ADC AH,AL ADD AX,0D2H SUB AX,0FFH 答: MOV AX,1234H AX=1234H MOV AL,98H AX=1298H MOV AH,76H AX=7698H ADD AL,81H AX=7619H SUB AL,35H AX=76E4H ADD AL,AH AX=765AH ADC AH,AL AX=D15AH ADD AX,0D2H AX=D22CH SUB AX,0FFH AX=D12DH 题2.4 8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志 的状态? 答: 8086/8088标志寄存器中定义了9个标志,如下: CF: Carry Flag ZF: Zero Flag SF: Sign Flag OF: Overflow Flag PF: Parity Flag AF: Auxiliary Carry Flag DF: Direction Flag IF: Interrupt-enable Flag TF: Trap Flag 这些标志可分为两类,分别为: 1、运算结果标志; 2、状态控制标志; 采用指令SAHF可把AH中的指定位送至标志寄存器低8位SF、ZF、AF、PF、CF; 采用CLC可清除CF,置CF到0 采用STC可置CF到1 采用CLD可置DF到0 采用sTD可置DF到1

清华大学微积分题库

(3343).微分方程0cos tan =-+'x x y y 的通解为 x C x y cos )(+=。 (4455).过点)0,2 1(且满足关系式11arcsin 2 =-+ 'x y x y 的曲线方程为 21arcsin - =x x y 。 (4507).微分方程03='+''y y x 的通解为 22 1x C C y + =。 (4508).设)(),(),(321x y x y x y 是线性微分方程)()()(x f y x b y x a y =+'+''的三个特解,且 C x y x y x y x y ≠--) ()() ()(1312,则该微分方程的通解为 )())()((())()((1132121x y x y x y C x y x y C y +-+-=。 (3081).设x e x y x y -++=+=22213,3是某二阶线性非齐次微分方程的两个特解,且相 应齐次方程的一个解为x y =3,则该微分方程的通解为x e C x C x y -+++=212 3。 (4725).设出微分方程x e xe x y y y x x 2cos 32++=-'-''-的一个特解形式 )2sin 2cos ()(*x F x E e e D Cx x B Ax y x x +++++=-。 (4476).微分方程x e y y y =+'-''22的通解为 )sin cos 1(21x C x C e y x ++=。 (4474).微分方程x e y y 24=-''的通解为 x x e x C e C y 222141??? ? ? ++=-。 (4477).函数x C x C y 2sin 2cos 21+=满足的二阶线性常系数齐次微分方程为 04=+''y y 。 (4532).若连续函数)(x f 满足关系式 2ln )2 ()(20 +=? x dt t f x f ,则=)(x f 2ln 2x e 。 (6808).设曲线积分 ?--L x ydy x f ydx e x f cos )(sin ])([与路径无关,其中)(x f 具有一阶 连续导数,且0)0(=f ,则)(x f 等于[ ] (A) )(2 1x x e e --。 (B) )(21 x x e e --。

运筹学教程清华第三版课后答案(第一章,第五章部分)

1.某饲养场饲养动物出售,设每头动物每天至少需700g蛋白质、30g矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg营养成分含量及单价如表1所示。表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 x表示满足动物生长的营养需要时,解:设总费用为Z。i=1,2,3,4,5代表5种饲料。 i 第i种饲料所需的数量。则有: 2.某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1)若护士上班后连续工作8h,该医院最少需要多少名护士,以满足轮班需要; (2)若除22:00上班的护士连续工作8h外(取消第6班),其他班次护士由医院排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。表2 x第i班开始上班的人数,i=1,2,3,4,5,6 解:(1)设 i x第i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设 i 班开始上班的人数,i=1,2,3,4。

a 3.要在长度为l的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n种,分别为 j (j=1,2,…n)。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设 x表示各种毛坯的数量,i=1,2,…n。 i 4.一艘货轮分前、中、后三个舱位,它们的与最大允许载重量如表3.1所示。现有三 种货物待运,已知有相关数据列于表3.2。 表3.1 表3.2 又为了航海安全,前、中、后舱实际载重量大体保持各舱最大允许载重量的比例关系。具体要求:前、后舱分别与中舱之间载重量比例的偏差不超过15%,前、后舱之间不超过10%。问该货轮应该载A,B,C各多少件运费收入才最大?试建立这个问题的线性规划模型。 x表示第i件商品在舱j的装载量,i,j=1,2,3 解:设 ij 1)商品的数量约束: 2)商品的容积约束: 3)最大载重量约束: 4)重量比例偏差的约束: 5.篮球队需要选择5名队员组成出场阵容参加比赛。8名队员的身高及擅长位置见表 5. 表5

清华大学c语言教程课后答案

c语言程序设计答案---潭2 《C语言程序设计教程(第二版)》习题答案 说明 1. 本习题答案是我自己做的,错误和疏漏在所难免。编程题全部调试通过,但选择题和填空题不敢保证全对。 2. 凡未指明解题所用的程序设计语言的,均指C语言。 3. 凡未指明执行程序所需的操作系统的,均可在DOS下执行。 4. 本文中文字下面划线的表示输入。 第1章程序设计基础知识 一、单项选择题(第23页) 1-4.CBBC 5-8.DACA 二、填空题(第24页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对问题的分析和模块的划分 三、应用题(第24页) 2.源程序: main() {int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */ printf("cock hen chick "); for(i=1;i<=20;i++) for(j=1;j<=33;j++) for(k=1;k<=33;k++) if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d ",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/ {printf("%8ld%8ld",a,b); a=a+b;b=b+a;}} 递归法源程序: main() {int i;

关于清华大学高等数学期末考试

关于清华大学高等数学期 末考试 This manuscript was revised on November 28, 2020

清华大学 2010-2011学年第 一 学期期末考试试卷(A 卷) 考试科目: 高等数学A (上) 考试班级: 2010级工科各班 考试方式: 闭卷 命题教师: 一. 9分 ) 1、若在) ,(b a 内,函数)(x f 的一阶导数0)(>'x f ,二阶导数0)(<''x f ,则函数)(x f 在此区间内单调 ,曲线是 的。 2、设?????+=+=232322t t y t t x 确定函数)(x y y =,求=22dx y d 。 3、=? dx 1cos 12 。 本大题共3小题,每小题3分,总计 9分) 1、设A x x ax x x =-+--→1 4lim 231,则必有 答( ) 2、设211)(x x f -=,则)(x f 的一个原函数为 答( ) 3、设f 为连续函数,又,?=x e x dt t f x F 3)()(则=')0(F 答( ) 2小题,每小题5分,总计10分 ) 1、求极限x e e x x x cos 12lim 0--+-→。

2、x y 2ln 1+=,求y '。 3小题,每小题8分,总计24分 ) 1、讨论?? ???=≠=0,00arctan )(2 x x x x x f ,,在0=x 处的可导性。 2、设)(x f 在]1,0[上连续,且1)(0≤≤x f ,证明:至少存在一点]1,0[∈ξ,使得 ξξ=)(f 。 3、证明不等式:当4>x 时,22x x >。 3小题,每小题8分,总计24分 ) 1、求函数x e y x cos =的极值。 2、求不定积分? x x x d cos sin 3。 3、计算积分?-+-+2222)cos 233(ln sin ππdx x x x x 。 4小题,每小题6分,总计24分 ) 1、求不定积分? +)1(10x x dx 。 2、计算积分?+πθθ4 30 2cos 1d 。 3、求抛物线221x y = 被圆822=+y x 所截下部分的长度。 4、求微分方程''-'-=++y y y x e x 2331的一个特解。

汇编语言(沈美明,温冬婵)课后答案

汇编语言程序设计(第二版) (清华大学IBM-PC 汇编语言程序设计(第二版)沈美明温冬婵编著) 第二章 1、答:直接由指令指定的I/O端口数为256个。 2、答: 3、答:字节单元:(30022H)= AB H,(30024H)= EF H 字单元:(30021H)= AB34 H,(30022H)= CDAB H。 4、答:3017:000A的存储单元的物理地址是3017AH, 3015:002A的存储单元的物理地址是3017AH, 3010:007A的存储单元的物理地址是3017AH。 5、答:该程序的第一个字的物理地址是0AAA40H。 6、答:条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0。 7、答:(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、 SP、BP、DI、SI(注意:学生尽量不要用SP参与加减运算) (2)CX (3)DX、AX、AH、AL (4)CS、DS、ES、SS (5)FLAGS (6)IP (7)SS、SP、BP 8、答:可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、 ES、SS。 9、答:唯一正确的是D。 第三章 2、答: (1)ADD DX, BX (2)ADD AL, [BX][SI] (3)ADD [BX+0B2H], CX (4)ADD [0524H], 2A59H (5)ADD AL, 0B5H 3、答: (1)MOV BX, OFFSET BLOCK + 0AH MOV DX, [BX] (2)MOV BX, 0AH MOV DX, BLOCK[BX] (3)MOV BX, OFFSET BLOCK MOV SI, 0AH MOV DX, [BX][SI]

语言程序设计第二版谭浩强章课后习题答案清华大学出版社

4-5 原题:打印出下题的结果 main() { int a=5,b=7; float x=,y=; char c='A'; long n=1234567; unsigned u=65535; printf("%d%d\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n",x,y); printf("%- 10f,%-10f\n",x,y); printf("%,%,%4f,%4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%\n",x,y); printf("%c,%d,%o,%x\n",c,c,c,c); printf("%ld,%lo,%x\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u); printf("%s,%\n","COMPUTER","COMPUTER"); } 结果: 57 +01, +02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM 4-6 原题: 用下面的 scanf 函数输入数据,使 a=3,b=7,x=,y=,c1='A',c2='a' 。问在键盘上如何输入main() { int a,b; float x,y; char c1,c2; scanf("a=%d,_b=%d",&a,&b); scanf("_%f_%e",&x,7y); scanf("_%c_%c",&c1,&c2); } 答案:输入格式为: a=3,b=7 A a 4-7 原题:用下面的scanf 函数输入数据使a=10,b=20,c1='A',c2='a',x=,y= z=, 请问在键盘上如何输入数据 scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z); 答案: 输入格式为: 10 , 友情提示:10与20之间是 3 个空格,而那个是随便一个浮点数即可。

清华_第三版_运筹学教程_课后答案~(_第一章_第五章部分)

清华第三版 运筹学 答案[键入文字] [键入文字] [键入文字] 运筹学教程 1. 某饲养场饲养动物出售,设每头动物每天至少需700g 蛋白质、30g 矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg 营养成分含量及单价如表1所示。 表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 解:设总费用为Z 。i=1,2,3,4,5代表5种饲料。i x 表示满足动物生长的营养需要时,第i 种饲料所需的数量。则有: ????? ? ?=≥≥++++≥++++≥++++++++=5,4,3,2,1,01008.022.05.0305.022.05.07008623..8.03.04.07.02.0min 54321543215432154321i x x x x x x x x x x x x x x x x t s x x x x x Z i 2. 某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1) 若护士上班后连续工作8h ,该医院最少需要多少名护士,以满足轮班需要; (2) 若除22:00上班的护士连续工作8h 外(取消第6班),其他班次护士由医院 排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。 表2

6 2:00~6:00 30 解:(1)设x 第i 班开始上班的人数,i=1,2,3,4,5,6 ???????????=≥≥+≥+≥+≥+≥+≥++++++=且为整数 6,5,4,3,2,1,030 2050607060..min 655443 322161 654321i x x x x x x x x x x x x x t s x x x x x x Z i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设i x 第i 班开始上班的人数,i=1,2,3,4。 ??? ????? ?? ??? ??=≥=+++=≥+++=+++=≥+++=+++=≥+++=+++=≥+++++++=4 ,3,2,1,1002 1502 16021702 ,160..30 min i 444342414444433422411434 33323133 443333223113242322212244233222211214131211114413312211114321j i y x y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y t s x x x x Z ij 变量,—是,,,第四班约束,,第三班约束,,第二班约束,第一班约束 3. 要在长度为l 的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n 种,分别为j a (j=1,2,…n )。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设i x 表示各种毛坯的数量,i=1,2,…n 。

相关文档
相关文档 最新文档