




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式专业资料整理C+程序设计课程复习资料作B.StudenC+标识符的是 A.gototC.123 D.kld定义变量inta=6 ,则a+的值是A.7B.6C.5D.4已知字母A 的 ASCII码为 65,则表示字符常量A错误的是A.'101'B.'x41'C.65D.“A”结构化程序由三种基本结构组成,不包括 A. 顺序结构 B.选择结构C.控制结构D.循环结构单项选择题: 下列字符串中可以用己知有定义: constintD5; inti=1;doub lef=0.32; charc=15; 则下列选项错误的 是A.+i;B.D-;若有定义为“ in
2、t*r=newint10; A.deleter;B.delete下列哪个是A._No1 下列哪个是 A. ”0”C.c+;D.-f; ”,则释放指针所指内存空间的操作 是r;D.deleter;C+语言的不正确的标识符?B.Ab1 C.bgc D.intC+语言的合法的字符常量?C.'x89'并赋初始C.deleteB.'054'D.'092'定义整型变量 x,y,z 值 A.intx=y=z=6;B.intx=6,y=6,z=6用 C+语言编写的代码程序6 的正确语句是D.intx,y,z=6C.x=y=z=6;是一个源程 序A.可立即执行C.
3、经过编译即可执行 D. 将两个字符串连接起来组成一个字符串时,选用的函 数是 A.strlen()在程序中,A.*在 C+语言中,表示一条语句结束的符号是A.“#”B.“; ”C.“”D在下面的循环语句中循环体执行的次数为 for(inti=0;i<n;i+) if(i>n/2)break;A.n/2 B.n/2+1 C.n/2-1 D.n-1 在下面的一维数组定义中,有语法错误的语句是B.inta10=0B.经过解释才能执行B.strcpy( C.strcat() ) D.strcmp() 预处理命令开头的字符都是 B.# C.& D./ ”A.inta=1,2,3; ;
4、C.inta; D.inta5; 下面的保留字中,不能作为函数的返回类型..5.16.A. void B.int C.new D.long17. 下面的函数声明中,“ voidBC(inta,intb); ”的重载函数是 A. intBC(intx,inty); B.voidBC(inta,charb); C.floatBC(inta,intb,intc=0); D.intBC(inta,intb=0); 假定 AB 为一个类,则该类的复制构造函数的声明语句18. 为 A. AB&(ABx);B.AB(ABx);C.AB(
5、AB*x); D.AB(AB&); f 作为语句调用的是 参数 )D.f1(&a,&b) 定义在函数外 )19 表达式. ( 1,2,3,4 )的结果是 A. 1 B.2 C.3 D.420. 在函数中如果不说明变量的存储类型,则默认的存储类型是B. statiA.auto c C.extern D.register21. 下面字符序列中,合法的C+常量是A.078 B.5L C.9e7.5 D.'AB'22.inta 声明的自动型变量 a 在没有赋值的情况下,其值为A.0 B.-1 C.1 D. 随机数23. 设“ intf(int); ”和“ int
6、g(int); ”是函数 f 和 g 的原形,以下将B. f(g(3) C.g(f(3)+2A.g(f(3) ) ) D.p=f(g(3) 1)24. 下面对构造函数和析构函数正确定义的项是 A.X:X( 参数 ), X:X() B.voidX:X(),voidX:X()C. X:X( 参数 ), X:X( 参数 )D.voidX:X( 参数 ),voidX:X(25. 变量生存期是指 A. 变量定义 B. 变量在内存中分配存储单元到被释放期间C. 程序的运行 D. 可执行代码的生存期26. 以下选项中 C+表达式不能正确表示的数学关系a<xb 为A.a<x&&x&
7、lt;=bB.x<=b&&a<xC.!(a>=x)&&!(x>b)D.a<x<=b27. 下列定义中,定义指向数组的指针 p 的是 B. int(*p)5C.(int*)pA.int*p5 5 D.int*p ;28. 设 有以下定义:voidf1(int*m,long&n);inta; longb;则以下调用合法的是A.f1(a,b B.f1(&a,) b) C.f1(a,&b)29. 下列各类变量中,不是局部变量的是A.registerintx; B.voidf(intw)C. intz; D.st
8、aticinty;(30. 已知 p 是一个指向类A数据成员 m的指针, A1 是类 A的一个对象。如果要给m赋值为 5,() 正确的语句A.A1.p=5 B.A1->p=5 C.A.*p=5 D.*A1.p=5 以下选项中,决定函数的返回值的类型31. 是A.调用该函数的主调函数类型C.定义函数时所指定的返回值类 型语句的循环次数32. 下面 for 为B. return 语句中的表达式类型D. 调用函数时临时决定for(inti=0,x=0;!x&&i<=5;i+)A. 无穷次 B.5 C.6 D.7 在下面的字符数组定义中,有语法错误的语句33. 是 A.ch
9、ara20="abcdefB.chara="x+y=55g""'2''5' C. chara15= '1', D.chara10= 若用数组名作为函数调用的实参,传递给形参34. 的是数组中第一个元素的值数组元素的个数A.6 B.7C.9D.11流类定义一个流对象,并打开一个磁盘文件时,文件的隐含打开方36. 当使用 fstream式为A.ios:iA. 数组的首地址 B.C. 数组全部元素的值 D. 假定 AB 为一个类 , 则执行35. “ ABa(4),b5,*p2;”语句时 , 自动调用该类构造函数
10、的次数为nB.ios:out C.ios:in|ios:out D.没有二、填空题:1. 若 a 是一个字符数组,则使用输入输出流对象cout 向屏幕输出数组 a 中所存字符串的语句为 。2. 当 一个对象定义时, C+编译系统自动调用 函数建立该对象并进行初始化。3. C+ 语言的参数传递机制包括值传递和 传递两种。4. 假 定 p 是一个指针,则 (*p)+ 运算首先访问 ,然后使 p 的值增 1。5. 假定对二维数组 a34 进行初始化的数据为 2, 5, 6,2,8,7 ,则 a11 被初始化为 6. 设 px 指向一个类的动态分配的对象,则执行“ delete px; ”语句时,将自
11、动调用该类的 变量的基本类型7. 有 、实型、字符型和枚举型。8. 语法的三种基本结构为顺序结构、选择结构和 结构。一个指针指向一 Data 类对象,它保存着该对象9. 个 的 ,相应的指针类型为 Data 类。10. 若 do 循环的“尾”为“ while(+i<10) ”,并且 i 的初值为 0,同时在循环体中不会修改 i 的值,则循 环体将被重复执行 次后正常结束。11. 假 定用户没有给一个名为 AB的类定义构造函数,则系统为其隐含定义的构造函数为 。12. 当在程序中执行到 语句时,就立即结束本层循环类语句或 switch 语句的执行。13. 字 符和字符串常数的定界符分别为
12、和双引号 (") 。14. 应 用程序 hello.cpp 中只有一个函数,这个函数的名称是 。15. 在 switch 语句中,每个语句标号所含关键字 case 后面的表达式必须是 表达式。16. 假定 p 所指对象的值为 25,p+1 所指对象的值为 46,则 *p+ 的值为 。17. 假定要动态分配一个类型为Worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,则使用的语句为 Worker*r= 。18. 设 有如下程序结构:classBox?;voidmain()BoxA,B,C; 该程序运行时,分别调用构造函数和析构函数 次。19. 若有语句 inta=6;
13、,则计算表达式 a+=a-=a*a 后, a 的值为 。20. 在 进行函数调用时,将把实参的 传递给值参数,把实参数的地址传递给引用参数。121. 关系表达式 x+y>5 的相反表达式为 。22. 假设在程序中a、b、c 均被定义成整型,所赋值都大于1,则能正确表示数学式abc的表达式是(不使用强制类型转换)。23. 假定 a 是一个一维数组,则 ai 的指针访问方式为 。24. 对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的 实现。25. C+ 中的标识符只能由字母、数字和 组成。26. C+ 语句 cout<<<<120
14、; 可以用 8 进制数表示(输出) 120。27. 利用“对象名 . 成员变量”形式访问的对象成员仅限于被声明为 的成员。28. C+在调用一个函数的过程中,可以直接或间接地调用该函数本身, 这种调用称为 调用。29. 在 C+程序中包含一个头文件或程序文件的预编译命令为 。30 ”,则该数组所含元素的个数. 假定一维数组的定义为“ inta8; 为 。31. 十 六进制常量前面应该加 为前缀。32. 变 量一般需要先赋初值再参与运算, 变量没有赋初值时,将由系统自动置为0。33. 当 程序中执行到 语句时,将结束所在循环语句中循环体的一次执行。34. C+ 中规定,数组元素的下标从 开始。3
15、5. 假 定有定义 int*p ,则指向 p 变量的指针变量 pp 定义语句为 。36. 类 test 的析构函数名是 。三、判断题:1. 在 C+中,自减运算符“ - ”可以用于变量,也可以用于常量switc2.switch 语句中必须有 break 语句,否则无法退出 h 语句。 若 S 表示一条 C+语句, while(1)S 必定是无限循环。若有说明: int*p1,*p2,m=3,n;则 p1=&m;p2=p1; 是正确的赋值语句。在 C+语言中,类中的成员函数能存取类中的私有数据。 控制格式输入输出的操作 子.7.8.9.在 C+中, 0127 是一个合法的整
16、数,最高位的 如果 x 是一个整型变量,则语句“ int*p=newintx; 数组是若干相同类型的数据的集 合。oct 不是设置域宽的。0 实际上是不必要,其值就 是 ”是正确的。127。10. 在 C+语言中,可以使用11. 若类 A是类 B 的友元类, 对于 ofstream 类对象12. file new运算符创建的对象或对象数组,可以使用运算 符 且类 B 是类 C的友元类,则类feof 成员函数的返回值为真表示打开文件失败。 后面的表达式可以为任意类A 也是类 C的友元类delete删除之。 13. 在 switch 语句中, switch 型。14.'n' 、 &
17、#39;x6A' 、'101' 均是 C+的字符常量。15. 一个变量的地址就称为该变量的“指针”。16. 如果 (x=y) ,则 (*x=*y) 。17. 函数体内声明的静态变量,至多只会被初始化一次。18. 构造函数和析构函数都不能重载。19. 在 C+语言中, while 语句的循环体有可能一遍都不执行,而20. 在 C+的命名标识符中,大小写字母是不加区分的。 dowhile语句的循环体至少执行一遍。 引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操21. 作。 22. 在 C+中,二维数组中元素排列的顺序是按行存放的,即在内存中先顺序存放第一
18、行的元素,再存放第二行的元素23.constchar*p 说明了 p 是指向字符串的常量指针。 24 说明或定义对象时,类名前面不需要. 加 class 关键字。 25. 在 C+中,空语句表示什么都不做,因此毫无意义。 26. 预处理命令是在进行编译前执行的,然后再进行正常编译。 27. 语句“ charc='c'charp=&c; ”是错误的。 28. 在一个被调用函数中,一个 return 语句可返回多个值给调用函数。 29. 静态成员变量是整个类的所有对象共用的。 30. write 函数只能按规定向文件写入所指定的字符数。 31. C+中,任何一个表达式加上一
19、个分号就构成一个语句。 32 . 在说明语句“ inta(15),&b=a,*p=&a; ”中, b 的值与 *p 的值是相等的。 33. 在 C+中,函数声明时要用函数原型,即定义函数时的函数头部分。 循环中,循环变量的作用域是该循环的循环体34.for 内。35. 在传值调用中,要求实参与形参的类型完全一致并且个数相等。36. 使用 class 定义的类成员默认的访问权限是私有的( private )37. 在 C+中,条件运算符的结合方向为从左到右四、写出程序的运行结果:1.#include<iostream.h>voidmain()inta=10,b=15;
20、a*=3;intb=a+20;cout<<b<<''cout<<b<<endl;运行结果 :2.#include<iostream.h>intSD(inta,intb,charop)switch(op)case'+':returna+b;case'-':returna-b;voidmain()intx=20,y=8;cout<<SD(x,y,'+')<<''<<SD(x,y,'-')<<end
21、l;运行结果 :3.#include<iostream.h>voidmain()staticintb3=1,2,3,4,5,6;b02=12,b12=18;cout<<*b<<"t"<<*(b+1)<<"t"<<*(b+1)<<"t"<<*(*(b+1)+2)<<"n"cout<<b02+b12+b22<<endl;运行结果 :4.#include<iostream.h>v
22、oidmain()charch;cin>>ch;switch(ch)case'A':case'a':cout<<"1"<<''break;case'B':case'b':cout<<"2"<<''break;case'C':case'c':cout<<"3"<<''break;default:cout<&
23、lt;"bad!"break;WORD格式专业资料整理以上程序运行时,分别输入运行结果 :Acb,则5.#include<iostream.h>voidmain()ints1=0,s2=1;for(inti=2;i<5;i+)s1+=i;s2*=i;cout<<s1<<','<<s2<<endl;运行结果 : 6.#include<iostream.h> voidff(intx) cout<<"ff(int):"<<x<<en
24、dl; voidff(doublex) cout<<"ff(double):"<<x<<endl;voidmain()floata(88.18);ff(a); charb('a'); ff(b);运行结果 : 7.#include<iostream.h>voidmain()ints=0;for(inti=1;i<7;i+=2)s+=i*i;cout<<"s="<<s<<endl;运行结果 :#include<iostream.h>void
25、main()inta9=3,5,7,9,11,13,15,17,25;int*p=a;for(inti=0;i<9;i+)if(i+1)%3=0)cout<<*(p+i)<<''cout<<endl;运行结果 :9.#include<iostream.h> classApublic:A()cout<<"1"A()cout<<"2" ;classB:publicApublic:B()cout<<"3"B()cout<<&
26、quot;4" ;voidmain()Bb;运行结果 :10.#include<iostream.h> #include<string.h> intSC(inta,intb,intc)if(a>b)a=b;if(a>c)a=c;returna;voidmain()intx,y,z; x=5,y=15,z=25; cout<<SC(x,y,z)<<endl;运行结果 :11.#include<iostream.h>constintn=5;voidmain()intann=3,2,4,1,5, 8,7,2,5,6,
27、6,9,1,4,3, 5,5,3,6,2,2,8,1,8,6;ints=0; for(inti=0;i<n;i+) s+=aii+ain-i-1;if(n%2=1)s-=an/2n/2;cout<<s;运行结果 :12.#include<iostream.h> classsinti,j;public:voidsetij(inta,intb)i=a,j=b; intGetMul()returni*j;voidmain()s*p;的平方p=news3; for(intj=0;j<3;j+) pj.setij(j,j); /j for(intk=0;k<3;
28、k+=2) cout<<pk.GetMul()<<"" deletep;运行结果 :13.#include<iostream.h>intc;voidf1(intx,int*sum)staticinty; x+;y+;c=c+y;*sum=(x+y)/c;voidmain()intb=100;WORD格式f1(1,&b); cout<<b<<""<<c<<endl;f1(2,&b);cout<<b<<""<&
29、lt;c<<endl;运行结果 :14.#include<iostream.h> voidmain()inti,*d=newint5;for(i=0;i<5;i+)di=2*i+1;cout<<di<<''deleted;运行结果 :15.#include<iostream.h>classABinta;public:AB(intaa=0)a=aa;AB()cout<<a<<endl;classB:publicABintb;public:B(intaa=0,intbb=0):AB(aa)b=
30、bb;B()cout<<b;voidmain()Bx(5),y(6,7);运行结果 :#include<iostream.h> intLB(int*a,intn) ints=1;专业资料整理for(inti=0;i<n;i+)s*=*a;a+;returns;voidmain()inta5=1,2,3,4,5;cout<<LB(a,5)<<endl;运行结果 :17.#include<iostream.h> intf(inta)intb=0; staticintc=3; b+,c+; return(a+b+c);voidmain
31、()inta=2,I;for(I=0;I<3;I+) cout<<f(a)<<endl;运行结果 :18.#include<iostream.h> classAint*a;public:A(intx) a=newint(x) ;cout<<*a;A()deletea;c out<<0;voidmain()A x(3),*p; p=newA(5); deletep;运行结果 :五、完成程序:1. 完 成以下程序,计算 s=1+12+123+1234+12345。voidmain() intt=0,s=0,i;for(i=1; ;i
32、+)t=i+ ; s=s+t;cout<<s<<endl;回答:2. 完 成以下程序,求数组中的最大元素值和最小元素值。 #include<iostream.h>voidmain()inta8=46,38,72,55,24,63,5 0,37;intmax=*a,min=*a;for(int*p=a+1;p<a+8;p+)if()max=*p;if()min=*p;cout<<max<<''<<min<<endl;回答:F0=1,F1=2,3. 完成以下程序,输出斐氏数列的前 20 项,菲
33、波纳契额数列具有这样的性质: FN=FN-1+FN-2 。#include<iostream.h>voidmain()inti;longf20=1,2;for(i=2; ;i+)fi= ;for(i=0;i<20;i+)cout<<fi<<""回答:4. 从 键盘输入一个4行 4列的实数矩阵到一个二维数组中,完成以下程序,求出主对角线上元素之积#include<iostream.h>voidmain()doublea44=0,r=1;inti,j;for(i=0;i<4;i+)for(j=0;j<4;j+)
34、/ 从键盘输入数组元素 for(i=0;i<4;i+)for(j=0;j<4;j+)if()r=r*aij;cout<<" 积为 :"<<r<<endl;回答:20 i5. 完成以下程序,计算n! 的值,即求 (1!)+(1!+2!)+(1!+2!+3!)+ ?+(1!+2!+3!+ ?+20!) 。i1n1voidmain()inti,n;doubles=0,t;for(i=1;i<=20;i+);for(n=1; ;n+)t=t*n;s=s+t;cout<<"1!+(1!+2!)+ ?+(1!+
35、2!+ ?+20!)="<<s<<endl;回答:6. 有 一个数列,它的第一项为 5,第二项为 8,以后每一项都是它的前两项之和,完成以下程序,产生 出此数列的前 10 项,并依次显示出来。#include<iostream.h>voidmain()inta10;a0=5;for(inti=2;i<10;i+)ai= ;for(i=0;i<10;i+)cout<<ai<<''cout<<endl;回答:六、程序改错:1. 要求下面程序的输出结果为“ 10020", 在第 1
36、-7 行中存在着 3 条语句错误,指出错误语句行的行号,并 改正错误。#include<iostream.h>classSintn;public:S()n=20;S(intnn)n=nn;voidshows(S&y)/1行y->Show();/2行voidmain()/3行/4行Ss1(100),s2;/5行*p=&s2;/6行shows(&s1);/7行shows(p);/8行错误行的行号为改正为错误行的行号为改正为错误行的行号为改正为voidShow()cout<<n<<""231", 在第 1
37、-12 行中存在着2. 要求下面程序的输出结果为3 条语句错误,指出错误语句行的行 号,并改正错误。#include<iostream.h> classPintn;public:voidSetn(intval)n=val;voidShow();voidP:Show() /1 cout<<n<<'t'/2voidmain()/3 /4 Pob3,*p=ob+1; /5 for(inti=0;i<3;i+) /6行 行 行 行 行行+1);/7p.Show();/8p=ob2;/9obi.Setn(i行, 设置对象数组的成员值为 1,2,3
38、 行p->Show(); /10p=&ob0;/11p->Show();/12错误行的行号为改正为错误行的行号为改正为错误行的行号为改正为3. 要 求下面程序的输出结果为“ d=16,f=25", 在第 1-14 行中存在着 3 条语句错误,指出错误语句行的行号, 并改正错误。#include<iostream.h>classAinta10,n;public:A(intaa,intnn):n(nn) intGet(inti)returnai; intSumA(intn);for(intI=0;I<n;I+)aI=aaI;/ 求 a 数组的前 n 个元素之和intSumA(intn)/1行/2行ints=0;/3 行for(intj=0;j<n;j+)s=s+aj;/4 行returns;/5行/6 行voidmain()/7 行/8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023二年级数学下册 6 有余数的除法第5课时 解决问题(1)教学实录 新人教版
- 历史文化名城和街区等保护提升项目建设指南(试行)
- 第12课《词四首:破阵子为陈同甫赋壮词以寄之》教学设计 2023-2024学年统编版语文九年级下册
- na2s和h2so4离子反应方程式
- 12 轮子的故事 教学设计-2024-2025学年科学一年级上册苏教版
- 2025年斗轮堆取料机项目建议书
- 电路中的容差设计案例
- 八年级地理上册 2.1 地形教学实录 (新版)粤教版
- 学校学期学科建设计划
- 如何通过工作计划激励团队
- 《陆上风电场工程概算定额》NBT 31010-2019
- 年产25吨无菌化学原料药美罗培南车间工艺设计
- 合规管理中的合规管理领导小组的成员与职责
- 洁净厂房监理实施细则
- 特种设备现场安全监督检查记录(共1页)
- 福德正神真经
- 溢流堰稳定计算
- 宝钢的集中一贯管理体制考察
- 化工仪表英文缩写及实例
- 医学影像科诊疗技术人员授权申请表模板
- 《森林生态学》PPT课件.ppt
评论
0/150
提交评论