您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 大工《CC++语言程序设计》课程考试模拟试卷B
大工《C/C++语言程序设计》课程模拟试卷(B)第1页共11页绝密★启用前大连理工大学网络教育学院2009年8月份《C/C++语言程序设计》课程考试模拟试卷考试形式:闭卷试卷类型:(模拟B)☆注意事项:1、本考卷满分共:100分;考试时间:90分钟。2、所有试题必须答到试卷答题纸上,答到试卷上无效。3、考试结束后,考生须将试卷和试卷答题纸一并交回。学习中心______________姓名____________学号____________一、单项选择题(本大题共20小题,每小题1分,共20分)1、下列叙述中正确的是(D)A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言的函数可以嵌套调用2、在C语言中,退格符是(D)A.\nB.\tC.\fD.\b3、以下叙述中正确的是(A)A.构成C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义4、在函数内,定义变量时存储类型符可省略的是(A)大工《C/C++语言程序设计》课程模拟试卷(B)第2页共11页A.autoB.staticC.externD.register5、C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(D)A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念6、下列(A)是C++语言的有效标识符?A._No1B.No.1C.12345D.int7、以下各选项组中,均是C++语言关键字的组是(A)A.publicoperatorthisB.shodstringstaticC.itwhile=D.privatecoutprintf8、设inta=10,b=11,c=12;,表达式(a+b)c&&b==c的值是(B)A.2B.0C.-2D.19、下面关于break语句的描述中,不正确的是(D)A.break可以用于循环体内B.break语句可以在for循环语句中出现多次C.break语句可以在switch语句中出现多次D.break语句可用于if条件判断语句内10、下面关于数组的描述错误的是(D)A.在C++语言中数组的名字就是指向该数组第一个元素的指针大工《C/C++语言程序设计》课程模拟试卷(B)第3页共11页B.长度为n的数组,下标的范围是0~n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数11、下面(C)选项不能作为函数的返回类型?A.voidB.intC.newD.long12、不能作为重载函数的调用的依据是(C)A.参数个数B.参数类型C.函数类型D.函数名称13、在C++语言中,数据封装要解决的问题是(D)A.数据的规范化B.便于数据转换C.避免数据丢失D.防止不同模块之间数据的非法访问14、对类的构造函数和析构函数描述正确的是(A)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载15、下面对静态数据成员的描述中,正确的是(A)A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象调用16、如果类A被说明成类B的友元,则(D)A.类A的成员即类B的成员B.类B的成员即类A的成员大工《C/C++语言程序设计》课程模拟试卷(B)第4页共11页C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元17、可以用p.a的形式访问派生类对象p的基类成员a,其中a是(D)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员18、建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为(A)A.abcB.acbC.cabD.cba19、拷贝(复制)构造函数的作用是(C)A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象20、下面对结构或类中成员的访问中,不正确的访问是(A)A.*pointer.salary;(其中pointer为指向类对象的指针)B.pointer-salary;C.x=worker.salary;(其中worker为具有类类型的对象)D.Location&rA=A1;intx=rA.GetX();(Location为已定义的类,A为对象)二、填空题(本大题共10小题,每小题2分,共20分)1.在switch语句中,每个语句标号所含关键字case后面的表达式必须是整型__常量(或常数)_____。2.在if语句中,每个else关键字与它前面同层次并且最接近的____if____关键字相配套。3.作为语句标号使用的C++保留字case和default只能用于__switch_____语句的定义体中。4.设inta=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是_______5______。5.设chars[]="apple";,则数组s的长度是______6________。6.定义一个函数模板要用到的第一个修饰符是_____template_______。大工《C/C++语言程序设计》课程模拟试卷(B)第5页共11页7.如果一个函数直接或间接地调用自身,这样的调用称为____递归____调用。8.对于无返回值函数,定义函数时要用____void______修饰函数类型。9.如果一个函数定义使用了___static______修饰,则该函数不允许被其它文件中的函数调用。10.全局变量和静态局部变量具有静态生存期,存放在内存的__全局数据_____区中。三、阅读下列程序,请在答题卡上写出输出结果(本大题共5小题,每小题5分,共25分)1、#includeiostreamusingnamespacestd;intfunc(intn){if(n1)return1;elsereturnn+func(n-1);return0;}voidmain(){coutfunc(5)endl;}162、#includeiostreamusingnamespacestd;classA{intnum;public:A(inti){num=i;}A(A&a){num=a.num++;}voidprint(){coutnum;}};voidmain(){大工《C/C++语言程序设计》课程模拟试卷(B)第6页共11页Aa(1),b(a);a.print();b.print();}213、#includeiostreamusingnamespacestd;voidfun(int*a,int*b){intx=*a;*a=*b;*b=x;cout*a*b;}voidmain(){intx=1,y=2;fun(&x,&y);coutxyendl;}21214、#includeiostreamusingnamespacestd;classA{public:A(){cout”1”;}~A(){cout”2”;}};classB:publicA{public:大工《C/C++语言程序设计》课程模拟试卷(B)第7页共11页B(){cout”3”;}~B(){cout”4”;}};voidmain(){Bb;}13425、#includeiostreamusingnamespacestd;classexample{inta;public:example(intb){a=b++;}voidprint(){a=a+1;couta;}voidprint()const{couta;}};voidmain(){examplex(3);constexampley(2);x.print();y.print();}42四、程序补充题(本大题共3小题,每小题5分,共15分)给出下列程序,将横线处缺少的部分补上,使其能正确运行,结果填写到试卷答题纸上。1.仔细阅读下列求两个点之间距离的程序,根据程序的输出结果在划线处填入正确语句。#includeiostreamusingnamespacestd;classpoint{大工《C/C++语言程序设计》课程模拟试卷(B)第8页共11页floatx,y;public:point(floata,floatb){x=a;y=b;}floatdistance(point&p){floatdx=_____(1)__p.x-x____;floatdy=_____(2)_p.y-y____;return(float)sqrt(da*da+dy*dy);}};voidmain(){pointp1(2,3),p2(32,43);cout_____(3)_distance(p2)____endl;}输出结果:502.从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。#includeiostreamusingnamespacestd;voidmain(){intx;cout输入一个整数:;cinx;inta[20],k=0,r;do{r=x%2;a[k++]=r;x=___(1)x/2__;}while(___(2)_x!=0__);大工《C/C++语言程序设计》课程模拟试卷(B)第9页共11页for(--k;k=0;k--)___(3)_couta[k];//须带分号不能省略__coutendl;}3.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。voidmain(){intscore;scanf("%d",&score);printf("%d-",score);if(__(1)_score=0&&score=100)switch(_____(2)___score/10____){case9:case10:printf("Excellent\n");break;case8:printf("Good\n");break;case7:printf("Middle\n");break;case6:printf("Pass\n");_____(3)___break;__default:printf("Nopass\n");}elseprintf("Inputerror!\n");}五、程序设计题(本大题共2小题,每小题10分,共20分)1、编程实现:从键盘输入一任意字符串,然后,输入所要查找字符。存在则返回它第一次在字符串中出现的位置;否则,输出在字符串中查找不到!。并实现对同一字符串,能连续输入所要查找的字符。1.解:#includeiostreamusingnamespacestd;char*strchr(char*string,intletter){while((*string!=letter)&&(*string))string++;大工《C/C++语言程序设计》课程模拟试卷(B)第10页共11页returnstring;}voidmain(){inttt=1;while(tt){chartitle[64];cout请输入一字符串:;cintitle;char*p;cout请输入你想查找的字符:;charch;cinch;p=strchr(title,ch);if(*p)cout所查字符在字符串中第一次出现的位置为:p-titleendl;elsecout在字符串中没有所查字符!endl;coutdoucunteue!1--counte,0--e
本文标题:大工《CC++语言程序设计》课程考试模拟试卷B
链接地址:https://www.777doc.com/doc-2552527 .html