1练习题1练习题2练习题3练习题4练习题5练习题6练习题7练习题8练习题9练习题10练习题11练习题12练习题13第一章练习题P.91_1答:(1)正确性(2)可读性和可理解性好(3)可维护性好(4)构思好、简短、执行速度快。1_2答:(1)封装性(2)继承和派生性(3)重载性(4)多态性。1_3答:(1)输入源程序,得到.cpp文件(2)编译,得到.obj文件(3)构件(连接),得到.exe文件(4)执行,运行.exe文件1_4略1_5答:(1)/*注解信息*/,运用于程序的任何地方;(2)//注解信息,运用于行尾。1_6答:(1)分析问题,描述算法(2)编写程序,得到源程序(3)编译源程序,产生目标文件(4)构件(连接),得到可执行文件(5)调试程序。[返回]第二章练习题P.302_1不合法的有:1.25e3.4(指数必须为整数)、’\96\45’(’’内只能有一个字符)合法的有:32767(整型)、35u(无符号整型)、3L(长整型)、0.0086e-32(实型)、‘\87’(字符型)、”ComputerSystem”(字符串)、”a”(字符串)、’a’(字符型)、-0(整型)、+0(整型)、.5(实型)、-.567(实型)2_2定义:以英文字母、下划线开始的,由字母、下划线和数字组成的字符序列。合法的有:abc、English、Else(C++区分大小写,else非法)、China_bb、b3y、AbsFloat不合法的有:2xy(不能以数字开头)、x-y(含非法字符“-”)、if(关键字不能做标识符)、b(3)(含非法字符“(”和“)”)、’def’(含非法字符“’”)、float(关键字不能做标识符)。2_3(1)b=1(2)1(3)c=102(4)b=8(5)d=40(6)c=62_4-12E-5=-0.000121.25E-5=0.0000125.01E+3=1050E-6=0.0000512.345E4=1234502_5字符:’a’、’\0x33’、’\r’、’\\’字符串:”a”、”中国”、”8.24”、”\n\t\0x34”、”\0x33”其它:’0x66’、China、56.34、’8.34’2_6(1)x不正确,在同一个作用域内(相同的范围内)变量不能重复定义;(2)c1不正确,在同一个作用域内(相同的范围内)变量不能重复定义。2_7(1)sin(x)/(x-y)(2)sqrt(s*(s-a)*(s-b)*(s-c))2(3)(a+b)*(m+n)(4)(x+y)/(x-y)2_8合法的赋值表达式有:A=b=4.5+7.8、x=(y=4.5)=45、e=xy不合法的赋值表达式有:c=3.5+4.5=x=y=7.96(式中试图把值赋给常量)2_9(1)13(2)25(实型)(3)17(4)120(整型)2_10(1)0(2)1(3)1(4)12_11(1)a=1764,b=7(2)a=6,b=1,c=1(3)a=7,b=7,c=d=15(4)a=91,b=49(5)a=19,b=13,c=19(6)a=6,b=7,c=15,d=152_12(1)a=18(2)b=19(3)c=20(4)d=182_13(1)y=14(2)x=5,y=5,z=13(3)x=40,y=1600(4)x=13,y=5,z=132_14(1)x=1,a=15,b=18,c=21(2)y=0,a=15,b=18,c=21(3)x=1,a=15,b=18,c=22(4)y=1,a=15,b=18,c=212_15(1)x=7(实型),a=7(整型)(2)x=7.873,a=7(整型)(3)x=7(实型),y=7.873,a=7(整型)(4)x=7.5,a=25(整型),b=7(整型)[返回]第三章练习题P.373_1c1=‘’’,c2=‘a’,c3=‘’’3_210099a3_3c1=‘a’,c2=‘b’,c3=‘c’3_4291831233_52564001003_63333[返回]第四章练习题P.604_1C++语句分为:说明语句、控制语句、函数调用语句、表达式语句、空语句和复合语句(也称块语句)六类。C++的基本程序结构分为:顺序结构、选择结构和循环结构三种。4_2#includeiostream.hvoidmain()3{inta,b,c;cinab;ab?(c=a):(c=b);cout大数为:c'\n';}4_3#includeiostream.hvoidmain(void){floatx,y;cinx;if(x=2.5)y=1.5*x+7.5;elsey=9.32*x-34.2;coutx=x'\t'y=yendl;}4_4#includeiostream.hvoidmain(void){floatx,y;cinxy;coutx=x'\t'y=yendl;if(xy)coutx-y=x-yendl;elsecouty-x=y-xendl;}4_5#includeiostream.h#includemath.hvoidmain(void){floata,b,c,delta;cout输入三个系数:;cinabc;couta=a'\t'b=b'\t'c=c'\n';delta=b*b-4*a*c;if(delta0)coutNosolutions!'\n';else{delta=sqrt(delta);cout方程的根为:\n;coutx1=(-b+delta)/2/a'\t';coutx2=(-b-delta)/2/a'\n';}}4_6(1)用条件语句实现#includeiostream.hvoidmain()4{floats;while(1){cout请输入百分制成绩:;cins;if(s0)break;//当负分时退出elseif(s=90)cout五分制成绩为A\n;elseif(s=80)cout五分制成绩为B\n;elseif(s=70)cout五分制成绩为C\n;elseif(s=60)cout五分制成绩为D\n;elsecout五分制成绩为E\n;}}(2)用开关语句实现#includeiostream.hvoidmain(){floats;while(1){cout请输入百分制成绩:;cins;if(s0)break;switch((int)s/10){case10:case9:cout五分制成绩为A\n;break;case8:cout五分制成绩为B\n;break;case7:cout五分制成绩为C\n;break;case6:cout五分制成绩为D\n;break;default:cout五分制成绩为E\n;break;}}}4_7#includeiostream.hvoidmain(void){floata,sum=0;for(inti=1;i=10;i++){cina;sum+=a;}coutsum=sum'\t'average=sum/10endl;}4_8#includeiostream.hvoidmain(void){intn;5floatx=1,y=0;cinn;coutn=n'\t';for(inti=1;i=n;i++){x*=i;y+=x;}couty=yendl;}4_9#includeiostream.hvoidmain(void){inti,k,j,m,n=0;for(i=100;i=999;i++){m=0;k=i;while(k){j=k%10;m+=j*j*j;k/=10;}if(m==i)couti'\t';}cout'\n';}4_10#includeiostream.h#includemath.h#includeiomanip.hvoidmain(void){inti,j,k=0,l;for(i=101;i200;i+=2){j=sqrt(i);for(l=2;l=j;l++)if(i%l==0)break;if(l=j+1){coutsetw(6)i;k++;if(k%5==0)cout'\n';}}cout'\n';}4_11#includeiostream.h6#includeiomanip.hvoidmain(void){for(inti=0;i3;i++){for(intk=1;k=4;k++)cout*;cout'\n';coutsetw(i*2+2);}}4_12#includeiostream.hvoidmain(void){intn,y0,y1,y2,y3,k;for(n=0;n=3;n++){switch(n){case0:y0=0;couty0'\t';break;case1:y1=1;couty1'\t';break;case2:y2=2;couty2'\t';break;default:for(k=3;n=20;n++){y3=y0+y1+y2;couty3'\t';y0=y1;y1=y2;y2=y3;k++;if(k%4==0)cout'\n';}}}cout'\n';}4_13#includeiostream.hvoidmain(void){intn,sum=0;cout输入一个四位数:;cinn;coutn=n'\n';cout各位数字之和是:;for(inti=1;i=4;i++){sum+=n%10;n/=10;}coutsum'\n';}4_147voidmain(void){intcount1=0,count2=0;floatn,sum1=0,sum2=0;cout输入实数,以0结束!\n;while(1){cinn;if(n==0)break;if(n0){count1+=1;sum1+=n;}else{count2+=1;sum2+=n;}}cout正数的个数为:count1'\t'正数之和是:sum1'\n';cout负数的个数为:count2'\t'负数之和是:sum2'\n';cout总的平均值:(sum1+sum2)/(count1+count2)endl;}4_15#includeiostream.hvoidmain(void){intn,num;cout输入一个四位数:;cinn;coutn=n'\n';cout反序的各位数字分别是:;for(inti=1;i=4;i++){num=n%10;coutnum;n/=10;}cout'\n';}4_16#includeiostream.hvoidmain(void){intn,s=0;for(n=1;;n++){s+=n;if(s=600)break;}coutn=n'\t's=sendl;}4_17#includeiostream.hvoidmain(void){floatpi=1;for(intn=1;n=1000;n++)8pi*=(n*2.0)/(2*n-1)*(n*2.0)/(2*n+1);coutpi/2=piendl;}4_18#includeiostream.hvoidmain(void){inti,j,k=0;for(i=1;i=599;i++){if(i%3==0){j=i;while(j){if(j%10==5){couti'\t