- 1.31 MB
- 2022-04-22 11:15:56 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'课后答案网:www.hackshp.cn课后答案网您最真诚的朋友www.hackshp.cn网团队竭诚为学生服务,免费提供各门课后答案,不用积分,甚至不用注册,旨在为广大学生提供自主学习的平台!课后答案网:www.hackshp.cn视频教程网:www.efanjy.comPPT课件网:www.ppthouse.com课后答案网www.hackshp.cn若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cn当前位置:学习资源下载>课后习题答案第一章C++CC++++基础知识习题1.11.1判断下列标识符的合法性。sinbook5arry_nameExample2.1main$1class_cppa3x*ymyname答:合法的:sinbook_namemainclass_cppa3非法的:5arryExample2.1$1x*ymyname1.21.2假定有下列变量:inta=3,b=5,c=0;floatx=2.5,y=8.2,z=1.4;charch1=’a’,ch2=’5’,ch3=’0’,ch4;求下列表达式的值,以及运算后表达式所涉及的各变量的值。x+(int)y%ax=z*b++,b=b*x,b++ch4=ch3-ch2+ch1int(y/z)+(int)y/(int)z!(a>b)&&c&&(x*=y)&&b++ch3||(b+=a*c)||c++z=(a<<2)/(b>>1)答:x+(int)y%a值为:4.5x=z*b++,b=b*x,b++值为:42,x为7,b为43ch4=ch3-ch2+ch1值为:’\’int(y/z)+(int)y/(int)z值为:13!(a>b)&&c&&(x*=y)&&b++值为:0,b为5注:只要出现一个false右边的不再做。ch3||(b+=a*c)||c++值为:1,c为0注:只要出现一个true,右边不再做。z=(a<<2)/(b>>1)值为:61.31.3判断下列哪些是常量,哪些是变量。"China"const课后答案网intn=10;intm=5;"a"charch="a"intarray[5]={1,2,3,4,5};chars[]="Hello";答:"China"文字常量www.hackshp.cnconstintn=10;常变量intm=5;变量"a"文字常量charch="a"变量intarray[5]={1,2,3,4,5};变量chars[]="Hello";变量1.41.4将下列算式或叙述用C++表达式描述。(1)(2)(x+y)/((x-y)*ay)(3)位于原点为圆心,a,b为半径的圆环中的点坐标。(4)。若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cn(5)并且字符ch不为" "。答:pi/2+sqrt(asin(x)*asin(x)+c*c)(x+y)/((x-y)*pow(a,y))((x*x+y*y)>=a*a)&&((x*x+y*y)<=b*b)(a!=b)&&(a!=c)&&(b!=c)(k<=20)&&(ch!=" ")1.61.6设有语句:inta,b;floatx,y;charch1,ch2,ch3;cin>>a>>b>>x>>y>>ch1;ch2=cin.get();cin>>ch3;若从键盘输入:321.87abc执行后各变量取值如何?注意abc三字符两两间有空格。答:a是3,b是2,x是1.8,y是7,ch1是’a’,ch2是空格,ch3是’b’。1.71.7设有语句:inta,b,c,d;cin>>oct>>a>>b>>hex>>c>>dec>>d;若从键盘输入:23232323执行后各变量的值用十进制表示各是多少?答:a:19,b:19课后答案网,c:35,d:231.81.8对于习题1.7,若执行:cout<课后习题答案第二章基本控制结构程序设计习题一.基本概念与基础知识自测题2.12.1程序阅读题2.1.1设有说明:inta=3,b=100;下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。while(b/a>5){if(b-a>25)a++;若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cnelseb/=a;}解答:本题检查学生整除的概念。跟踪:abb/a循环次数b-a310033197410025296510020395……………15100613851610061484171005停(1)14(2)17(3)1002.1.2设有说明:intx,y,n,k;下面程序段的功能是备选答案中的(1),当n=10,x=10打印结果是(2)。cin>>x>>n;k=0;do{x/=2;k++;}while(k=10)break;if(m%2==0){m+=5;continue;}m-=3;}解答:注意continue语句的使用初值m=0k=1第1次循环后m=5k=2第2次循环后m=2k=3第3次循环后m=7k=4第4次循环后m=4k=5第5次循环后m=9k=6第6次循环后课后答案网m=6k=7第7次循环后m=11k=8第8次循环www.hackshp.cnm=11结束k=8,k++未做(1)11(2)8二.编程与综合练习题2.2有一个函数:编写程序,输入x,输出y。解:#includeusingnamespacestd;intmain(){doublex,y;若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cncout<<"输入x=";cin>>x;if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=3*x-11;cout<<"y="<usingnamespacestd;intmain(){intmark,result;//mark是百分制成绩,result是5分制cout<<"请输入百分制成绩:"<>mark;if(mark<0){cout<<"缺考!"<usingnamespacestd;intmain(){doubleincome,tax=0;intk;cout<<"请输入个人月收入:"<>income;if(income<=1200){cout<<"免征个人所得税"<20000){k=income/20000;switch课后答案网(k){default:tax+=(income-100000)*0.45;income=100000;case4:tax+=(income-80000)*0.40;income=80000;case3:tax+=(income-60000)*0.35;income=60000;www.hackshp.cncase2:tax+=(income-40000)*0.30;income=40000;case1:tax+=(income-20000)*0.25;income=20000;}}if(income>5000){tax+=(income-5000)*0.20;income=5000;}if(income>2000){tax+=(income-2000)*0.15;income=2000;}若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cnif(income>500){tax+=(income-500)*0.10;income=500;}tax+=income*0.05;cout<<"应征所得税:"<usingnamespacestd;intmain(){inti,j;for(i=1;i<=4;i++){for(j=4-i;j>0;j--)cout<<"";//三角形每行前部的空格for(j=1;j<=2*i-1;j++)cout<<"*";cout<usingnamespacestd;intmain(){charin;inti,j;若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cndo{cout<<"输入一个字母:";cin>>in;if((in>=97)&&(in<=122))in-=32;//小写改大写}while((in<65)||(in>90));intline=in-"A";for(i=0;i<=line;i++){//上三角for(j=line-i;j>0;j--)cout<<"";//前方空格for(j=1;j<=2*i+1;j++)cout<<""<0;i--){//下三角(少一行)for(j=0;j<=line-i;j++)cout<<"";for(j=1;j<=2*i-1;j++)cout<<""<#includeusingnamespacestd;intmain(){intn,i,jch=1;doubleresult=0;//result是结果cout<<"请输入正整数课后答案网n:"<>n;if(n<1){cout<<"输入错误!www.hackshp.cn"<usingnamespacestd;constintday=10;intmain(){inti,x=1;//最后一天只有一个for(i=1;i#includeusingnamespacestd;intmain(){intstem[256],sum=0,pnum=0,nnum=0,i=0;cout<<"从键盘输入一组非0整数,以输入0标志结束:"<>stem[i];while(stem[i]!=0){sum+=stem[i];//求和if(stem[i]>0)pnum++;//正数数量elsennum++;//负数数量i++;cin>>stem[i];课后答案网}if(!i)cout<<"0个数"<usingnamespacestd;intmain(){若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cninti;for(i=1;i<=500;i++)if((i%3==2)&&(i%5==3)&&(i%7==2))cout<usingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;iusingnamespacestd;intmain(){课后答案网inti,j,k,count=0;for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数for(j=0;j<=20;j++){www.hackshp.cnk=100-10*i-5*j;if(k>=0){cout<#includeusingnamespacestd;constdoublee=1e-5;intmain(){doublex,a,sum;inti=3;cout<<"请输入正切值:"<>x;a=x;sum=x;do{a*=x*x*(-1);sum+=a/i;i+=2;}while(fabs(a/i)>e);cout<<"arctg("<课后答案网#includeusingnamespacestd;constdoublee=1e-5;www.hackshp.cnintmain(){doublex0,x1;intn=0;cout<<"输入初始近似值:"<>x1;do{x0=x1;x1=(x0*x0-10*(x0*sin(x0)+cos(x0)))/(2*x0-10*sin(x0));//x0是上次算出的结果,x1用作保存新算出的结果n++;}while((fabs(x1-x0)>e)&&(n<=1e5));if(n>1e5)若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cncout<<"超出迭代1e5次n";elsecout<<"方程x*x+10*cos(x)=0的一个根为:"<usingnamespacestd;intmain(){charst1[5]={"A","B","C","D","E"},st2[5]={"J","K","L","M","N"};inti=0,j,k,l,m,n;for(j=0;j<5;j++){//0号位if(j==0)continue;//A选手不与选手J比赛,即st1[0]不与st2[0]比赛for(k=0;k<5;k++){//1号位if(k==j)continue;//剔除乙队占据0号位的选手for(l=0;l<5;l++){//2号位if(l==j||l==k)continue;//剔除乙队占据0、1号位的选手for(m=0;m<5;m++){//3号位if(m==j||m==k||m==l)continue;//剔除乙队占据0、1、2号位的选手if(m==3)continue;//st1[3]不与st2[3]比赛,即D不与M比赛课后答案网for(n=0;n<5;n++){//4号位if(n==j||n==k||n==l||n==m)continue;//剔除乙队占据0、1、2、3号位的选手www.hackshp.cnif(n==3)continue;//st1[4]不与st2[3]比赛,即E不与M比赛cout<#includeusingnamespacestd;intmain(){enumcandidate{feipiao,zhang,wang,li,zhao}cand;intvote[5]={0},i,k=0,n;cin>>n;while(n!=-1){k++;if(n>=1&&n<=4)vote[n]++;elsevote[0]++;cin>>n;}for(i=0;i<5;i++){cand=(candidate)i;switch(cand){casefeipiao:cout<k/2)cout<<"当选"<k/2)cout<<"www.hackshp.cn当选"<k/2)cout<<"当选"<k/2)cout<<"当选"<>i>>j>>k>>l;等,并输出最后关闭文件:file.close();#include#include#includeusingnamespacestd;constintm=20;intmain(){intfib0=0,fib1=1,fib2,i,j,k,l,n;charch;ofstreamofile("myfile2_17.txt");ofile<>ch;www.hackshp.cnif(ch=="y"||ch=="Y"){ifstreamifile("myfile2_17.txt");while(1){ifile>>i>>j>>k>>l>>n;//由文件读入if(ifile.eof()!=0)break;cout<#include#include#includeusingnamespacestd;constintn=100;intmain(){inta[n],i,j;charch,b[256];ofstreamofile;ifstreamifile;for(i=0;i>ch;if(ch=="y"||ch=="Y"){ifile.open("myfile2_18.txt");i=0;while(ifile.get(b[i])){//不可用>>,它不能读白字符,if(b[i]=="n")break;i++;}b[i]=" ";cout<>i;//由文件读入cout<#includeusingnamespacestd;intmain(){charch;intnline=0,nword=0,nch=0;intisword=0;ifstreamifile("ep2_19.cpp");cout<<"读入ep2_19.cpp"<课后习题答案第三章函数习题一.基本概念与基础知识自测题3.13.1填空题3.1.1被定义为形参的是在函数中起(1)作用的变量,形参只能用(2)表示。实参的作用是(3),实参可以用(4)、(5)、(6)表示。答案:(1)自变量(2)变量名(3)将实际参数的值传递给形参(4)具有值的变量(5)常量(6)表达式3.1.2局部域包括(1)、(2)和(3)。使用局部变量的意义在于(4)。答案:(1)块域(2)函数域(3)函数原型域(4)局部变量具有局部作用域使得程序在不同块中可以使用同名变量3.1.3静态局部变量存储在(1)区,在(2)时候建立,生存期为(3),如定义时未显式初始化,则其初值为(课后答案网4)。答案:(1)全局数据区(2)编译www.hackshp.cn(3)全局生存期(4)全03.1.4局部变量存储在(1)区,在(2)时候建立,生存期为(3),如定义时未显式初始化,则其初值为(4)。答案:(1)栈(2)在函数或块开始执行时(3)函数或块的执行期(4)随机值3.1.5编译预处理的作用是(1),预处理指令的标志是(2)。多文件系统中,程序由(3)若侵犯了您的版权利益,敬请来信告知!www.hackshp.cn
课后答案网:www.hackshp.cn来管理,用户自定义头文件中通常定义一些(4)。答案:(1)将源程序文件进行处理,生成一个中间文件,编译系统对此中间文件进行编译并生成目标代码(2)#(3)工程文件(4)用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等具有一定通用性或常用的量3.1.6设有函数说明如下:intf(intx,inty){returnx%y+1;}假定a=10,b=4,c=5,下列语句的执行结果分别是(1)和(2)。(1)cout<usingnamespacestd;inta,b;voidf(intj){staticinti=a;//注意静态局部变量intm,n;m=i+j;i++;j++;n=i*j;a++;cout<<"i="<usingnamespacestd;floatsqr(floata){returna*a;}floatp(floatx,intn){cout<<"in-process:"<<"x="<usingnamespacestd;charcapitalize(charch){if(ch>="a"&&ch<="z")returnch-"a"+"A";elsereturnch;}intmain(){inti=0;charcp[30];cout<<"请输入包含小写字母的句子:"<