A1、已知int x=2,y=8;执行 x*=y+2;后x的值是( A )。 A.20 C.16
B.18 D.12
A2、下列while循环的执行次数是( A )。while(int i=0) i++; A.0 C.5
D3、以下不属于C语言关键字的是( D )。 A.short C.case
B.int D.DIM B.1 D.无限
C4、当一个类对象离开它的作用域时, 系统将自动调用该类的( C )。 A.构造函数 C.析构函数
D5、下列哪个函数不是类的成员函数。( D ) A.析构函数 C.拷贝构造函数
B.构造函数 D.友元函数 B.拷贝构造函数 D.默认构造函数
B6、在执行int a[][3]={1,2,3,4,5,6};语句后,a[0][0]的值是( )。 A.4 C.2
B.1 D.5
C7、C++中用3个保留字实现异常处理,除了throw和catch外,还有( )。 A.if C.try
B.class D.return
A8、当类的继承方式为( )时,基类中的公有成员和保护成员都以私有成员身份出现在派生类中,而基类的私有成员在派生类中不可直接访问。 A.私有继承 C.保护继承
B.公有继承 D.以上都不是
A9、作用域分辨符可以用来限定要访问的成员所在的类的名称,它的符号表示为( )。 A.:: C.;
B10、下列哪个函数的作用是字符串比较( )。 A.strlen( )
B.strcmp( )
大工《C/C++语言程序设计》课程考试 模拟试卷(A) 第1页 共8页
B.?: D.\\
C.strcat( )
C1、指出下面合法的标识符是( )。 A.3ab C._stu2
D.strcpy( )
B.int D.$abc
D2、设有数组定义char array [ ]=\"Public\";则数组array所占的空间为( )。 A.4个字节 C.6个字节
C3、下面表达式中错误的是( )。 A.b=a++ C.a+b=5
B.a/=2 D.a=5,b=6,c=7 B.5个字节 D.7个字节
D4、在定义int a[5];之后,对a的引用正确的是( )。 A.a[5] C.a(5)
B.a[4.3] D.a[0]
B5、执行下面的程序段后,输出结果是( )。main(){char a[]=\"english\";printf(\"%c\A.engli C.english
B.e D.sh
B6、当类的继承方式为( )时,基类的公有和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问。 A.私有继承 C.保护继承
B.公有继承 D.以上都不是
A7、类中将关键字( )写在函数体之前函数头之后,说明该函数是一个常成员函数(或const成员函数),可以防止函数改变数据成员的值。 A.const C.friend
B.static D.void
C8、设int n=10,i=3;则赋值运算n%=i+1执行后,n的值是( )。 A.0 C.2
D9、下列选项中正确的语句是( )。 A.x++ C.y+5=6;
B.int(x+5) D.x=y+5; B.3 D.1
A10、绑定工作在编译连接阶段完成的情况称为( )。 A.静态绑定
B.动态绑定
大工《C/C++语言程序设计》课程考试 模拟试卷(A) 第2页 共8页
C.重载 D.继承
二、判断题(本大题共10小题,每小题3分,共30分)
A1、循环语句的循环体可能一次都不执行。( ) A.正确
B.错误
B2、使用cin和cout进行输入输出操作的程序必须包含头文件math.h。( ) A.正确
B.错误
B3、C++源程序文件的扩展名是.exe。( ) A.正确
B.错误 B4、关键字中,用以说明类中公有成员的是private。( ) A.正确
B.错误
B5、一个类只能有一个对象。( ) A.正确
B.错误 B6、拷贝构造函数不是类的成员函数。( ) A.正确
B.错误 B7、内联函数的关键字为friend。( ) A.正确
B.错误 A8、构造派生类的对象时,就要对基类数据成员、新增数据成员和成员对象的数据成员进行初始化。(A.正确
B.错误
B9、一个派生类可以同时有多个基类,这种情况称为单继承。( ) A.正确
B.错误
A10、抽象类不能实例化。( ) A.正确
B.错误 B1、在C++类中可以包含私有、公有和友元三种具有不同访问控制权的成员。( ) A.正确
B.错误
B2、定义枚举类型的关键字是union。( ) A.正确
B.错误 B3、设有定义int x; double v;则5+x+v值的数据类型是int。( ) A.正确
B.错误
B4、strcat()函数的作用是求字符串长度。( ) A.正确
B.错误 A5、说明静态数据成员时,前边要加关键字static。( )
大工《C/C++语言程序设计》课程考试 模拟试卷(B) 第3页 共8页
)A.正确
A6、成员函数可以重载。( ) A.正确
B7、delete的功能是动态分配内存。( ) A.正确
B.错误
B.错误
B.错误
B8、关键字中,用以说明类中公有成员的是protected。( ) A.正确
B.错误
A9、流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动。( ) A.正确
B.错误
A10、类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。( ) A.正确
B.错误
三、填空题(本大题共5个空,每空3分,共15分)
1、数组元素a[i]是该数组中的第 i+1 个元素。 2、假定x=10, 则表达式(x<=10?20:30)的值为 20 。
3、当在程序中执行到 break 语句时,将跳出循环体或switch语句。
4、若要把整型变量y定义为x的引用,则所使用的定义语句为 int &y=x; 。 5、在函数体中又调用自身函数称为 递归 调用。
1、执行 delete []p 操作将释放由P所指向的动态分配的数组空间。
2、当程序执行到 continue 语句时,将结束所在循环语句中循环体的一次执行。
3、设二维数组a[10][30],每个数组元素占1个存储单元,该数组共占用 300 个存储单元,若第一个数组元素的起始地址是LOC(a[0][0])=SA,当该数组按行优先顺序存放时,元素a[3][4]的起始地址为 SA+94 。
4、定义一个模板函数或模板类时要用到的第一个C++保留字是 template 。
四、阅读下列程序,请在答题卡上写出输出结果(本大题共2小题,每小题5分,共10分)
1、输出结果:12457810 ________________________ #include 大工《C/C++语言程序设计》课程考试 模拟试卷(B) 第4页 共8页 } for(i=1;i<=10;i++) { if(i%3==0) continue; cout<2、输出结果: i=0,k=2 i=0,k=2 _________________________ #include private: int i; static int k; public: CSample(); void Display(); }; CSample::CSample() { i=0; k++; } void CSample::Display() { cout<<\"i=\"<int CSample::k=0; void main() { CSample a,b; a.Display(); b.Display(); } 1、输出结果: sum=5050 ============== 1、 #include 大工《C/C++语言程序设计》课程考试 模拟试卷(B) 第5页 共8页 { } int i(1), sum(0); do{ sum+=i; i++; }while(i<=100); cout<<”sum=”< Constructor!0 Constructor!5 -------------------------------------------------- #include 五、程序设计题(本大题共2小题,第1小题5分,第2小题10分,共15分) 1、编写一个程序求“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和恰好等于该数本身。例如,153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。 1、(程序中变量名称定义,及实现过程可能不统一,请酌情给分。) #include } } 2、定义一个Circle类,包括数据成员Radius(半径)、构造函数和析构函数,成员函数GetArea()用来计算圆的面积。创建一个Circle的对象进行测试。 #include public: Circle(double radius){Radius=radius; } ~ Circle(){} double GetArea(){return 3.14* Radius * Radius; } private: double Radius; }; void main() { double radius; cout<<\"请输入圆的半径:\"; cin>>radius; Circle p (radius); cout<<\"半径为\"<< radius<<\" 的圆的面积为:\"<< p.GetArea()< 2、编写一个程序,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 大工《C/C++语言程序设计》课程考试 模拟试卷(B) 第7页 共8页 #include void inverse(char str[]) { char t; int i,j; for(i=0,j=strlen(str);i char str[100]; printf(“Input string:”); scanf(“%s”,str); inverse(str); printf(“Inverse string:%s\\n”,str); } 大工《C/C++语言程序设计》课程考试 模拟试卷(B) 第8页 共8页 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务