ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:97.50KB ,
资源ID:8727622      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8727622.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(c++期末考试.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c++期末考试.doc

1、一、单项选择题 1. 函数调用不可以( D )。 A. 出现在一个表达式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 2. 以下正确的描述是( B )。 A. 函数的定义可以嵌套,函数的调用不可以嵌套 B. 函数的定义不可以嵌套,函数的调用可以嵌套 C. 函数的定义和函数的调用均可以嵌套 D. 函数的定义和函数的调用均不可以嵌套 3. 若用数组名作为函数调用的实参,传递给形参的是

2、 A )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数 4. 以下错误的描述是( D )。 A. 被调用函数中可以不用return语句 B. 被调用函数中可以用多个return语句 C. 被调用函数中,如果有返回值,就一定要有return语句 D. 被调用函数中,一个return语句可返回多个值给调用函数 5. 以下正确的描述是( C )。 A. 不允许设置参数的默认

3、值 B. 设置参数的默认值只能在定义函数时设置 C. 设置参数的默认值时,应该设置右边的参数 D. 设置参数的默认值时,应该全部参数都设置 6. 采用重载函数的目的是( D )。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用方便,提高可读性 7. 将两个字符串连接起来组成一个字符串时,选用( C )函数。 A. strlen() B. strcap() C. strcat() D. strcmp()

4、 8. 以下叙述中正确的是( B )。 A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值 B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的 C. 在程序中使用内联函数使程序的可读性变差 D. 在定义函数时可以在形参表的任何位置给出缺省形参值 9. 下面的标识符中,( C )是文件级作用域。 A. 函数形参 B.语句标号 C.外部静态类标识符 D.自动类标识符 19. 设array为一个数组,则表达式sizeof(arr

5、ay)/sizeof(array[0])的结果为( B )。 A. array数组首地址 B. array数组中元素个数 C. array数组中每个元素所占的字节数 D. array数组占的总字节数 10. 用new运算符创建一个含10个元素的一维整型数组的正确语句是( C )。 A. int *p=new a[10]; B. int *p=new float[10]; C. int *p=new int[10]; D. int *p=new int[10

6、]={1,2,3,4,5} 11. 下列给字符数组赋初值时,正确的是( A )。 A. char s1[]=”abcdef”; B. char s2[4]=”abcd”; C. char s3[2][3]={“abc”,”xyz”}; D. char s4[4][]={‘a’,’x’,’s’,’t’}; 12. 设有定义“static int data[5][6];”,设该数组在静态存储区中的起始地址为十进制的100,若每个int型数占4个字节,则数组元素data[2][3]的地址为( D )。

7、 A. 115 B.124 C.130 D.160 13. 假定变量m定义为“int m=7;”,则定义变量p的正确语句为( B )。 A. int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m; 14. 假定k是一个double类型的变量,则关于变量p的正确定义语句为( D )。 A. double p=&k; B. int *p=&k; C. double &p

8、k; D. char *p=”Thank you!”; 15. 变量s的定义为“char *s=”Hello world!”;”,要使变量p指向s所指向的同一个字符串,则应选取( A )。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 16. 关于void 指针,下列说法正确的是( C )。 A. void 指针就是未指向任何数据的指针 B. void 指针就是已定义而未初始化的指针 C

9、 指向任何类型数据的指针可直接赋值给一个void 指针 D. void 指针值可直接赋给一个非void 指针 17. 假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为( D )。 A. x=pa[3]; B. x=*(a+3); C. x=a[3]; D. x=*pa+3; 18. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为(D )。 A. pb=b; B. pb=&b[

10、0]; C. *pb=new int; D. pb=b[5]; 19. 假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加( C )。 A. 1 B. 4 C. sizeof(double) D. sizeof(p) 20. 假定p指向的字符串为”string”,则cout<

11、string”,若要输出这个字符串的地址值,则使用( D )。 A. cout<<*p; B. cout<

12、类型的指针变量,则给p赋值的正确语句为( B )。 A. p=new int; B. p=new int*; C. p=new int**; D. p=new int[10]; 24. 要使语句“p=new int[10][20];”能够正常执行,p应被事先定义为( D )。 A. int *p; B. int **p; C. int *p[20]; D. int(*p)[20]; 25. 假定有“struct BOOK{char title[40]; float price;}; BOOK *bo

13、ok=new BOOK;”,则正确的语句为( A )。 A. strcpy(book->title,”Wang Tao”); B. strcpy(book.title,”Wang Tao”); C. strcpy(*book.title,”Wang Tao”); D. strcpy((*book)->title,”Wang Tao”); 26. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为( A )。 A. BOOK *x=

14、new book; B. BOOK x={"C++ Programming",27.0}; C. BOOK *x=new BOOK; D. BOOK *x=book; 27. 假定有“struct BOOK{char title[40]; float price;}book;”,则正确的语句为( B )。 A. BOOK &x= &book; B. BOOK &x=book; C. BOOK &x=new BOOK; D. BOOK &x=BOOK;

15、 28. 下列对引用的陈述中不正确的是( C )。 A. 每一个引用都是其所引用变量的别名,因此必须初始化 B. 形式上针对引用的操作实际上作用于它所引用的变量 C. 一旦定义了引用,一切针对其所引用变量的操作只能通过该引用间接进行 D. 不需要单独为引用分配存储空间 29. 假定变量a和pa定义为“double a[10], *pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是( D )。 A. pa[5]=12.35; B. a[5]=12.35;

16、 C. *(pa+5)=12.35; D. *(a[0]+5)=12.35; 30. 假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C )。 A. *(pb+1)=24; B. *(b+1)=24; C. *++b=24; D. *++pb=24; 31. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。 A. delete p; B. delete *

17、p; C. delete &p; D. delete []p; 32. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( D )。 A. delete p; B. delete *p; C. delete &p; D. delete []p; 33. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。 A. int rx=x; B. int rx=&x; C. int *rx=&x;

18、 D. int &rx=x; 34. 下面的这个循环的循环次数是:for(int i=0,j=10;i=j=10;i++,j--). (A) A无限次 B. 语法错误,不能执行 C. 10 D.1 35.下列do-while循环的循环次数是: (B)   for(int i=0,x=0;!x&&i<=5;i++) A.5 B.6 C.1 D无限次 36.C++程序的执行总是从哪里开始的?(A) A.main函数 B..第一行 C..头文件 D.函数注释 二、填空题 1.

19、含随机函数的表达式rand()%20的值在___0__至___19___区间内。 2. 在程序中执行到__return______语句时,将结束所在函数的执行过程,返回到调用该函数的位置。 3.在程序执行完____main____函数后,将结束整个程序的执行过程,返回到操作系统下的C++集成开发窗口。 4. 当在程序中执行到____continue____语句时,将结束所在循环语句中循环体的一次执行。 12. 元素类型为int的数组a[10]共占用___40_____字节的存储空间。 5. 假设double类型的数据占4字节,元素类型为double的二维数组a[4][6]共占

20、用_____192___字节的存储空间。 6. 假设char类型的数据占1字节,元素类型为char的二维数组a[10][30]共占用___300_____字节的存储空间。 7. 存储字符’a’和字符串”a”分别需要占用___1_____和_____2___个字节。 8. 空串的长度为___0_____,存储它需要占用____1____个字节。 9. 字符串”\’a\’xy=4\n”的长度为____8____。 10. 字符串”a:\\xxk\\数据”的长度为____11____。 11. 用于存储一个长度为n的字符串的字符数组的长度至少

21、为____n+1____。 12. 若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为____cin>>a______。 13. 若a是一个字符数组,则向屏幕输出a中所存字符串的表达式为___cout<

22、值为____5____,strcmp(”a”,”A”)的值为___1_____。 17. 若需要把一个字符串”aaa”赋值到字符数组a中,则需要执行___strcpy_____函数的调用来实现。 18. 假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]和a[2][3]分别被初始化为___8____和______0__。 19. 在C++语言中,一个函数由函数头和____函数体______组成。 20. 重载一个函数的条件是:该函数必须在参数的个数或参数的____类型______上与其它同名函数有所不同

23、 22. 如果一个函数直接或间接地调用自身,这样的调用称为____递归________调用。 23.假定p所指变量对象的值为25,p+1所指对象的值为42,则*++p的值为_____42___。 24. 假定p所指变量的值为25,p+1所指变量的值为42,则执行(*p)++运算后,p所指对象的值为____26____。 25.假定p所指变量的值为25,p+1所指变量的值为42,则执行*p++运算后,p所指变量的值为____42____。 26. 假定对数组a[]进行初始化的数据为{2,7,9,6,5,7,10},则a[2]和a[5]分别被初始化为___

24、9___和_____7___。 27. 假定一个变量为int*类型,则指向该变量的指针类型为____int **__。 28. 假定p是一个指向整数变量的指针,则用____*p____表示该整数变量,用_____&p___表示指针变量p的地址。 三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。 1. 采用指针访问方式从键盘给数组a[N]输入数据,然后对元素值重新按逆序存放并输出。 #include const int N=8; vo

25、id main() { int a[N],*p,*q; for(p=a; p

26、 cout<>*p (2) p++ (或++p) (3) q-- (或--q) 2. 从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。 #include void main() { int x; cout<<"输入一个整数:"; cin>>x;

27、 int a[20],k=0,r; do { r=x%2; a[k++]=r; x=___(1)___; } while(___(2)___); for(--k;k>=0;k--) ___(3)___; cout<

28、 void SelectSort(int a[], ___(1)___) { int i,j,k; for(i=1;i

29、 (2) k=j (3) a[k]=x 4. 对数组a[n]按升序进行的插入排序算法 void InsertSort(___(1)___, int n) { int i,j,x; for(i=1;i=0;j--) //为x顺序向前寻找合适的插入位置 if(x

30、 else ___(3)___; a[j+1]=x; } } (1) int a[] (或int* a) (2) a[j+1]=a[j] (3) break 5. 对按从小到大排列的有序数组a[n]进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。 int BinarySearch(int a[],int x) { int low=0, high=N-1; //定义并初始化区间下界和上界变量

31、 int mid; //定义保存中点元素下标的变量 while(low<=high) { mid=___(1)___; if(x==a[mid]) ___(2)___; else if(x

32、mid+1 6. 用插入排序方法对table指针数组中size个指针所指向的字符串进行按升序排序的算法。 void sort(char *table[], int size){ for(int i=1,___(1)___; i++){ char *p=table[i]; for(int j=i-1; j>=0 ; j--) if(strcmp(p,table[j])<0) ___(2)___; else break; table[j+1]=___(3)___;

33、 } } (1) cin>>*p (2) p++ (或++p) (3) q-- (或--q) 7.  输入某一年的年份和月份,计算该月的天数 #include void main() { int year,month,day; cout<<"Input year and month:"; cin>>year>>month; switch (_____1_____) { case 1: case 3: case 5:

34、case 7: case 8: case 10: case 12: _____2____;break; case 4: case 6: case 9: case 11: _____3_____;break; case 2:if (______________4_______ _______) day=29; else day=28; break; _______

35、5______:cout<<"Input data error!"<

36、 for(i=0;i=sum) cout<

37、strlen(a[i])>=5 && strlen(a[i])<15) c2++; else c3++; cout<

38、l=0; for(int i=0;ix) { x=a[i][j]; row=i; col=j; } } 功能:从一个二维整型数组中查找具有最大值的元素,由引用参数row和col带回该元素的行号和列号。 5. char* f8(char* str1, const char* str2) { int i=0,j=0;

39、 while(str1[i]) i++; while(str2[j]) str1[i++]=str2[j++] ; str1[i]='\0'; return str1; } 功能:实现strcat函数的功能,把str2所指字符串连接到str1所指字符串的后面,并返回str1指针。 6. int f8(const char* str1, const char* str2) { int i=0; w

40、hile(str1[i] && str2[i]) if(str1[i]==str2[i]) i++; else if(str1[i]>str2[i]) return 1; else return -1; if(str1[i]==str2[i]) return 0; else if(str1[i]>str2[i]) return 1; else return -1; } 功能: 实现strcmp函数的功能,比较两个字符串str1和str2的大小,若s

41、tr1较大则返回1,若str2较大则返回-1,若两者相等则返回0。 7.#include void f(int &a,int &b) { int t=a; a=b; b=t; } void main(void) { int x=10,y=15; f(x,y); cout< void main(void) { int i=10; switch (i) { case 9:i++;

42、case 10:++i; case 11:i++; default:i=i+1; } cout< void main() { char a[]="abcdabcabfgacd"; int i1=0, i2=0, i=0; while(a[i]) { if(a[i]==’a’) i1++; if(a[i]==’b

43、’) i2++; i++; } cout< void main() { int a[8]={36,25,48,14,55,40,50,24}; int b1, b2; b1=b2=a[0]; for(int i=1;i<8;i++) if(a[i]>b1

44、) {b2=b1; b1=a[i];} else if(a[i]>b2) b2=a[i]; cout< void f4(int a[], int n, int& s) { s=0; for(int i=0; i

45、 int b[8]={4,8,6,9,2,10,7,12}; int x; f4(b,5,x); cout< void f2(int& x, int& y) { int z=x; x=y; y=z;

46、 } void f3(int* x, int* y) { int z=*x; *x=*y; *y=z; } void main() { int x=10,y=26; cout<<"x,y="<

47、<<"x,y="< const int N=3; void main() {

48、 int a[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}}; int b[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}}; int i,j,c[N][N]; for(i=0;i

49、 cout< #include struct Worker { char name[15]; //姓名 int age; //年龄 float pay;

50、//工资 }; void main() { Worker x; char * t="WeiRong"; int d=45; float f=1235; strcpy(x.name, t); x.age=d; x.pay=f; cout< void LG(int*& a, int& m) { a=new i

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服