已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章答案1简答题(1) 自顶而下,逐步求精,模块设计,结构编程(2) 函数(3) 模块是内容,文件是载体(4) main(5) 主模块,自定义模块,自定义模块说明(6) 包含是为了引用sqrt函数(7) 需要连接(8) 方案一更好。原因是命名规范,注释清楚(9) 5(10) 图如下:2选择题C D A B BA A ABCD A A3判断题 4画图题图形表达式int getAverage(int data1,int data2).int getSquareVol(int l,int w,int h).float getBallArea(float r).void textOut(int x,int y,char * content).float getCentigrade(float fah).5画图题6,7,8同型题参与教材相关代码和图形9答辩题部分代码int getPolyValue(int x)return x*x*x+3*x+1;10答辩题部分代码int getMax(int a,int b)if (ab)return a;elsereturn b;int getCube(int x)return x*x*x;11答辩题部分代码float getCircleArea(float r)return 3.14*r*r;12(1)升旗仪式:取旗,奏国歌,升旗,行礼,降旗(2)写论文:写题纲,找资料,写作,修改(3)炸碉堡:取炸药包,掩护,埋包,退回,引爆(4)旅游策划:确定目的地,定路线,订宾馆,订机票等。第二章答案1简答题(1) 编译出错:通过出错信息,定位并改正语法错误;连接出错:检查申明和源码之间是滞匹配等;运行出错:单步调试或者断点调试等,检查变量的状态。(2) F10/F11交替使用单步调试,使用变量窗口和查看窗口查看数据状态。(3) 最关键的是cpp源码文件和h声明文件。如主模块所在cpp源码文件,自定义模块所在cpp源码文件,自定义模块的h声明文件。拷贝一个项目两种方法:一是拷贝整个项目;二是拷贝cpp和h文件。(4) 放在章节目录下,如第一章程序位置:c:c+chapt1(5) 新建项目、拷贝核心文件(源码和声明)、项目中添加核心文件(6) 随机值,因为编译时,会将变量赋一个随机值(7) 错误信息:c没有被定义(8) 在相应位置设置断点(F9),运行至断点(F5)即可通过变量窗口查看此时值(9) 三种常用函数:绝对值函数fabs(3) 正弦函数sin(4) 求平方根函数sqrt(2)。使用数学函数,要加#include (10) 项目名为:ThreeMaxMinProj,项目下建立3个文件,模型图如下:2选择题B B A A AA B ABC C A3选择题 4改错题(1) 正确答案#include int getPoly3Value(int x);int main()int x,y ;cinx;y=getPoly3Value(x);couty;return 0;int getPoly3Value(int x)return x*x*x+2*x*x+1;(2) 正确答案#include void swap(a,b);int main()int a,b;cinab;swap(a,b);coutabb&aacc) return aa;if(bbaa&bbcc) return bb;if(ccaa&ccaa) return cc;9答辩题-模块代码#include float getDeposit(float capital,float rate,int year)/可归属于Financefloat deposit;deposit=capital*pow(1+rate,year);return deposit;10编程题(提高)-模块代码#include #include Financeint main()float capital,rate;int year;float result1,result21,result22;/不转存情况capital=10000;rate=0.03;year=5;result1=getDeposit(capital,rate,year);cout不转存情况result1endl;/转存,先求前三年,在此基础上,求后两年capital=10000;rate=0.02;year=3;result21=getDeposit(capital,rate,year);capital=result21;rate=0.04;year=2;result22=getDeposit(capital,rate,year);cout转存情况result22关系逻辑(3) 大于 小于 等于 不等于 等(4) 字符常量用单引号,字符串常量用双引号。如a与”a”(5) 三步骤:定义,声明,使用(6) a是字符a,其码值是97;a是字符响铃,其码值是7。0是字符0,其码值是48;0是不可见字符,其码值是0。(7) void(8) 假如整形变量a,通过sizeof(a)可知道分配多少单元(9) 小数表示法,科学计数法(10) -2147483648 - 2147483647(11) 假如整形变量a,则一个整数得到最后一位方法:a%10;去除最后一位方法:a/102选择题C C A A BB A A A A A注:第7题题目答案有改变3计算题(1)25 (2)12.5 (3)184编程题void lower2Upper(char c1,char c2,char c3,char c4,char c5)c1=c1-32;c2=c2-32;c3=c3-32;c4=c4-32;c5=c5-32;coutc1c2c3c4c5;5编程题void changeChar(char c1,char c2,char c3,char c4,char c5)c1=c1+5;c2=c2+5;c3=c3+5;c4=c4+5;c5=c5+5;coutc1c2c3c4absign;result=calc(a,b,sign);coutresult=a&chz)return ch+5-26;elsereturn ch+5;if (ch=A&chZ)return ch+5-26;elsereturn ch+5;bool isChar(char ch)/先做判断是否字符模块if (ch=a&ch=A&chb) *pMax=a;*pMin=b;else *pMax=b;*pMin=a;5编程题int getMax(int data1,int data2,int data3)int max;if (data1data2&data1data3) max=data1;if (data2data1&data2data3) max=data2;if (data3data1&data3data1) max=data3;return max;int getMin(int data1,int data2,int data3)int min;if (data1data2&data1data3) min=data1;if (data2data1&data2data3) min=data2;if (data3data1&data3data1) min=data3;return min;#include int main()int data1,data2,data3,max,min;cindata1data2data3;max=getMax(data1,data2,data3);min=getMin(data1,data2,data3);coutmaxdata2&data1data3) *pMax=data1;if (data2data1&data2data3) *pMax=data2;if (data3data1&data3data1) *pMax=data3;if (data1data2&data1data3) *pMin=data1;if (data2data1&data2data3) *pMin=data2;if (data3data1&data3data1) *pMin=data3;#include int main()int data1,data2,data3,max,min;cindata1data2data3;setMaxMin(data1,data2,data3,&max,&min);coutmaxdata2&data1data3) aMax=data1;if (data2data1&data2data3) aMax=data2;if (data3data1&data3data1) aMax=data3;if (data1data2&data1data3) aMin=data1;if (data2data1&data2data3) aMin=data2;if (data3data1&data3data1) aMin=data3;#include int main()int data1,data2,data3,max,min;cindata1data2data3;setMaxMin(data1,data2,data3,max,min);coutmaxmin;return 0;8编程题(1)welcome模块void welcome(void)cout*;cout* 欢迎使用本程序 *;cout* 本程序是将三个整数进行排序 *;cout* 作者:李祎 *;cout*pB)temp=*pA;*pA=*pB;*pB=temp;if (*pA*pC)temp=*pA;*pA=*pC;*pC=temp;if (*pB*pC)temp=*pB;*pB=*pC;*pC=temp;(3)main模块#include int main()int a,b,c;welcome();cinabc;sort(&a,&b,&c);coutabc;return 0;第五章答案1简答题(1) 通过调用模块的返回值给本模块的的变量赋值;将本模块变量的地址传递过去,在调用模块中通过间接方式修改本模块的变量值;将本模块变量的名传递过去,在调用模块中通过引用名修改本模块的变量值;(2) 模块设计指的是将所要实现的功能写成一个独立的单元,这个单元的名字叫模块或者叫函数;结构编程指的是模块内部编程时,只有一个入口和一个出口的顺序、选择、循环三种结构代码,不能够在三种结构里随意地跳转。(3) 一般情况下,switch用于离散值的选择,根据输入的几个特定的值去选择分支走向,如菜单的制作;if/else用于较复杂的选择环境。(4) 对齐格式用setiosflags(ios:对齐格式)来控制,具体小数的位数用setprecision(小数位数)控制,总长度用setw(总长度)控制,另外总长度需要每次输出时都明确。(5) 赋值是对一个已经定义的变量传值,而克隆是在定义变量的同时传值。2选择题12345678910BACCBDDACD3判断题123456789104画图题5编程题#include void prtGrade(float score)char grade; if (score=85) grade=a;else if (score=70) grade=b;else if (score=60) grade=c;else grade=d;coutgrade is:gradeendl;6编程题void prtByGrade(char grade)switch(grade)case a:cout85-100n;break;case b:cout70-84n;break;case c:cout60-69n;break;case d:cout60n;break;default:cout=85) grade=a;else if (score=70) grade=b;else if (score=60) grade=c;else grade=d;return grade;8编程题bool isLeapYear(int year)bool flag;if (year%4=0&year%100!=0|year%400)flag=true;elseflag=false;return flag;9编程题判断是否构成三角形模块isTri求三棱锥体积模块bool isTri(float a,float b,float c)bool flag;if (ab+c&ba+c&ca+b) flag=true;else flag=false;return flag;float getTriVol(float a,float b,float c,float h)float p,vol;if (isTri(a,b,c)p=0.5*(a+b+c);vol=h*sqrt(p*(p-a)*(p-b)*(p-c)/3;elsecout这不是三棱锥;vol= 0;return vol;10编程题求根模块setRoot主模块main#include int setRoot(int a,int b,int c,float *pRoot1,float *pRoot2)float det=b*b-4*a*c;bool flag;if (det0)*pRoot1=(-b+sqrt(det)/(2*a);*pRoot2=(-b-sqrt(det)/(2*a);flag=1;else if (det=0)*pRoot1=*pRoot2=(-b*1.0)/(2*a);flag=0;else*pRoot1=(-b*1.0)/(2*a);*pRoot2=sqrt(-det)/(2*a);flag=-1;return flag;#include int main()int a,b,c;float root1,root2;bool flag;coutabc;flag=setRoot(a,b,c,&root1,&root2);if (flag=1)cout两个不等实根:root1 root2;else if (flag=0)cout两个相等实根:root1 root2;elsecout两个虚根:endl;cout虚根1:root1+root2iendl;cout虚根2:root1-root2ib)ERROR3: for(int i=m;i=n;i+)5填空题第(1)题第2题s=s+c;c=b;a=b;i+;i表示21c表示第21项值b表示第20项值1 11 21 32 12 22 36画图题(图略,仅给出形式表达)(1)bool isPrime(int x)(2)bool isSXH(int x)(3)int getSum(int a,int b) 及int getAverage(int a,int b)(4)bool saveData(FILE *pF,float f)(5)char* getCharAddress()(6)void welcome(void)(7)int getDigit(int a)(8)void setABCounts(FILE *pF,int *pACounts,int *pBCounts)(9)double getValue(double m1,double m2,double distance)(10)int getSum(int a,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10)7编程题#include int main()int s=0,a=4,i=1;while(i=20)s=s+a;a=a+3;i=i+1;couts;8编程题int main()int i;float s=0,nu=2,de=3,sign=1;while(i=100)s=s+sign*nu/de;nu=nu+2;de=de+4;sign=-sign;i+;couts; 9编程题#include void displayFomatNum()int counts=0;for (int i=1;i=100;i+)couti ;counts+;if (counts%3=0)coutendl;10编程题void displayPrimeNum(int a,int b)int counts=0;for (int i=a;i=b;i+)if (isPrime(i)couti ;counts+;if (counts%3=0)coutendl;11编程题void display(int a,int b)int counts=0;for (int i=a;i=b;i+)if (i%3=0&i%4=1)couti ;counts+;if (counts%3=0)coutendl;12编程题long int getProgSum(int n)long int s=0,a=1;for (int i=1;i=n;i+)/循环n次s=s+a;a=a*(i+1);return s;13编程题analyzeInt模块sequence模块unsequence模块void analyzeInt(int num)int digit;digit=getDigit(num);sequence(num,digit);unsequence(num,digit);#include void sequence(int num,int digit) int head; for (int i=1;i=digit;i+) head=num/(int)pow(10,digit-i);couthead;num=num%(int)pow(10,digit-i)/或num=num-head*pow(10,digit-i); void sequence(int num,int digit) int end; for (int i=1;i=digit;i+) end=num%10;coutend;num=num/10; 14编程题int getSumDivsion37(int n)int s=0;for (int i=1;in;i+)if (i%21=0)s=s+i;return s;15编程题int main()for (int i=1;i=20;i+)for (int j=1;j=33;j+)int k=100-i-j;if (i*5+j*3+k/3=100)coutijk;16编程题#include #include float getPolMaxX(int m,int n)float max=-9999.00;int x,y,cx;for (x=m;xmax)cx=x;max=y;printf(x is:%d,y is:%dn,cx,max);return cx;17编程题int getRevertInt(int num)int end,newNum=0;doend=num%10;newNum=newNum*10+end;num=num/10;while(num!=0);return newNum;18编程题#include int main()int s=0,x,y;while(1)/person partdocoutx;if(x5|x1) cout5|x1);/computer party=6-x;cout计算机给出的选择:yendl;/current ss=s+x+y;/current cirmoscout两方已选总数:s 剩下数:25-sendl;/endif(s=24)cout您输了,您只能输入1了:;break;第七章答案1简答题(1) 数组名a,其实质是一个固定地址(2) 0至n-1(3) 第1个元素(标号从0开始)(4) ai或*(a+i)(5) 头地址和长度(6) int *p4;一维指针数组可表示二维数组(7) int *p=new int10; p0=1;/操作第1个数据(8) int *p=new int*4; for (int i=0;i4;i+) pi=new int10; p00=1;/操作第1个数据(9) 因为二维数组的空间是连续的(10) i*n+j2选择题12345678910CBACDABAACBACD3判断题123456789101112134读程序 1 25编程题float getMin(float *pArray,int n)float min=pArray0;for (int i=1;in;i+)if (pArrayimin)min=pArrayi;return min;6编程题void sort(float *pArray,int n)float t;for (int i=0;i=n-2;i+)int maxNo=i;for(int j=i+1;j=n-1;j+)if (pArraymaxNopArrayj)maxNo=j;if (i!=maxNo)t=pArrayi;pArrayi=pArraymaxNo;pArraymaxNo=t;7编程题void arrayCpy(int *pDes,int *pSrc,int n)for (int i=0;i=n-1;i+)pDesi=pSrci;int main()int a3=3,4,5,b3;arrayCpy(b,a,3);8编程题void arrayRevert(int *pArray,int n)int t;for (int i=0;i=(n-1)/2;i+)t=pArrayi;pArrayi=pArrayn-1-i;pArrayn-1-i=t;9编程题void delScore(float *pScore,int n,int no)for(int i=no;i=NUM-1;i+)pScorei-1=pScorei;10编程题void delScore(float *pScore,int n,int no,int *pNum)for(int i=no;i=*pNum-1;i+)pScorei-1=pScorei;(*pNum)-;11编程题void getFabN(int *pFab,int n)pFab0=pFab1=1;for (int i=2;in;i+)pFabi=pFabi-1+pFabi-2;12编程题void arrayCopyRevert(int *pDes,int *pSrc,int n)for (int i=0;i=n-1;i+)pDesi=pSrcn-1-i;13编程题statisPosSum统计正数和模块main测试模块int statisPosSum(int *pArray,int n)int sum=0;for (int i=0;i0)sum=sum+pArrayi;return sum;#include int main()int a4=-33,89,-78,11;int sum;sum=statisPosSum(a,4);coutsum;14编程题int getDays(int year,int month,int day)int days13=0,31,28,31,30,31,30,31,30,31,30,31,30;int sum=0;for (int i=0;imonth;i+)sum+=daysi;if (year%4=0&year%100!=0|year%400=0)sum+=1;sum+=day;return sum;15编程题void insertSequenceArray (int *pA,int n,int *pNum,int data)for (int i=0;i*pNum;i+)if (data=i;j+)pAj+1=pAj;pAi=data;(*pNum)+;16编程题一个是作普通指针传递,一个作数组指针传递,两者使用时注意寻址方式不同17编程题第八章答案1简答题(1) 头地址(2) ai 或者*(a+i)(3) char name=”wangwu”是初始化给字符串,字符串名name; char name10;name=”wangwu”;是错误的,name是固定地址,不能赋值(4) p是随机地址,不能在其中赋值或交互输入(5) 0(6) 什么都不显示,因为字符串的第一个字符是0,表示字符串结束之意(7) 整数3的码值是3,字符3的码值是51(8) 因为标准字符串的末尾固定是0,以此可以确定字符串的长度(9) char str10=china;coutstr;/输出字符串coutstr+2;/从第2个字符输出字符串(10) char *p10=c/c+,basic,data structure;coutp0endl;/显示第一本书coutp2endl;/显示第三本书coutp2+2endl;/显示第三本书自第三个字符开始的所有字符coutp22endl;/显示第三本书的第三个字符(11) name是固定地址,不能赋值,而pName是指针变量,可以赋值(12) liming乱码(13) 因为至少包括了0这个结束标记2选择题12345678910CCABDBACABBD3判断题12345678910114画图题模块图形式及归属形式:void strRevert(char *pStr)归属:String形式:void strAdd(char *pDes,char *pSrc)归属:String形式:void subStrCopy(char *pDes,char *pSrc)归属:String形式:int getWordNums(char *pStr)归属:String形式:int getDiffWords(char *pp,char *pStr)归属:String5改错题(1)/*$ERROR1$*/ i=0; /*$ERROR2$*/ si!=0; /*$ERROR3$*/ j+;(2)/*$ERROR1$*/ /*$ERROR2$*/ #include string.h/*$ERROR3$*/ int main( ); /*$ERROR4$*/ i=0;/*$ERROR5$*/ while(in)(3)/*$ERROR1$*/ pai!=0|pbi!=0 /*$ERROR2$*/ i+;6读程序(1) 英翻汉或者汉翻英(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国内公司销售外包合同
- 工业设计软件外包合同
- 美团外卖员工外包合同
- 语音数据标注外包合同
- 家用空调安装外包合同
- 佛山电子厂食堂外包合同
- 葡萄修剪劳务外包合同
- 中通快运入职签外包合同
- 2025年城市碳中和项目开发规划案例
- 天然气改造业务外包合同
- 中国哲学简史-冯友兰(英文版)
- GB/T 10592-2023高低温试验箱技术条件
- CB马达安装维护手册中文
- 2023年道县小升初英语考试题库及答案解析
- 2021届高考英语887核心词(打印、词频、出处、例句、背诵)
- JJG 1148-2018电动汽车交流充电桩
- GB/T 19065-2011电加热锅炉系统经济运行
- GB/T 17632-1998土工布及其有关产品抗酸、碱液性能的试验方法
- GB/T 12706.4-2020额定电压1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)挤包绝缘电力电缆及附件第4部分:额定电压6 kV(Um=7.2 kV)到35 kV(Um=40.5 kV)电力电缆附件试验要求
- 科技档案管理培训课件
- 劳动人事争议仲裁具体申请书具体申请人为个人
评论
0/150
提交评论