《C++语言程序设计》复习_第1页
《C++语言程序设计》复习_第2页
《C++语言程序设计》复习_第3页
《C++语言程序设计》复习_第4页
《C++语言程序设计》复习_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c+语言程序设计复习二、考试说明考试方式:闭卷考试(笔试)考试题型1、填空题。(10 小题,共 20 分,每小题 2 分)2、单项选择题。(15 小题,共 30 分,每小题 2 分)3、请写出下面程序的运行结果。 (6 小题,共 30 分,每小题 5分)4、请写出下面程序的功能。 (2 小题,共 10 分,每小题 5 分)5、编程。 (10分)模拟题一一、填空题。 (10 小题,共 20 分,每小题 2 分)1、c+语言是在(c )语言的基础上发展起来的。2、在一个工程文件( project)中,可以有( 一 )个 main函数。3、常量 123456789l占用()字节存储空间。4、若有 w

2、hile (int i=0) i-; , 循环的次数为:( 0 )次。5、数组是可以通过下标访问的 ()类型数据元素的集合。6、为了表明一个函数不带返回值, 应在定义函数时指定该函数类型为 ( void )。7、获 取 一 个 变 量 的 地 址 所 采 用 的 操 作 符 是(& )8、对于用户自定义的数据类型,包含()和()两个部分。9、在类的定义中, 若没有显式规定其成员的访问属性,则默认采用()访问属性。10、要进行文件输入输出操作时,指明头文件的命令行是: (#include ) 。二、单项选择题。(15 小题,共 30 分,每小题 2 分)1、c+源程序文件的缺省扩展名为:

3、 ().cpp.obj .lik .exe 2、下列符号中,可以作为c+标识符的是:().where? .a+b .-var .var_1 3、在 c+ 语言中, char型数据在内存中的存储形式是() 。a. 补码b. 反码c. 原码d. ascii 码4、设 int m=1,n=2,则 m+=n 的结果是:()a0 b1 c2 d3 5、请分析下面条件语句符合 ( )情况。if (ab) if (c=d) x=1; else x=2; 1 ab 且 c=d . x= ab 且 c=d 1 ab 且c=d . x= 2 ab 1 ab 且c=d . x= 2 ab 且cd 1 ab 且c=d

4、 . x= 2 cd 6、下面有关 for 循环的正确描述是:()afor 循环只能用于循环次数已经确定的情况bfor 循环是先执行循环语句,后判断条件是否成立c在 for 循环中,不能用 break 语句跳出循环体dfor 循环语句中,可以包含多条语句,但要用花括号括起来7、要定义一个int 型一维数组a ,并使其各元素具有初值 30,35,0,25,0,0,正确的定义语句有:().int a=30, 35, 0, 25;.int a4=30, 35, 0, 25;.int a5=30, 35, 0, 25, 0, 0;.int a6=30, 35, 0, 25; 8、已知数组 a的定义为

5、char a = “abcn”; ,请写出strlen(a) 的值为: () 。.7 .8 .9 .10 9、如果一个函数作为表达式 被调用,则该函数必须是() 。a. 有返回值的函数b. 无返回值的函数c. 有参函数d. 无参函数10、变量的指针,其含义是指该变量的() 。a.值b.地址c.名d.一个标志11、设有: int m=10; 下列表示引用的方法中,正确的是: ()a. int &x=m; b. int &y=10; c. int &z; d. float &t=&m; 12、若有以下定义,下列说法错误的是: ()struct ex int

6、a; float b; char c; example; astruct 是结构类型的关键字bexample 是结构类型名ca,b,c 是结构成员名dexample 是用户声明的结构变量13、若类的成员函数是在类中定义的,则默认为()函数。. 构造. 析构. 友元. 内联(inline)14、一个类的析构函数是在()时被自动调用。. 使用该类对象前. 使用该类对象后.该类对象撤消.定义该类对象15、cin 是( )的一个对象,处理标准输入。aistream.h bostream.h cifstream.h .ofstream.h 三、请写出下面程序的运行结果。 (6 小题,共 30 分,每小题

7、5 分)1、# include void main() int i; for(i=1;i6;i+) if (i=3) break; couti now is iendl; coutthe end i is i; 2、# include void main() char a=”abcdabcabfgacd”;int i1=0,i2=0,i=0; while (ai) if (ai=?a?) i1+;if (ai=?b?) i2+;i+; couti1? ,i2endl; 3、# include int test(int b) b*=10; cout ”b=”bendl;return b/2; v

8、oid main() int b=60; b=test(b); cout ”b=”bendl; 4、# include # include struct worker char name15; int age; float pay; ; void main() worker x; char * t=liouting; int d=38; float f=493; strcpy(,t); x.age=d; x.pay=f; x.age x.payendl; 5、# include class aaa int a,b; public: aaa(int aa=0,i

9、nt bb=1):a(aa),b(bb) coutconstructor!a+bendl; ; void main() aaa x,y(3,5),z(9); 6、# include void main() int n; coutsetw(6 )*endl; for(n=1;n5;n+) coutsetw(6-n)*setw(n+n)*endl; for(n=1;n12;n+) cout*; coutendl; 四、请写出下面程序 (函数)的功能。 (2 小题,共 10 分,每小题 5 分)1、# include void main() int i,x,max,min; cinx; max=mi

10、n=x; for(i=1;ix; if (xmax) max=x; if (xmin) min=x; coutmax=maxendl; coutmin=minb) return 1; else if (a=b) return 0; else return 1; 五、编程。 (10 分)计算 i,并要求输出其和第一次大于500时 i 值以及和值。模拟题二一、填空题。 (10 小题,共 20 分,每小题 2 分)1、c+语言的前身是()语言。2、定义符号常量的关键字是() 。3、字 符 串“ firstlinen2ndlinex0a”的 长 度 是() 。4、若有 for (int i=0,x=0

11、;!x & istr1; . cin.getline(str); . cingetline(str,13); . cin.getline(str,13); 9、c+语言程序由函数组成,它的() 。a. 主函数必须在其它函数之前,函数内可以嵌套定义函数。b. 主函数可以在其它函数之后, 函数内不可以嵌套定义函数。c. 主函数必须在其它函数之前, 函数内不可以嵌套定义函数。d. 主函数可以在其它函数之后,函数内可以嵌套定义函数。10、 空指针是指 ( )。a. 无指针值的指针b. 不指向任何数据的指针c. 无数据类型的指针d. 既无指针值又无数据类型的指针11、 下列引用的定义中,错误的是

12、: ()a. int i; int &j; j=i; b. int i; int &j=i; c. float i; float &j=i; d. char d; char &k=d; 12、 若有以下定义,则结构变量初始化正确的是:()struct ex int a; char b; double c; ; aex d=5 , 10.2 , ?a?;bex d=5 ; 10.2 ; ?a?;cex d=5 , ?a? , 10.2; dex d=5 ; ?a? ; 10.2;13、 类中的每一个成员都具有一定的访问属性,其中 protected 访问属性的含义

13、为() 。. 成员可以为任意函数访问。. 成员只能为该类的成员函数以及该类的派生类中的成员函数访问。. 成员只能为该类的成员函数所访问。. 成员只能为内联函数访问。14、 c+允许在一个类中把外部的有关函数声明为它的友元函数,当函数被声明为一个类的友元函数后,它具有直接访问该类的()的特权。. 数据成员. 公有成员. 保护成员.私有成员15、 cout、 cerr 和 clog 是( )的对象, cout 处理标准输出,cerr 和 clog 都处理标准出错信息。aistream.h bostream.h cifstream.h dofstream.h 三、请写出下面程序的运行结果。 (6 小

14、题,共 30 分,每小题 5 分)1、# include void main() int i; for(i=1;i6;i+) if (i=3) continue; couti now is iendl; coutthe end i is i; 2、# include void main() int a9=2,4,6,8,10,12,14,16,18; for(int i=0;i9;i+) coutsetw(5) ai; if (i+1)%3=0) coutendl; 3、# include void exam3( int a, int b) int x=a; a=b; b=x; couta?

15、,bendl; void main() int x=10, y=25; exam3(x,y); coutx? ,yendl; 4、# include # include struct worker char name15; int age; float pay; ; void main() worker x=liguohua,18,580; worker y,*p; y=x; p=&x; x.age x.payendl; coutname age+5 pay*2endl; 5、# include class bbb int a1,a2; public: bbb()

16、a1=a2=5; bbb(int aa,int bb) a1=aa;a2=bb; void output() couta2 a1endl; ; void main() bbb x(6,8),y; x.output(); y.output(); 6、 # include void main() int n; coutsetw(7)*endl; for(n=1;n6;n+) cout.fill( ); coutsetw(6-n) ; cout.fill(*); coutsetw(n+n+1)*endl; 四、请写出下面程序(函数)的功能。 (2 小题,共 10 分,每小题 5分)1、# inclu

17、de void main() float x,sum=0,aver; int n=0; while(1) cinx; if (x= = -1) break; sum+=x; n+; if (n= =0) aver=0; else aver=sum/n; coutaver=aver=b & a=c) return a; if (b=a & b=c) return b; if (c=a & c=b) return c; 五、编程:打印如下平方表。 (10 分)模拟题三一、填空题。 (10 小题,共 20 分,每小题 2 分)1、c+语言源自于()语言,并在它的基础上增加了面

18、向对象的特性。2、定义常值变量的第一个修饰符是() 。3、字符串 “ 中华人民共和国 ” 占用()字节的空间。4、若有 for (int i=0,j=10; i=j=10 ; i+, j-) , 循环的次数为:()次。5、已知数组 a的定义为 int a5=10, 20, 30 ; , 当有 sizeof(int)的值为 4,数组 a 占用了()字节。6、已知一函数的定义是:double area (double r ) return 3.14 *r*r;,则该函数的原形是( )。7、访 问 指 针 变 量 所 指 向 的 数 据 应 该 采 用 操 作 符() 。8、每 个 联 合 对 象

19、所 占 用 的 存 储 空 间 的 大 小 等 于() 。9、当对象调用成员函数时, 除了将实参传送给成员函数中显式说明的形参外, 还同时把对象的地址传送给成员函数中默认的指针参数()中。10、 要 调 用 函 数setw(), 指 明 头 文 件 的 命 令 行 是 :() 。二、单项选择题。(15 小题,共 30 分,每小题 2 分)1、由 c+源程序文件编译、连接后生成的可执行文件的缺省扩展名为: ().cpp .obj .lik .exe 2、下列符号中,可以作为c+标识符的是:().6str .sp_str .who? .switch 3、下列表达式中不正确的有( )。a. p=(q

20、=8) b. k/(p+3)c. (p-i)=39 d. px4、设有 int p,q ; 下列语句中不正确的是: ()ap*=3; bp/=q; cp+=3; dp&=q; 5、设有 int x,a,b,c; 下列 if 语句中合法的是:()aif (a=b) x+; bif (a=b) x+; dif (ab) x+; 6、c+语言中 while 和 do-while 循环的主要区别是:()awhile 的循环控制条件比do-while 的循环控制条件严格bdo-while 允许从外部转到循环体内cdo-while 的循环体中不能使用continue语句ddo-while 的循环体

21、至少执行一次7、要定义一个int 型二维数组a ,并使其各元素具有初值30 35 0 25 0 0 15 5 0 0 0 0 55 65 75 ,正确的初始化语句有: ().int a53=30, 35, 0, 25, 0, 0 , 15, 5, 0, 0, 0, 0, 55, 65, 75;.int a35=30, 25,15, 0, 55,35, 0,5, 0 , 65, 0, 0, 0, 0, 75;.int a 3=30, 35,25 ,15, 5, ,55, 65, 75;.int a=30, 35, 0, 25, 0, 0 , 15, 5, 0, 0, 0, 0,55, 65, 7

22、5; 8、已知数组a 的定义为char a = “good_morning ”;,请写出strstr(a, “mo ”) 的值为: () 。. “good_mo ”. “morning”. “mo ”. 29、下列结论中,只有()是不正确的。a. c+语言不允许函数嵌套定义。b. c+语言允许函数嵌套调用。c. c+语言中允许函数递归调用。d. c+语言所有函数都可以相互调用,包括调用main。10、下列表达式中,与下标引用ak 等效的是() 。a. *(a+k) b. a+kc. *a+kd. a+*k11、( )是给变量(对象)取一个别名。a. 指针b. 引用c. 枚举d. 结构12、若有

23、以下定义,则对结构变量成员引用正确的是:()struct date int y; int m; int d; struct person int num; char name10; date birthday; st; anum b cst.birthday dst.date.m 13、类中的每一个成员都具有一定的访问属性,其中 private 访问属性的含义为() 。. 成员可以为任意函数访问。. 成员只能为该类的成员函数以及该类的派生类中的成员函数访问。. 成员只能为该类的成员函数所访问。. 成员只能为内联函数访问。14、面向对象程序设计中,派生类除了具有基类的全部特

24、征,还具有基类所没有的、属于自己的特征,派生类和基类的这种关系,被称为:(). 分类. 封装. 继承. 多态性15、c+中 i/o 操作分别由两个类istream 和 ostream提供,由它们派生出一个类 ( ),提供双向 i/o 操作。astream bfstream cstrstream diostream 三、请写出下面程序的运行结果。(6 小题,共 30分,每小题 5 分)1、# include # define n 4 void main() int i,j; for(i=1;i=n;i+) for (j=1;j=i;j+) coutj; coutendl; 2、# include

25、 void main() char data26; int i; for(i=0;i26;i+) datai=a+i; for(i=0;i26;i=i+2) datai=datai+32; for(i=0;i26;i+) coutdatai ; if(i+1)%10=0) coutendl; 3、 # include int fun (int num) int k=1; while (num) k=k*(num%10); num=num/10; return k; void main() int n=256; coutfun(n)endl; 4、# include void exam3( in

26、t &a, int &b) int x=a; a=b; b=x; couta? ,bendl; void main() int x=10, y=25; exam3(x,y); coutx? ,yendl; 5、# include class aaa int a,b; public: aaa()a=b=2; aaa(int aa,int bb) a=aa;b=bb; couta bendl; ; void main() aaa x,y(5,8),z(6,11); 6、 # include void main() cout.fill(*); cout.width(8); cout1

27、23.45endl; cout.fill(!); coutsetiosflags(ios:left)hex; cout.width(6); cout1024endl; 四、请写出下面程序的功能。 (2 小题,共 10 分,每小题 5 分)1、# include void main() int i,j, sum=2; for(i=3 ; i20 ; i+=2) for(j=2 ; j=i) sum+=i; coutsum=sumendl; 2、# include # define n 10 void main() int an,i,total=0,sum=0; for(i=0;iai; sum+

28、=ai; for(i=0;in ;i+) if (ai=float(sum)/n) total+; couttotal is :totalendl; 五、编程:从键盘输入若干整数, 直到输入 -1 为止,分别统计并打印这些整数中奇数和偶数的个数。 (10 分)模拟题四一、填空题。 (10 小题,共 20 分,每小题 2 分)1、应用程序function.cpp 中只有一个函数,这个函数的名称是() 。2、6.7543e-2 在常规表示法中表示为()3、定义枚举类型的关键字是() 。4、若有int i=5; do couti-endl; i-; while (i!=0); , 循环的次数为:()

29、次。5、已知数组 a 的定义为 int a5=78, 80, 93, 100, 65 ; ,当有sizeof(int)的值为 4,并假设数组 a 的首地址为 2000h 时,那么数组 a 第三个元素: 93的地址为() 。6、重 载 一 个 函 数 的 条 件 是 : 该 函 数 必 须 在 参 数 的( )上或类型上与其他同名函数有所不同。7、设有 int a=3,*p=&a; 那么*p 的值是()8、一个 结构 占 用 的空 间理 论上应 该等 于() 。9、一个类的构造函数是在 () 时被自动调用。10、 要 调 用 函 数sqrt(), 指 明 头 文 件 的 命 令 行 是

30、:() 。二、单项选择题。(15 小题,共 30 分,每小题 2 分)1、在 c+中,扩展名为 .h 的文件称为:(). 源文件. 目标文件. 可执行文件. 头文件2、下列符号中,不可以作为c+标识符的是:().2def ._var ._var .var103、sizeof(float)是( )。a. 一个双精度型表达式b.一个整型表达式c.一个函数调用d.一个不合法的表达式4、在 c+中合法的字符型常量是: ()a?084?b?x43?c?ab?d” 0”5、若要表示x 为 0 时,输出字符串 ”zero ”,正确的条件语句是:()aif (x=0) cout ”zero ”;bif (x

31、| 0) cout ”zero ”;cif (x) cout ”zero ”;dif (!x) coutstr ; , 当输入为:object windows programming! 所得的结果是 str=( ) aobject windows programming! bobject cobject windows dobject windows prog 三、请写出下面程序的运行结果。 (6 小题,共 30 分,每小题 5 分)1、# include void main() int i,a,b,c,n; n=0; for(i=104;i200;i+) a=i%10; b=(i/10)%1

32、0; c=(i/100)%10; if (a+b+c=5) n+; couti ; coutendlnendl; 2、# include void main() int a10=1,5,2,8,9,11,3,7,20; int i; for (i=0;i9;i+) a9+=ai; for(i=0;i10;i+) coutai ; coutendl; 3、 # include int m=10; void fun (int m) m=20; coutm=mendl; void main() fun(m); coutm=mendl; 4、# include void exam3( int *a,

33、int *b) int x=*a; *a=*b; *b=x; cout*a *bendl; void main() int x=10, y=25; exam3(&x,&y); coutx? ,yendl; 5、# include class aaa int a,b; public: aaa()a=5;b=2; aaa(int aa,int bb) a=aa;b=bb; void output() couta bendl; ; void main() aaa x,y(5,8); x.output(); y.output(); 6、 # include void main() co

34、utsetiosflags(ios:left | ios:showpos); cout1-1endl; coutsetiosflags(ios:hex | ios:uppercase); cout1-1endl; 四、请写出下面(函数)程序的功能。 (2 小题,共 10 分,每小题 5分)1、# include void main() int i,sum=0; double mul=1; for(i=1;i20;i+=2) sum+=i; coutsum=sumendl; for(i=2;i20;i+=2) mul*=i; coutmul=mulendl; 2、bool exam2(int a

35、, int n, int x) for (int i=0 ; in ; i+) if (ai= = x) return true; return false; 五、编 程 : 输 入 一 个 整 数 , 判 断 它 是 否 是 整 数 序 列23,25,13,68,3,44,11,7,55,36中的一个;若是,显示该整数在序列中的序号(最小序号为1) ,否则显示 0。 (10 分)模拟题五一、填空题。 (10 小题,共 20 分,每小题 2 分)1、一个基本语句的最后一个字符是() 。2、456.663 在科学表示法中表示为() 。3、常量、变量和()是三种最简单的表达式。4、若 有int x=0,y=0; while (y!=10 & x5) x+,y+ ; , 循环的次数为:()次。5、已知数组 a 的定义为 char a = “abc”;, 请写出 a 的各元素及其值() 。6、在函数外定义的变量称为( )变量。7、定义一个整型空指针p的命令是() 。8、定义联合类型的关键字为() 。9、面向对象程序设计是通过对象的()来访问数据的。10、 使用 cin 和 cout 进行输入输出操作时,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论