C 课后习题答案第七章

合集下载

C语言程序设计教程 第七章 课后习题参考答案

C语言程序设计教程 第七章 课后习题参考答案
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i=0;i<M;iபைடு நூலகம்+)
{
for(j=0;j<N;j++)
{
if(i==j)
m+=a[i][j];
}
}
printf("主对角线元素之和为:%d\n",m);
批注本地保存成功开通会员云端永久保存去开通
P198 3求主、副对角线元素之和
#include<stdio.h>
#define M 4
#define N 4
int main()
{
int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j,m=0,n=0;
{
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
printf("\n");
printf("排序后的数组为:\n");
for(i=0;i<N;i++)
{
printf("%4d",a[i]);
}
}
P76 3成绩
#include<stdio.h>
void input(int cla[50][3],int n);

编译原理第三版课后习题答案

编译原理第三版课后习题答案

编译原理第三版课后习题答案编译原理是计算机科学中的一门重要课程,它研究的是如何将高级程序语言转换为机器语言的过程。

而《编译原理》第三版是目前被广泛采用的教材之一。

在学习过程中,课后习题是巩固知识、提高能力的重要环节。

本文将为读者提供《编译原理》第三版课后习题的答案,希望能够帮助读者更好地理解和掌握这门课程。

第一章:引论习题1.1:编译器和解释器有什么区别?答案:编译器将整个源程序转换为目标代码,然后一次性执行目标代码;而解释器则逐行解释源程序,并即时执行。

习题1.2:编译器的主要任务是什么?答案:编译器的主要任务是将高级程序语言转换为目标代码,包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等过程。

第二章:词法分析习题2.1:什么是词法分析?答案:词法分析是将源程序中的字符序列划分为有意义的词素(token)序列的过程。

习题2.2:请给出识别下列词素的正则表达式:(1)整数:[0-9]+(2)浮点数:[0-9]+\.[0-9]+(3)标识符:[a-zA-Z_][a-zA-Z_0-9]*第三章:语法分析习题3.1:什么是语法分析?答案:语法分析是将词法分析得到的词素序列转换为语法树的过程。

习题3.2:请给出下列文法的FIRST集和FOLLOW集:S -> aAbA -> cA | ε答案:FIRST(S) = {a}FIRST(A) = {c, ε}FOLLOW(S) = {$}FOLLOW(A) = {b}第四章:语义分析习题4.1:什么是语义分析?答案:语义分析是对源程序进行静态和动态语义检查的过程。

习题4.2:请给出下列文法的语义动作:S -> if E then S1 else S2答案:1. 计算E的值2. 如果E的值为真,则执行S1;否则执行S2。

第五章:中间代码生成习题5.1:什么是中间代码?答案:中间代码是一种介于源代码和目标代码之间的表示形式,它将源代码转换为一种更容易进行优化和转换的形式。

有机化学课后习题答案7第七章答案

有机化学课后习题答案7第七章答案

4.
V2O5, O2
一. 命名或写出结构式
1.
2. C2H5
NO2
Br2 Fe
NO2 Br
O
O
O
O
浓H2SO4
AlCl3 O
COOH
O
习题 B 答案
CH3 3.
OH 4.
SO3H
H3C
5.
6.
7. 2-乙基-9,10-蒽醌 8. 2-环丙基萘
9. 1,4-二甲基萘 10. 邻苯二甲酸酐
二.用休克尔规则判断下列化合物是否有芳香性
CHO
CHO
CH3 NBS
O2, V2O5 400-500℃
CH2MgBr 无水乙醚
CH2Br Mg 无水乙醚
CH2MgBr
O
O AlCl3
O
O Zn-Hg HCl
HOOC
H2SO4 HOOC
H3O+
H2/Ni HO CH2
H2SO4 HO CH2
O CH2
5.
O
O
Zn-Hg
浓H2SO4
O AlCl3
第七章 稠环芳香烃
一.写出下列化合物的结构式
习题 A 答案
NO2
Cl
Br
OH
1.
2.
3. NO2
4.
5.
6.
7.
8.
CH3 H3C
9.
10.
二.用系统命名法命名下列化合物 1、8-溴-1-萘甲醚 2、1-萘甲醛(α-萘甲醛) 3、8-氯-1-萘甲酸 4、2-氯-6ˊ-溴联苯 5、9-硝基菲 6、2-甲基蒽 7、2,6-二甲基萘 8、2-萘酚(β-萘酚) 三、选择题 1、C 2、A 3、B 4、AD 5、C 6、D 四.下列化合物有无芳香性,为什么? 解:(1)的π电子数为 4 个,不符合 4n+2 规则,没有芳香性。

(陈慧南 第3版)算法设计与分析——第7章课后习题答案

(陈慧南 第3版)算法设计与分析——第7章课后习题答案

③ 其余元素
w[0][2] q[2] p[2] w[0][1] 15
k 1: c[0][0] c[1][2] c[0][2] min k 2 : c[0][1] c[2][2] w[0][2] 22 r[0][2] 2



17000
s[0][2]

0
m[1][3]

min
k k
1: m[1][1] m[2][3] 2 : m[1][2] m[3][3]
p1 p2 p4 p1 p3 p4


10000
s[1][3]

2
m[1][3]

min

k k

0 : m[0][0] m[1][3] 1: m[0][1] m[2][3]
第七章课后习题
姓名:赵文浩 学号:16111204082 班级:2016 级计算机科学与技术 7-1 写出对图 7-19 所示的多段图采用向后递推动态规划算法求解时的计算过程。
3
1
3
1
6
5
0
2
6
6
3
4
4 6
5
2
7
8
3
2
8
5
2
7
解析:
V 5 cost(5,8) 0 d (5,8) 8
V4
cos t(4, 6) minc(6,8) cos t(5,8) 7 cos t(4, 7) minc(7,8) cos t(5,8) 3
k 1: c[0][0] c[1][3] c[0][3] min k 2 : c[0][1] c[2][3] w[0][3] 25

苏教版高中数学选择性必修第二册课后习题 第七章 计数原理 第1课时 分类计数原理与分步计数原理

苏教版高中数学选择性必修第二册课后习题 第七章 计数原理 第1课时 分类计数原理与分步计数原理

第七章计数原理7.1 两个基本计数原理第1课时分类计数原理与分步计数原理A级必备知识基础练1.十字路口来往的车辆,如果不允许回头,则不同的行车路线有( )A.24种B.16种C.12种D.10种2.将3个不同的小球放入4个盒子中,不同的放法种数为( )A.81B.64C.14D.123.若x,y∈N,且1≤x≤3,x+y<7,则满足条件的不同的有序自然数对(x,y)的个数是( )A.15B.12C.5D.44.有不同的语文书9本、不同的数学书7本、不同的英语书5本,从中选出不属于同一学科的书2本,则不同的选法有( )A.21种B.315种C.153种D.143种5.数独是源自18世纪瑞士的一种数学游戏.如图是数独的一个简化版,由3行3列9个单元格构成.玩该游戏时,需要将数字1,2,3(各3个)全部填入单元格,每个单元格填一个数字,要求每一行、每一列均有1,2,3这三个数字,则不同的填法有( )A.12种B.24种C.72种D.216种6.为了进一步做好社区疫情防控工作,从6名医护人员中任意选出2人分别担任组长和副组长,则有种不同的选法.7.如图所示的电路图,从A到B共有条不同的线路可通电.8.用0,1,2,3,4,5这6个数字组成无重复数字的四位数,若把每位数字比其左邻的数字小的数叫作“渐降数”,求上述四位数中“渐降数”的个数.9.某电视台连续播放6个广告,其中有3个不同的商业广告、2个不同的宣传广告和1个公益广告,要求最后播放的不能是商业广告,宣传广告与公益广告不能连续播放,2个宣传广告也不能连续播放,则有多少种不同的播放方式?B级关键能力提升练10.某班小张等4名同学报名参加A,B,C三个课外活动小组,每名同学限报其中一个小组,且小张不能报A小组,则不同的报名方法有( )A.27种B.36种C.54种D.81种11.5名同学报名参加两个课外活动小组,每名同学限报其中的一个小组,则不同的报名方法共有( )A.10种B.20种C.25种D.32种12.有4位教师在同一年级的4个班中分别担任数学老师,在数学测验时要求每位教师不能在本班监考,则监考的方法有( ) A.8种 B.9种 C.10种 D.11种13.计划在4个体育馆举办排球、篮球、足球3个项目的比赛,每个项目的比赛只能安排在一个体育馆进行,则在同一个体育馆比赛的项目不超过2项的安排方案共有( )A.24种B.36种C.42种D.60种14.从集合{1,2,3,4,5}中任取2个不同的数,作为直线Ax+By=0的系数,则形成不同的直线最多有条.15.如图,在连接正八边形的三个顶点而成的三角形中,与正八边形有公共边的三角形有个.16.现有5幅不同的国画、2幅不同的油画、7幅不同的水彩画.(1)从中任选1幅画布置房间,有几种不同的选法?(2)从这些国画、油画、水彩画中各选1幅画布置房间,有几种不同的选法?(3)从这些画中任选出2幅不同画种的画布置房间,有几种不同的选法?C级学科素养创新练17.(新疆模拟)如图,一次移动是指从某一格开始只能移动到邻近的一格,并且总是向右或右上或右下移动,而一条移动路线由若干次移动构成,如1→3→4→5→6→7就是一条移动路线,则从数字“1”移到“7”,漏掉两个数字的移动路线条数为( )A.5B.6C.7D.818.用1,2,3,4四个数字(可重复)排成三位数,并把这些三位数由小到大排成一个数列{a n}.(1)写出这个数列的前11项.(2)这个数列共有多少项?(3)若a n=341,求n.参考答案第七章计数原理7.1 两个基本计数原理第1课时分类计数原理与分步计数原理1.C 完成该任务可分为4类,从每一个方向的入口进入都可作为一类,如图,从第1个入口进入时,有3种行车路线;同理,从第2个、第3个、第4个入口进入时,都分别有3种行车路线,由分类计数原理可得共有3+3+3+3=12(种)不同的行车路线.故选C.2.B 将3个不同的小球放入4个盒子中,每个小球都有4种不同的放法,根据分步计数原理,不同放法的种数为4×4×4=64.3.A 利用分类计数原理.当x=1时,y=0,1,2,3,4,5,有6个不同的有序自然数对;当x=2时,y=0,1,2,3,4,有5个不同的有序自然数对;当x=3时,y=0,1,2,3,有4个不同的有序自然数对.根据分类计数原理,共有6+5+4=15(个)不同的有序自然数对.4.D 由题意,选一本语文书和一本数学书有9×7=63(种)不同的选法,选一本数学书和一本英语书有7×5=35(种)不同的选法,选一本语文书和一本英语书有9×5=45(种)不同的选法,根据分类计数原理,共有63+35+45=143(种)不同的选法.故选D.5.A 先填第一行,有3×2×1=6(种)不同填法,再填第二行第一列,有2种不同填法,当这些单元格填好后,其他单元格唯一确定.根据分步计数原理,共有6×2=12(种)不同的填法.故选A.6.30 首先从6人中选1人担任组长,共有6种不同的选法;然后从剩余5人中选1人担任副组长,共有5种不同的选法.根据分步计数原理,从6名医护人员中任意选出2人分别担任组长和副组长共有6×5=30(种)不同的选法.7.8 分3类:第1类,经过支路①有3种方法;第2类,经过支路②有1种方法;第3类,经过支路③有2×2=4(种)方法,所以总的线路条数N=3+1+4=8.8.解分3类:第1类,千位数字为3时,要使四位数为“渐降数”,则四位数只能为3210,共1个;第2类,千位数字为4时,“渐降数”有4321,4320,4310,4210,共4个; 第3类,千位数字为5时,“渐降数”有5432,5431,5430,5421,5420,5410,5321,5320,5310,5210,共10个.由分类计数原理,共有1+4+10=15(个)“渐降数”.9.解用1,2,3,4,5,6表示广告的播放顺序,则完成这件事有3类方法.第1类,宣传广告与公益广告的播放顺序是2,4,6.分6步完成这件事,共有3×3×2×2×1×1=36(种)不同的播放方式.第2类,宣传广告与公益广告的播放顺序是1,4,6.分6步完成这件事,共有3×3×2×2×1×1=36(种)不同的播放方式.第3类,宣传广告与公益广告的播放顺序是1,3,6.同样分6步完成这件事,共有3×3×2×2×1×1=36(种)不同的播放方式.由分类计数原理,6个广告不同的播放方式共有36+36+36=108(种).10.C 小张的报名方法有2种,其他3名同学的报名方法各有3种,由分步计数原理知,共有2×3×3×3=54(种)不同的报名方法.故选C.11.D 每名同学都有2种选择,根据分步计数原理,不同的报名方法共有25=32(种).12.B 设四位监考教师分别为A,B,C,D,所教班级分别为a,b,c,d.假设A 监考b,则余下三人监考剩下的三个班,共有3种不同的方法.同理A监考c,d时,也分别有3种不同的方法.由分类计数原理得,监考方法共有3+3+3=9(种).13.D 把3个项目分配到4个体育馆,所有方案共有4×4×4=64(种),其中,3个项目被分配到同一体育馆进行有4种方法,故满足条件的分配方案有64-4=60(种).14.18 第1步取A的值,有5种取法.第2步取B的值,有4种取法,其中A=1,B=2时的直线方程与A=2,B=4时的直线方程是相同的;A=2,B=1时的直线方程与A=4,B=2时的直线方程是相同的,故最多有5×4-2=18(条)不同的直线.15.40 满足条件的三角形有两类.第1类,与正八边形有两条公共边的三角形有8个;第2类,与正八边形有一条公共边的三角形有8×4=32(个).所以满足条件的三角形共有8+32=40(个).16.解(1)利用分类计数原理,知共有5+2+7=14(种)不同的选法.(2)国画有5种不同的选法,油画有2种不同的选法,水彩画有7种不同的选法.由分步计数原理,知共有5×2×7=70(种)不同的选法.(3)三类分别为选国画与油画、油画与水彩画、国画与水彩画.由分类计数原理和分步计数原理,知共有5×2+2×7+5×7=59(种)不同的选法.17.B 从数字“1”移到“7”,漏掉两个数字的移动路线条数为以下6条:1,2,4,5,7;1,2,4,6,7;1,3,4,5,7;1,3,4,6,7;1,3,5,6,7;1,2,3,5,7.18.解(1)111,112,113,114,121,122,123,124,131,132,133.(2)这个数列的项数就是用1,2,3,4排成的三位数的个数,每个数位上都有4种排法,则共有4×4×4=64(项).(3)比a n=341小的数有两类:①1 ××2 ××②共有2×4×4+1×3×4=44(项).所以n=44+1=45.第11页共11页。

第七章课后练习题答案

第七章课后练习题答案

第七章证券评价一、单项选择题1.已知某证券的 系数等于1,则表明该证券( C )。

A.无风险B.有非常低的风险C.与金融市场所有证券平均风险一致D.比金融市场所有证券平均风险大1倍2.某种股票为固定成长股票,年增长率为5%,预期一年后的股利为6元,现行国库券的收益率为11%,平均风险股票的必要收益率等于16%,而该股票的贝他系数为1.2,那么,该股票的价值为( A )。

A.50B.33C.45D.303.投资短期证券的投资者最关心的是( D)。

A.发行公司的经营理财状况的变动趋势B.证券市场的现时指数C.发行公司当期可分派的收益D.证券市场价格的变动4.证券投资者的购买证券时,可以接受的最高价格是( C )。

A.出卖市价B.风险价值C.证券价值D.票面价值5.一般而言,金融投资不是( B )。

A.对外投资B.直接投资C.证券投资D.风险投资6.非系统风险( B )。

B.归因于某一投资企业特有的价格因素或事件C.不能通过投资组合得以分散D.通常以 系数进行衡量7.下列说法中正确的是( D )。

A.国库券没有利率风险B.公司债券只有违约风险D.国库券没有违约风险,但有利率C.国库券和公司债券均有违约风险风险8.如果组合中包括了全部股票,则投资人( A )。

A.只承担市场风险B.只承担特有风险C.只承担非系统风险D.不承担系统风险9.债券的价值有两部分构成,一是各期利息的现值,二是( C )的现值。

A.票面利率B.购入价格C.票面价值D.市场价格10.A公司发行面值为1000元,票面利率10%,期限五年,且到期一次还本付息(单利计息)的债券,发行价格为1050元,B投资者有能力投资,但想获得8%以上的投资报酬率,则B投资者投资该债券的投资报酬率为( B)。

A.8%B.7.4%C.8.25%D.10%11.某企业于1996年4月1日以950元购得面额为1000元的新发行债券,票面利率12%,每年付息一次,到期还本,该公司若持有该债券至到期日,其到期收益率为( A )。

c语言程序设计课后习题答案第7章

c语言程序设计课后习题答案第7章

#include<stdio.h>main(){int a[10],n,sum=0,i;float ave;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);sum=sum+a[i];}ave=1.0*sum/n;printf("ave=%.2f\n",ave);}/*练习7-2*/#include<stdio.h>main(){int a[10],n,i;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++){printf("第%d个:\n",i+1);scanf("%d",&a[i]);printf("倒序:\n");while(a[i]!=0){printf("%d",a[i]%10);a[i]=a[i]/10;}printf("\n");}}#include<stdio.h>main(){int a[5],x,i,k=0;printf("enter 5 ge zheng shu:\n");for(i=0;i<5;i++)scanf("%d",&a[i]);printf("enter x:\n");scanf("%d",&x);for(i=0;i<5;i++)if(a[i]==x){printf("xia biao wei : %d\n",i);k=1;}if(k==0)printf("Not Found\n");}/*练习7-4*/#include<stdio.h>main(){int a[10],n,i,k=0,x,max;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<=n-1;i++)if(max<a[i]){max=a[i];k=i;}printf("max=%d xia biao=%d",max,k);x=a[n-1];a[n-1]=a[k];a[k]=x;printf("\n");for(i=0;i<n;i++)printf(" %d ",a[i]);printf("\n");}/*练习7-11*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;str[i]='\0';printf("再输入一个字符:\n");str[80]=getchar();for(j=0;j<=i-1;j++)if(str[80]==str[j])count++;printf("%c字符在字符串中出现的次数为:%d\n",str[80],count);for(j=0;j<=i-1;j++)putchar(str[j]);printf("\n");}/*习题七1*/#include<stdio.h>main(){int x,y,n,a[10],i,min,max;printf("输入n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);min=0;for(i=1;i<n;i++)if(a[min]>a[i])min=i;max=0;for(i=1;i<n;i++)if(a[max]<a[i])max=i;x=a[min];a[min]=a[0];a[0]=x;y=a[max];a[max]=a[n-1];a[n-1]=y;for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}/*习题七2*/#include<stdio.h>main(){int x,n,a[10],i,j,max;printf("输入n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){ max=i-1;for(j=i;j<n;j++)if(a[max]<a[j])max=j;x=a[max];a[max]=a[i-1];a[i-1]=x;}for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}/*习题七4*/#include<stdio.h>main(){int m,n,a[6][6],i,j,b[6]={0};printf("输入m:\n");scanf("%d",&m);printf("输入n:\n");scanf("%d",&n);printf("输入%d和%d的矩阵:\n",m,n);for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);b[i]=b[i]+a[i][j];}}printf("shu chu:\n");for(i=0;i<m;i++){for(j=0;j<n;j++)printf(" %d",a[i][j]);printf("\n");}printf("shu chu hang he :\n");for(i=0;i<m;i++)printf("%4d",b[i]);printf("\n");}/*习题7.6*/#include<stdio.h>main(){char str[80];int i,j;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("倒序输出:\n");for(j=i-1;j>=0;j--)putchar(str[j]);printf("\n");}/*新7.6*/#include<stdio.h>main(){int a[10],i,n;printf("输入整数n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);}printf("倒序输出:\n");for(i=0;i<n;i++){printf("%5d",a[n-1-i]);}printf("\n");}/*习题7.7*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("输出其中的大写辅音字母:\n");for(j=0;j<=i-1;j++)if(str[j]>='B'&&str[j]<='Z'&&str[j]!='E'&&str[j]!='I'&&str[j]!='O'&&str[j]!='U'){putchar(str[j]);count++;}printf("\n");printf("大写辅音字母数量为:%d\n",count);}/*习题7.8*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("输出相应交换后的字符串:\n");for(j=0;j<=i-1;j++)if(str[j]>='A'&&str[j]<='Z')str[j]=155-str[j];for(j=0;j<=i-1;j++)putchar(str[j]);printf("\n");}上文已完。

数据仓库与数据挖掘教程(第2版)课后习题答案第七章

数据仓库与数据挖掘教程(第2版)课后习题答案第七章

数据仓库与数据挖掘教程(第2版)课后习题答案第七章第七章作业1.信息论的基本原理是什么?一个传递信息的系统是由发送端(信源)和接收端(信宿)以及连接两者的通道(信道)组成的。

信息论把通信过程看做是在随机干扰的环境中传递信息的过程。

在这个通信模型中,信息源和干扰(噪声)都被理解为某种随机过程或随机序列。

在进行实际的通信之前,收信者(信宿)不可能确切了解信源究竟会发出什么样的具体信息,也不可能判断信源会处于什么样的状态。

这种情形就称为信宿对于信源状态具有不确定性,而且这种不确定性是存在于通信之前的,因而又叫做先验不确定性。

在通信后,信宿收到了信源发来的信息,这种先验不确定性才会被消除或者被减少。

如果干扰很小,不会对传递的信息产生任何可察觉的影响,信源发出的信息能够被信宿全部收到,在这种情况下,信宿的先验不确定性就会被完全消除。

但是,在一般情况下,干扰总会对信源发出的信息造成某种破坏,使信宿收到的信息不完全。

因此,先验不确定性不能全部被消除, 只能部分地消除。

换句话说,通信结束之后,信宿仍具有一定程度的不确定性。

这就是后验不确定性。

2.学习信道模型是什么?学习信道模型是信息模型应用于机器学习和数据挖掘的具体化。

学习信道模型的信源是实体的类别,采用简单“是”、“非”两类,令实体类别U 的值域为{u1,u2},U 取u1表示取“是”类中任一例子,取u2表示取“非”类中任一例子。

信宿是实体的特征(属性)取值。

实体中某个特征属性V ,他的值域为{v1,v2……vq}。

3.为什么机器学习和数据挖掘的分类问题可以利用信息论原理?信息论原理是数据挖掘的理论基础之一。

一般用于分类问题,即从大量数据中获取分类知识。

具体来说,就是在已知各实例的类别的数据中,找出确定类别的关键的条件属性。

求关键属性的方法,即先计算各条件属性的信息量,再从中选出信息量最大的属性,信息量的计算是利用信息论原理中的公式。

4自信息:单个消息ui 发出前的不确定性(随机性)称为自信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++作业答案第7章继承7.1 选择题1.在c++中,类与类之间的继承关系具有( c )。

(a) 自反性 (b) 对称性 (c) 传递性 (d) 反对称性2.下列关于类的继承描述中,( a,b )是错误的。

(a) 派生类可以访问基类的所有数据成员,调用基类的所有成员函数(b) 派生类也是基类,所以基类具有派生类的全部属性和方法(c) 继承描述类的层次关系,派生类可以具有与基类相同的属性和方法(d) 一个基类可以有多个派生类,一个派生类可以有多个基类3.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的( a )。

(a) public 成员 (b)private成员(c) protected成员 (d)友员4.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( b )。

(a) public 成员 (b)private成员(c) protected成员 (d)友员5.当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( c )。

(a) public 成员 (b)private成员(c) protected成员 (d)友员6.不论派生类以何种方式继承基类,都不能使用基类的( b )。

(a) public 成员 (b)private成员(c) protected成员 (d)public 成员和protected成员7.下面描述中,错误的是( b, c )。

(a) 在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问(b) 在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问(c) 在基类定义的public和protected成员在保护继承的派生类中不可见(d) 在派生类中不可见的成员要变成可访问的需进行访问声明8.在c++中,不能被派生类继承的函数是( b,c )。

(a) 成员函数 (b)构造函数(c) 析构函数 (d)静态成员函数9.在创建派生类对象时,构造函数的执行顺序是( d )。

(a) 对象成员构造函数、基类构造函数、派生类本身的构造函数(b) 派生类本身的构造函数、基类构造函数、对象成员构造函数(c) 基类构造函数、派生类本身的构造函数、对象成员构造函数(d) 基类构造函数、对象成员构造函数、派生类本身的构造函数10.当不同的类具有相同的间接基类时,有特点( d )。

(a) 各派生类对象将按继承路线产生自己的基类版本(b) 派生类对象无法产生自己的基类版本(c) 为了建立惟一的间接基类版本,应该必须改变类格(d) 为了建立惟一的间接基类版本,应该声明虚继承7.2 阅读下列程序,写出执行结果1.#include <iostream.h>class BASE{ public:void get( int i,int j,int k,int l ){ a = i; b = j; x = k; y = l; }void print(){ cout << "a = "<< a << '\t' << "b = " << b << '\t'<< "x = " << x << '\t' << "y = " << y << endl;}int a,b;protected:int x, y;};class A: public BASE{ public:void get( int i, int j, int k, int l ){ BASE obj3;obj3.get( 50, 60, 70, 80 );obj3.print();a = i;b = j; x = k; y = l;u = a + b + obj3.a ; v = y - x + obj3.b;}void print(){ cout << "a = " << a << '\t' << "b = " << b << '\t'<< "x = " << x << '\t' << "y = " << y << endl;cout << "u = " << u << '\t' << "v = " << v << endl;}private:int u, v ;};void main(){ BASE obj1;A obj2;obj1.get( 10, 20, 30, 40 );obj2.get( 30, 40, 50, 60 );obj1.print();obj2.print();}答案:a = 50b = 60 x = 70 y = 80a = 10b = 20 x = 30 y = 40a = 30b = 40 x = 50 y = 60u = 120 v = 702. #include <iostream.h>class BASE1{ public:BASE1( int i ) { cout << "调用基类BASE1的构造函数:" << i << endl ; }};class BASE2{ public:BASE2( int j ) { cout << "调用基类BASE2的构造函数:" << j << endl ; }};class A: public BASE1, public BASE2{ public:A( int a, int b, int c, int d ) : BASE2(b), BASE1(c), b2(a), b1(d) { cout << "调用派生类A的构造函数:" << a+b+c+d << endl; } private:BASE1 b1;BASE2 b2;} ;void main(){ A obj( 1, 2, 3, 4 ); }答案:调用基类BASE1的构造函数:3调用基类BASE2的构造函数:2调用基类BASE1的构造函数:4调用基类BASE1的构造函数:1调用派生类A的构造函数:107.3 编程题1.定义一个rectangle类,它包含两个数据成员length和width;以及包含用于求长方形面积的成员函数。

再定义rectangle的派生类rectangular,它包含一个新数据成员height和用来求长方体体积的成员函数。

在main函数中,使用两个类,求某个长方形的面积和某个长方体的体积。

解答:#include<iostream.h>class rectangle{public:rectangle( float l,float w ){ length = l;width = w; }float area(){ return( length*width ); }float getlength() { return length; }float getwidth() { return width; }private:float length;float width;};class rectangular:public rectangle{ public:rectangular( float l,float w,float h ) : rectangle( l,w ){ height = h; }float getheight() { return height; }float volume() { return area() *height; }private:float height;};void main(){ rectangle obj1( 2,8 );rectangular obj2( 3,4,5 );cout << "length=" << obj1.getlength() << '\t' << "width=" << obj1.getwidth() << endl;cout << "rectanglearea=" << obj1.area() << endl;cout << "length=" << obj2.getlength() << '\t' << "width=" << obj2.getwidth();cout << '\t'<< "height=" << obj2.getheight() << endl;cout << "rectangularvolume=" << obj2.volume() << endl;}2. 假设某销售公司有销售经理和销售员工,月工资的计算办法是:销售经理的固定月薪为8000元并提取销售额的千分之五作为工资;销售员工只提取销售额的千分之五作为工资。

编一程序,定义一个基类employee,它包含三个数据成员number、name和salary,以及用于输入编号和姓名的构造函数。

由employee类派生salesman类,再由salesman类派生salesmanager类。

salesman类包含两个新数据成员 commrate和sales,还包含用于输入销售额并计算销售员工工资的成员函数pay()和用于输出的成员函数print()。

salesmanager类包含新数据成员 monthlypay,及用于输入销售额并计算销售经理工资的成员函数pay()、用于输出的成员函数print()。

相关文档
最新文档