c++期末考试卷加答案

合集下载

大学计算机C语言期末考试复习试题及答案 (26)

大学计算机C语言期末考试复习试题及答案 (26)

C语言试题试卷编号:9618 版面整理着:一、填空共8题(共计8分)第1题(1.0分)题号:513若有以下定义,则计算表达式y+=y-=m*=y后的y值是()int m=5,y=2; 答案:-16第2题(1.0分)题号:84写出语句 b=(a=6,a*3); 执行后整型变量b的值是【1】. 答案: 18第3题(1.0分)题号:293getchar()函数只能接收一个【1】. 答案:字符第4题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:9,10第5题(1.0分)题号:86写出表达式 1.234&&5.982 的值是【1】. 答案:1第6题(1.0分)题号:303为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对. 答案: if第7题(1.0分)题号:311若所用变量均已正确定义,则执行下面程序段后的值是【1】.for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案:YESYES 第8题(1.0分)题号:312以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar(); 答案:==二、判断共15题(共计15分)第1题(1.0分)题号:937在C程序中,每行中只能写一条语句答案:N第2题(1.0分)题号:928C程序中的关键字必须小写. 答案:Y第3题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量. 答案:Y第4题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double 答案:Y第5题(1.0分)题号:947printf函数中,%c和%s都可以输出字符串. 答案:N第6题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5. 答案:Y第7题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句. 答案:Y激情活力精彩学联版权所有违者必究第8题(1.0分)题号:961C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y第9题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符. 答案:Y第10题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果. 答案:Y第11题(1.0分)题号:723若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". 答案:Y 第12题(1.0分)题号:709int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A. 答案:N第13题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句. 答案:Y第14题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 答案:Y第15题(1.0分)题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式. 答案:N三、单项选择共20题(共计40分)第1题(2.0分)题号:2016设C语言中,int类型数据占2个字节,则short类型数据占().A:1个字节B:2个字节C:4个字节D:8个字节答案:B第2题(2.0分)题号:2209若变量已正确定义并赋值,下面符合C语言语法的表达式是().A:a:=b+1B:a=b=c+2C:int 18.5%3D:a=a+7=c+b 答案:B第3题(2.0分)题号:2000以下的选择中,正确的赋值语句是().A:a=1,b=2B:j++C:a=b=5;D:y=int(x) 答案:C第4题(2.0分)题号:2130下列字符序列中,是C语言保留字的是().A:sizeofB:include激情活力精彩学联版权所有违者必究C:scanfD:sqrt 答案:A第5题(2.0分)题号:2211设以下变量均为int类型,则值不等于7的表达式是().A:(x=y=6,x+y,x+1)B:(x=y=6,x+y,y+1)C:(x=6,x+1,y=6,x+y)D:(y=6,y+1,x=y,x+1) 答案:C第6题(2.0分)题号:2127下列程序段的输出结果为().float k=0.8567;printf("%4.1f%%",k*100);A:0085.6%%B:85.7%C:0085.6%D:.857 答案:B第7题(2.0分)题号:2135下列程序段的输出结果为().int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));A:1B:7C:3D:5 答案:C第8题(2.0分)题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread() 答案:A第9题(2.0分)题号:2039若k为int型变量,则以下程序段的执行结果是().k=-8567; printf("k=|%06D|\n");A:格式描述符不合法,输出无定值B:输出为k=|%06D|C:输出为|0-8567|D:输出为|-8567| 答案:B第10题(2.0分)题号:2049以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);激情活力精彩学联版权所有违者必究}A:11,10 B:9,10 C:010,9 D:10,9答案:B第11题(2.0分)题号:2144int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第12题(2.0分)题号:2259以下关于运算符优先顺序的描述中正确的是().A:关系运算符<算术运算符<赋值运算符<逻辑运算符B:逻辑运算符<关系运算符<算术运算符<赋值运算符C:赋值运算符<逻辑运算符<关系运算符<算术运算符D:算术运算符<关系运算符<赋值运算符<逻辑运算符答案:C第13题(2.0分)题号:2318在C语言中,要求运算数必须是整型的运算符是().A:&&B:%C:!D:|| 答案:B第14题(2.0分)题号:2261若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是().A:A%2==1B:!(A%2==0)C:!(A%2)D:A%2 答案:C第15题(2.0分)题号:2063执行下列语句后的输出为().int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第16题(2.0分)题号:2248下面有关 for 循环的正确描述是().激情活力精彩学联版权所有违者必究A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第17题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890 答案:A第18题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:### 答案:B第19题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i; 答案:A第20题(2.0分)题号:2249若i为整型变量,则以下循环执行次数是().for(i=2;i==0;) printf("%d",i--);A:无限次B:0次C:1次D:2次答案:B四、程序填空共3题(共计27分)第1题题目:要求输出结果为:A,B激情活力精彩学联版权所有违者必究#include<stdio.h>void main()/***********SPACE***********/{char a,【?】/***********SPACE***********/a=【?】;b='b';a=a-32;/***********SPACE***********/b=b-【?】;printf("%c, %c\n%d,%d\n",a,b,a,b);}答案:=======(答案1)=======b;=======(答案2)======='a'=========或=========97=======(答案3)=======32第2题(9.0分)题号:24题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。

中南大学2021年《C语言程序设计》期末考试试题及答案

中南大学2021年《C语言程序设计》期末考试试题及答案

一、判断题(每小题1分,共15分)1.标准C中,只有数值型数据才能进行4则混合运算。

2.标准C中,_a是合法的自定义标识符。

3.有定义:float f;表达式f+=(int)3.6%2”不符合C语言语法。

4.标准C中,逻辑运算的结果只有是1表示满足条件,而结果是0表示不满足条件。

5.C语言程序中要求被调用函数在调用函数中能被调用必须要在调用函数中进行声明。

6.以下运算符排列顺序满足按照优先级从高到低的排列:‘&&’、‘!’、‘==’、‘-’。

7.语句for(;;);是非法的。

8.在C语言程序中可以由多个源文件构成,每个源文件都可以有自己的main()函数。

9.while和do-while的主要区别是后者至少无条件执行一次。

10.数组名代表数组的首地址是常量,所以将实参数组名表示地址传给形参数组名是错误的。

11.当函数没有返回值类型时,表示函数类型为void。

12.C语言中,指针变量作函数参数时,它们不是采取单向值传递的方式。

13.一个函数中只允许有一条return语句。

14.在C语言中,如果没有说明变量的存储类型是auto类型的。

15.由于指针中所存放的地址都是整数,所以整型指针和浮点型指针可以相互赋值。

二、填空题(每空1分,共15分)1.若a=4;b=5,c=6;则表达式c==(b=-a); 中c的值是(1)。

2.计算表达式的值:4&&-4的值:(2);设int a=3,b=4,c=5,则表达式a||b+c&&b==c的值:(3);设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值:(4);设a=12,则表达式a*=a/5的值:(5);3.若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}则循环语句执行完后,z值为(6)。

4.变量的指针就是指该变量的(7)。

5.若有定义int (*p)[4],则标识符p是(8);若有定义int *p[4],则标识符p是(9);6.已有定义:char *p[ ]={“France”,“Chinese”,“Russia”,“America”};则语句printf(“%s”,p[2]);printf(“%c”,*(p[1]+2));printf(“%c”,*(*(p+1)+1));的输出结果分别为:(10)、(11)、(12)。

c语言期末复习试题附答案

c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

云南师范大学《C语言》期末考试样卷及答案

云南师范大学《C语言》期末考试样卷及答案

云南师范大学《C语言》期末考试样卷及答案云南师范大学2011-2012学年下学期统一考试《计算机技术基础》(C语言)期末考试样卷考试方式(闭卷机考)考试时量:100分钟试卷编号(样卷)一、判断题:(每题1分,共15分)1.在C程序中,注释内容在编译时被忽略,因此好的C程序不需要注释。

BA.对B.错2.#define是一种特殊的C语句,在行末没有分号。

BA.对B.错3.C语言中表达式3%2是合法的表达式。

AA.对B.错4.在C程序中,赋值语句x=123和x=0123后,变量x的值是不同的。

AA.对B.错5.2&&3的结果为1。

AA.对B.错6.C程序总是从程序的第一条语句开始顺序执行。

BA.对B.错7.C语言中,函数的定义可以嵌套。

BA.对B.错8.结构体中的成员变量可以有不同的数据类型。

AA.对B.错9.出现在主调函数之前的用户自定义函数,可以不必加函数声明。

AA.对B.错10.C语言中用for循环语句实现的功能,用while循环语句不一定能实现。

BA.对B.错11.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为5的表达式是*(P+4)。

AA.对B.错12.字符串和字符数组都要求其最后一个字符为’\0’。

BA.对B.错13.合理使用共用体可以节省内存空间。

AA.对B.错14.函数是C程序的基本单位。

AA.对B.错15.全局变量在程序中的任何地方都有效。

BA.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共40分)1、下面叙述错误的是____。

DA.C程序中,各种括号应成对出现B.C程序中,赋值号的左边不可以是表达式C.C程序中,变量名的大小写是有区别的D.C程序中,若未给变量赋初值,则变量的初值自动为02.有宏定义:#define E 2.718则编译预处理时将E替换成一个____。

DA.单精度常量B.单精度变量C.双精度变量D.字符串3、C程序中,合法的关键字是____。

大学C++期末考试试卷(含答案)

大学C++期末考试试卷(含答案)

一、单项选择题(每题2分,共40分)1-5。

BDABC 6—10. BDAAC11-15。

CADBB 16—20。

CADDAB 1。

______不是属于面向对象程序设计的特性A。

抽象性 B. 数据相关性 C. 多态性 D. 继承性D 2。

将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______A。

类 B. 虚函数 C. 运算符重载 D。

模板A 3. C++与C语言最根本的不同之处在于_______A。

使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用B 4. 动态内存分配的主要目的是_______A。

使程序按动态联编方式运行 B。

正确合理的使用内存C. 提高程序的运行速度D. 提高程序的可维护性C 5. 在C++函数的形参前加const关键字,是为了提高函数的_______A。

数据封装性 B。

可理解性 C。

可维护性 D. 可重用性B 6. 函数重载的目的是________A。

实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间D 7. 从程序片断:char name[] = ”C++”; course(name);可判断函数course的调用采用的是_______ A。

传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D。

传址调用A 8. 用来说明类中公有成员的关键字是________A。

public B. private C。

protected D。

friendA 9。

如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为A。

void print() const; B。

const void print();C。

void const print(); D。

void print(const);C 10. 下列关于构造函数的论述中,不正确的是_______A。

构造函数的函数名与类名相同 B. 构造函数可以设置默认参数C. 构造函数的返回类型缺省为int型 D。

南昌大学C++期末考试试卷(答案全)

南昌大学C++期末考试试卷(答案全)

南昌大学2003 ~2004 学年第二学期期末考试试卷A卷一单项选择题1.…A‟的ASCII码为65,n为int型,执行n =…A‟+…6‟-…3‟;后,n的值为 B 。

A)…D‟ B) 68 C) 不确定的值D) 编译出错2.下列变量名中, A 是合法的。

A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是 C 。

A)0 B) 5 C)6 D)24.若有定义int a=3, *p=&a ;则*p的值是 B 。

A)常量a的地址值B)3C)变量p的地址值D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。

A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。

6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。

A)…x‟&&…y‟ B)x<=y C)x || y+z && y-z D) !((x<y) && !z || 1) 7.下列各选项中,正确的选项是 A 。

A) 0和…\0‟值相等。

B) 0和…0‟ 值相等。

C)…\0‟和…0‟ 值相等。

D) 0、…\0‟和…0‟ 值都不相等。

8. 若有说明语句:char ch=…\72‟;则变量ch A 。

A)包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D 是错误的。

A)C语言是C++的一个子集;B)C语言与C++是兼容的;C)C++对C语言进行了一些改进;D)C++和C语言都是面向对象的。

10.在下列关于类概念的各描述中, A 是错误的。

C语言程序设计期末考试卷及答案

C语言程序设计期末考试卷及答案

C语⾔程序设计期末考试卷及答案C 语⾔程序设计期末考试卷及答案⼀、单项选择题。

从A 、B 、C 、D 四个选项中,选择⼀个最佳答案填⼊括号内(每⼩题1分,共计30分)。

1.⼀个C 语⾔程序的执⾏是从()。

A )本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束B )本程序的main 函数开始,到main函数结束C )本程序的main 函数开始,到本程序⽂件的最后⼀个函数结束D )本程序⽂件的第⼀个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语⾔关键字的是()。

A )switchB )printfC)default D )case3.设有语句inta=4;,则执⾏了语句a+=a-=a*a;后,变量a 的值是()。

A )24B )-24C )4D )164.已知inti;floatd;,则正确的表达式是()。

A )(intd)B )int(d)%iC )(int)d%iD )int(d%i) 5.已知inti,a;,执⾏语句i=(a=3*9,a/5),a+11;后,变量i 的值是()。

A )5 B )16C )27D )386.下列选项中合法的字符型常量是()。

A )"a"B )'\n'C )7.下⾯程序的运⾏结果是()。

#include voidmain() {intk=15;printf("k=%d,k=%o,k=%x\n",k,k,k);}A )k=15,k=15,k=15B )k=15,k=17,k=17C )k=15,k=017,k=0xfD )k=15,k=17,k=f 8.已知a,b,c 为int 类型,执⾏语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输⼊形式是()。

A )10B )10C )10,20,30D )102020203030 309.已知intx=1,y=2,z=3;,执⾏下列程序段后,输出的结果是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟题一一、单项选择题(本大题共10 小题,每小题2 分,共20 分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将其代码填在题后的括号。

错选或未选均无分。

1.在C++中,函数原型不能标识( )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过( )A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为( )A.0B.1C.2D.34.下面函数模板定义中不正确的是()A.template<class Q>B.template<class Q>QF(Qx){ QF(Qx){return Q+x; return x+x;} }C.template<class T>D.template<class T>TF(Tx){ TF(Tx){return x*x; return x>1;} }5.友元关系不能( )A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT 并与之连接,并且( )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说确的是( )A.联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的联函数必须在类体定义D.类的联函数必须在类体外通过加关键字inline 定义8.可以用p.a 的形式访问派生类对象p 的基类成员a,其中a 是( )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( )A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针10.对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<<″class B func 1″<<end1;}virtual void func2( ){cout<<″class B func 2″<<end1;}};下面正确的叙述是( )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数二、填空题(本大题共10 小题,每小题2 分,共20 分)不写解答过程,将正确的答案写在每小题的横线处。

错填或不填均无分。

11.定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。

12.在C++程序设计中,建立继承关系倒挂的树应使用_________继承。

13.表达式cout<<end1 还可表示为_________。

14.基类的公有成员在派生类中的访问权限由_________决定。

15.C++支持的两种多态性分别是_________多态性和_________多态性。

16.C++中语句const char * const p=″hello″;所定义的指针p 和它所指的容都不能被_________。

17.假定AB 为一个类,则语句AB(AB&x);为该类_________构造函数的原型说明。

18.将关键字const 写在成员函数的_________和_________之间时,所修饰的是this 指针。

19.在C++中,访问一个对象的成员所用的运算符是_________,访问一个指针所指向的对象的成员所用的运算符是_________。

20.派生类从一个或多个以前定义的该类的____模拟题一参考答案一、单项选择题(本大题共10 小题,每小题2 分,共20 分)1.D2.B3.B4.A5.A6.A7.B8.D9.C 10.C第二部分非选择题(共80 分)二、填空题(本大题共10 小题,每小题2 分,共20 分)11.无参12.单一(或单)13.cout<<′\n′(或cout<<′\12′,或cout<<′\xA′,或其它等价形式)14.访问控制(或其它等价形式)15.编译时的(或静态,或操作重载)运行时的(或动态,或虚函数)16.改变(或重新赋值)17.复制初始化(或拷贝)18.函数头(或参数表) 函数体19.成员选择运算符(或“.”) 成员访问运算符(或“>”)20.基类模拟题二一、单项选择题(每题2分,共20分)1. 派生类对象可访问基类中的什么成员()A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员2. 定义析构函数时,应该注意()。

A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句3. 如果类A被说明成类B的友元,则( )。

A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元4. 应在下列程序划线处填入的正确语句是()#includeclass Base{public:void fun(){cout<<"Base::fun"<<endl;}};class Derived:public Base{void fun(){_____________// 显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A.fun(); B. Base.fun();C. Base::fun();D.Base->fun();5. 面向对象程序设计将数据与( )放在一起,做为一个相互依存、不可分割的整体来处理。

7. 在派生类中重新定义虚函数时必须在( )方面与基类保持一致。

8. 下面关于C++中类的继承与派生的说法错误的是( )。

A .基类的protected 成员在公有派生类的成员函数中可以直接使用B .基类的protected 成员在私有派生类的成员函数中可以直接使用C .公有派生时,基类的所有成员访问权限在派生类中保持不变D .基类的protected 成员在保护派生类的成员函数中可以直接使用10. 语句 ofstream f(″SALARY.DAT ″,ios::app |ios::binary); 的功能是建立流对象 f ,试图打开文件 SALARY.DAT 并与之连接,并且 ( )A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件二、填空题(每空2分,共30分)1. 假定 AB 为一个类,则语句 AB(AB&x) ;为该类 _________ 构造函数的原型说明。

2. C++ 支持的两种多态性分别是 _________ 多态性和 _________ 多态性。

A. 对数据的操作 B. 信息 C. 数据隐藏 D. 数据抽象6. 在类中声明转换函数时不能指定( )。

A. 参数B. 访问权限C. 操作D. 标识符A. 参数类型B. 参数名字C. 操作容D. 赋值9. 重载赋值操作符时,应声明为( )函数。

A. 友元B. 虚C. 成员D. 多态3. 定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。

4. 运算符重载时,其函数名由构成。

成员函数重载双目运算符时,左操作数是,右操作数是。

5.C++标准库中的异常层次的根类为类;MFC类库中绝大多数类都源自根类类。

6.在下面横线处填上适当字句,完成类中成员函数的定义。

class A{int*a;public:A(int aa=0){a=_________; //用aa初始化a所指向的动态对象}~A(){_________;}//释放动态存储空间};7.C++支持面向对象程序设计的四个要素是:封装性、继承性、和。

8.模板分为模板和模板。

模拟题二参考答案一、单项选择题(每题2分,共20分)1.A 2. C 3. D 4. C 5. A 6. A 7. A 8. C 9. C 10. A二、填空题(每空2分,共30分)1.拷贝或复制2.运行(时) 编译(时)(二者位置可互换)(或改为静态和动态也可)3.无参(缺省或默认均可)4.operator运算符(运算符可写为,若没写扣1分)(当前)对象函数的形参(参数)5.exception(若e写为大写字母则扣0.5分,单词稍微写错扣0.5分)CObject(字母CO为大写字母,写为小写各扣0.5分)6.new int(aa) delete a(有new、delete各给1分,int给0.5分)7.抽象性多态性(二者位置可互换)8.类函数(二者位置可互换)模拟题三一、单项选择题(每题2分,共20分)1. 在下面选项中,对类的拷贝构造函数的声明形式是()A. A::A(&)B. A::A(constA&)C. A::A(A)D. void A::A(A&a)2. 下面关于成员函数特征的描述中,错误的是()A.成员函数不可以设置参数的默认值B.成员函数可以重载C.成员函数可以是联函数D.成员函数可以是静态的3. 下面关于类模板叙述不正确的是()A.可以有多个构造函数 B. 类模板是模板类的实例C. 一个类模板可以用来实例化多个模板类D. 类模板可以有多个参数4. 要使一个类成为抽象类,这个类应具有的条件是()A.至少有一个纯虚函数 B. 至少有一个虚函数C. 只含有一个纯虚函数D.只含有一个虚函数5. 有关运算符重载正确的描述是()A. C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能6. 下列说确的是()。

相关文档
最新文档