




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习 题一、选择题1. 下列叙述错误的是_A_。 A. 主函数中定义的变量在整个程序中都是有效的 B. 复合语句中定义的变量只在该复合语句中有效 C. 其它函数中定义的变量在主函数中不能使用 D. 形式参数是局部变量2. 若函数的形参为一维数组,则下列说法中错误的是_B、才_。A. 形参数组可以不指定大小B. 函数调用时对应的实参只能是数组名C. 函数调用时,系统会为形参数组分配存储单元D. 函数中对形参的修改将会影响对应的实参值3. 若函数的类型和return语句中的表达式的类型不一致,则_D_。A. 编译时出错B. 运行时出现不确定结果C. 不会出错,且返回值的类型以return语句中表达式的类型为准D. 不会出错,且返回值的类型以函数类型为准4. 下面的函数定义正确的是_D_。A. float f(float x;float y) B. float f(float x,y) return x*y; return x*y;C. float f(x,y) D. float f( int x, int y) int x,y ; return x*y; return x*y;5. 下面函数头的定义格式正确的是_C_。A. void sort(int an,int n) B. void sort(int a ,int n)C. void sort(int a ,int n) D. void sort(int a ,n)(2). #include iostream.hvoid cube(int &x) x=x*x*x; void main()int x=5; cube(x); coutx;6. 下面4个程序中输出结果是125的有_C_D_。(1). #include iostream.hvoid cube(int x) x=x*x*x; void main()int x=5;cube(x); coutx;(4). #include iostream.hint x=5;void cube() x=x*x*x;void main() cube(); coutx; (3). #include iostream.hint cube(int x) x=x*x*x; return(x); void main()int x=cube(5);coutx;A. 1 B. 2 C. 3 D. 47. 设函数m()的说明形式为void m(int,int *); 利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_C_。A. m(&5,&j) B. m(5,j) C. m(5,&j) D. m(&5,j)8. 设函数的说明为: void fun(int a,int m); ,若有定义:int a10,n,x; 则下面调用该函数正确的是_A_。A. fun( a, n); B. x=fun( a, n); C. fun( a10, 10); D. x=fun( a, n);9. 下面函数说明正确的是_C_。A. void f1(int a=3, int b, int c); B. void f2 int a, int b=3, int c);C. void f3(int a, int b, int c=3); D. void f4(int a, int b, int 3);10. 有两个函数分别为: int f(int);和int f(int,int =100);,则下面说法正确的是_B_。A. 不能在同一个程序中定义B. 可以在同一个程序中定义,但不可以重载C. 可以在同一个程序中定义并可重载D. 以上说法均错误11. 以下几种函数模板的定义正确的是_A_。B. template void fun1(T1 a,T1 b,T2 c) A. template T fun1(T a,int b) D. template T2 fun1(T1 a,T1 b) C. template void fun1(int a,int b) T i; 12. 下面程序的输出结果是_B_。#include iostream.hint m=10; void f(int m,int &n) m=m+2; n=n+2; void main() int n=5; f(m,n); coutm=m n=nendl;A. m=10 n=5 B. m=10 n=7 C. m=12 n=7 D. m=12 n=5二、阅读程序,写出运行结果1. yes 3 not 42. 43. 12 25 16 9 2 14. 212345. m=5n=36. 911三、程序填空1. 该程序功能:对x=1,2,.,10,求f(x)=x*x-5*x+sin(x)的最大值。#include iostream.h#include math.hfloat f(int x)float y; y=x*x-5*x+sin(x); _return y _;void main() int x; float max; _max=f(1)_; for(x=2;xmax)max=f(x)_ ; coutmaxendl;2. 函数backmove()是把字符指针x所指的字符串平移m个字符,即将最后m个字符移到串首。如“abcdefghij”, 平移3个字符,成“hijabcdefg”。#include stdio.h #include string.hvoid backmove(char *x,int m)int i,j,n;char w; n=strlen(x); for(j=0;jm;j+) w=_*(x+n-1)_; for(i=0;in-1;i+) *(x+n-1-i)=_ *(x+n-2-i)_; _*x_=w; void main()char s20; gets(s); _backmove(s,3)_; /假设平移3个字符 puts(s);3. 函数index()为查找字符串sub是否是字符串st的子串。若是,返回sub在st中首次出现的下标,否则返回-1。字符串sub和st非空。如sub: cd ,st: abcdefcd ,返回2。#include iostream.h#include stdio.hvoid main()char s180,s280; _ int index(char ,char );_; gets(s1);gets(s2); if(_index(s1,s2)_) cout子串在字符串中首次出现的下标:index(s1,s2); else cout找不到;int index(char st,char sub)int i,j,k; for(i=0;sti!=0;i+) for(j=i,k=0;subk!= 0&stj=subk ;_ k+,j+_); if(subk= 0)_ return(i)_; return 0;4. 函数root为用二分法求方程f(x)=0在x1,x2的实根,精度为eps。二分法求根的基本思想为 f(x)在区间a,b上连续,f(a) 与 f(b)异号,区间中点 c=(a+b)/2 的 f(c) 符号和 f(a) 符号确定 c 代替 a 或 b,使根所在区间每次减半,直到|a- b|eps或|f(c)|0.0)_ x1=x_; else if (y1*y=eps_&_fabs(x2-x1)=eps); return(x); double f(double x)return x*x*x-5*x*x+16*x-80;void main()cout_root(1,7)_endl;5随机生成10个1100之间的数放在一维数组中,求其平均值及最大的元素值。#include iostream.h#include stdlib.hconst int N=10;void fun(float *p,float *p1,float *p2) float sum,max1;_max1=*p_; for(int i=1;iN;i+) if (max1*p) max1=*p; sum=sum+*p; p+; _*p1=max1_; _*p2=sum/N_;void main() float a10,aver,max,x;for(int i=0;i10;i+) x=rand() % 100+1; ai=x; for(i = 0;i10;i+) coutai ; coutendl;_fun(a,&max,&aver)_; cout平均值:aver 最大值:max=0;-i) chk+=b _ci_ ; _chk=0_;void main()char ch10;int m,h;cinmh;convert(m,h,ch);coutchendl;四、编写程序1. 编写函数,功能为将字符串s中的字符c1用字符c2替换,并加以调用。函数形式为:void match(char s, char c1,char c2);#include using namespace std;void replace(char s,char c1,char c2)char *p=s; while(*p!=0) if(*p=c1) *p=c2; p+; void main()char s80,c1,c2; cins; cinc1c2; replace(s,c1,c2); coutsendl;system(pause);2. 编写函数,功能为求圆的周长和面积。函数分别定义为如下形式:double area(double r, double * girth ,double pi=3.14159); void fun(double r, double &girth ,double &area,double pi=3.14159); 分别编二个程序实现,半径从键盘输入。方法一、#include double area(double r,double *girth,double pi=3.14159)*girth=2*pi*r;return(pi*r*r);void main()double r,len,s; cinr; s=area(r,&len); coutlen=len,s=sendl;方法二#include void fun(double r,double &girth,double &area,double pi=3.14159)girth=2*pi*r;area=pi*r*r;void main()double r,len,s; cinr; fun(r,len,s); coutlen=len,s=sendl;3. 编写函数,功能是求二维数组中最大元素所在的行号和列号,再编写主函数调用之。#define SIZE1 3#define SIZE2 4#include iostream#include stdlib.husing namespace std;float max_value(float x4,int &ii,int &jj)float max=x00; for(int i=0;iSIZE1;i+) for(int j=0;jmax) max=xij; ii=i; jj=j; return(max);void main()int i,j,t1,t2;float aSIZE1SIZE2; coutenter the array:n;for(i=0;iSIZE1;i+) for(j=0;jSIZE2;j+) aij=rand()%101; coutaij ;coutendl;coutmax value is max_value(a,t1,t2);cout line=t1 row=t2endl;system(pause);4. 编写函数,将两个字符串s和t的前n个字符拼接成新的字符串,结果存放在s中。如果s或t中字符串的长度不足n,按实际长度处理。例如,如果有ABCDEFGH和abcdefghijk,n为3,则新的字符串为”ABCabc”,并加以调用。函数形式为:void mystrcat(char s,char t,int n);#include #include using namespace std;void mystrcat(char s,char t,int n)int l1=strlen(s),l2=strlen(t);int k1=l1n?n:l1,k2=l2n?n:l2; int kfor(int i=0;ist;cinn;mystrcat(s,t,n);coutsendl;system(pause);5. 编写函数,其功能是逐字符比较两个字符串s1和s2,并将s1中第一个与s2不相同字符的地址返回给主函数。再编写主函数调用该函数,并在主函数中输出s1从这个位置开始的子串。函数形式为:char *dif(char s1,char s2);#include using namespace std;#include stdio.hchar *dif(char s1,char s2)int i=0;while(s1i=s2i&s1i!=0)i+;if(s1i!=0)return(&s1i);else return NULL;void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁波无尘室施工方案范本(3篇)
- 厕所土建施工方案(3篇)
- 致敬缅怀英烈活动方案策划(3篇)
- 景区节庆活动策划方案模板(3篇)
- 活动内容策划方案范文大全(3篇)
- 双绞网线施工方案(3篇)
- 安徽省马鞍山市雨山区2024-2025学年高二上学期期中考试历史试题含参考答案
- 项目管理 课件 第六章-项目成本管理
- 行政事务处理与活动策划工具
- 时空旅行高中政治课件
- GB/T 6553-2024严酷环境条件下使用的电气绝缘材料评定耐电痕化和蚀损的试验方法
- 2024年苏教版四年级数学上册全册教案
- 2024新科普版英语七年级上单词默写表
- 金融行业高质量发展专题研究报告
- 知识题库-人社练兵比武竞赛测试题及答案(五)
- 委托办理城市排水许可证授权书
- 多功能报告厅设计
- 学校生活指导老师面试问题
- 安防项目视频周界报警系统招投标书范本
- 烹饪概论高职全套教学课件
- 建筑装饰施工技术课件
评论
0/150
提交评论