欧阳老师 发表于 2018-9-17 08:45:55

中石油华东18秋《C++程序设计》在线作业(全)参考

2018秋学期《C++程序设计》在线作业1
核对题目下载答案,转载请注明无忧答案网
一、单选题:1.[单选题]下列叙述中错误的是          (满分:)
    A. 计算机不能直接执行用C++语言编写的源程序
    B. C++程序经C++编译程序编译后,生成后缀为.obj的文件是一个二进制文件
    C. 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
    D. 后缀为.obj和.exe的二进制文件都可以直接运行]
    正确答案:——D——
2.[单选题]若有以下定义和语句:     char*s1="12345",*s2="1234";     cout<<strlen(strcpy(s1,s2));则输出结果是          (满分:)
    A. 4
    B. 5
    C. 9
    D. 10]
    正确答案:——A——
3.[单选题]在C++语言中,函数返回值的类型最终取决于          (满分:)
    A. 函数定义时在函数首部所说明的函数类型
    B. return语句中表达式值的类型
    C. 调用函数时主调函数所传递的实参类型
    D. 函数定义时形参的类型]
    正确答案:——A——
4.[单选题]函数fun的返回值是()  fun(char*a,char*b)  {intnum=0,n=0;  while(*(a+num)!=′\\0′)num++;  while(b){*(a+num)=b;num++;n++;}returnnum;}          (满分:)
    A. 字符串a的长度
    B. 字符串b的长度
    C. 字符串a和b的长度之差
    D. 字符串a和b的长度之和]
    正确答案:————
5.[单选题]下列运算符函数中,肯定不属于类Value的成员函数的是          (满分:)
    A. Valueoperator+(Value);
    B. Valueoperator-(Value,Value);
    C. Valueoperator*(int);
    D. Valueoperator/(Value);]
    正确答案:————
6.[单选题]只能作为成员函数重载的是          (满分:)
    A. =
    B. ++
    C. *
    D. new]
    正确答案:————
7.[单选题])下列程序的输出结果是()#include<iostream>#include<cstring>usingnamespacestd;intmain(intargc,char*argv[]){doubled=3.2;intx=1.2,y;y=(x+3.8)/5.0;cout<<y*d<<endl;return0;}            (满分:)
    A. 3
    B. 3.2
    C. 0
    D. 3.07]
    正确答案:————
8.[单选题]有以下程序main(){chara1='M',a2='m';cout<<(a1,a2)<<endl;}以下叙述中正确的是          (满分:)
    A. 程序输出大写字母M
    B. 程序输出小写字母m
    C. 格式说明符不足,编译出错
    D. 程序运行时产生出错信息]
    正确答案:————
9.[单选题]在一个派生类的成员函数中,试图调用其基类的成员函数“voidf();”,但无法通过编译。这说明          (满分:)
    A. f()是基类的私有成员
    B. 派生类的继承方式为私有
    C. f()是基类的保护成员
    D. 派生类的继承方式为保护]
    正确答案:————
10.[单选题]若有以下定义和语句:intw,(*pw);pw=w;则对w数组元素非法引用是          (满分:)
    A. *(w+2)
    B. *(pw+1)
    C. pw
    D. *(pw+2)]
    正确答案:————
11.[单选题]下列描述中错误的是()          (满分:)
    A. 析构函数可以被继承
    B. 虚函数不能被继承
    C. 派生类可以有多个基类
    D. 纯虚基类的子类可以是虚基类]
    正确答案:————
12.[单选题]设有如下的变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下不符合C++语言语法的表达式是          (满分:)
    A. a+=a-=(b=4)*(a=3)
    B. x%(-3)
    C. a=a*3=2
    D. y=float(i)]
    正确答案:————
13.[单选题]以下程序的输出结果是#include<iostream>#include<cmath>usingnamespacestd;voidsub1(chara,charb){charc;c=a;a=b;b=c;}voidsub2(char*a,charb){charc;c=*a;*a=b;b=c;}voidsub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}intmain(intargc,char*argv[]){chara,b;a='A';b='B';sub3(&a,&b);cout.put(a);cout.put(b);a='A';b='B';sub2(&a,b);cout.put(a);cout.put(b);a='A';b='B';sub1(a,b);cout.put(a);cout.put(b);return0;}          (满分:)
    A. ABABAB
    B. BABBAB
    C. BABABA    辅导联系q或微信761296021
    D. ABBAAB]
    正确答案:————
14.[单选题]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#include<iostream>usingnamespacestd;voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p,p)>0){t=p;p=p;p=t;}}intmain(intargc,char*argv[]){char*p={"abc","aabdfg","abbd","dcdbe","cd"};f(p,5);cout<<strlen(p)<<endl;return0;}程序运行后的输出结果是          (满分:)
    A. 2
    B. 3
    C. 6
    D. 4]
    正确答案:————
15.[单选题]对于重载的运算符>>,它是一个          (满分:)
    A. 用于输入的友元函数
    B. 用于输入的成员函数
    C. 用于输出的友元函数
    D. 用于输出的成员函数]
    正确答案:————
16.[单选题]已知有定义  constintD=5;  inti=1;  doublef=0.32;  charc=15;则下列选项错误的是()          (满分:)
    A. ++i;
    B. D--;
    C. c++;
    D. --f;]
    正确答案:————
17.[单选题]有以下程序intmain(intargc,char*argv[]){inti,t[]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)cout<<t;return0;}程序执行后的输出结果是          (满分:)
    A. 753
    B. 357
    C. 369
    D. 751]
    正确答案:————
18.[单选题]下列有关内联函数的叙述中,正确的是          (满分:)
    A. 内联函数在调用时发生控制转移
    B. 内联函数必须通过关键字inline来定义
    C. 内联函数是通过编译器来实现的
    D. 内联函数函数体的最后一条语句必须是return语句]
    正确答案:————
19.[单选题]多态性指的是          (满分:)
    A. 以任何方式调用一个虚函数
    B. 以任何方式调用一个纯虚函数
    C. 借助于指向对象的基类指针或引用调用一个虚函数
    D. 借助于指向对象的基类指针或引用调用一个纯虚函数]
    正确答案:————
20.[单选题]设有如下定义:inta=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为          (满分:)
    A. 1
    B. 2
    C. 3
    D. 0]
    正确答案:————
2018秋学期《C++程序设计》在线作业2

一、单选题:
1.[单选题]下列运算符不能重载为友元函数的是          (满分:)
    A. =()[]->
    B. +-++--
    C. ><>=<=
    D. +=-=*=/=]
    正确答案:——A——
2.[单选题]有以下程序#include<iostream>#include<cmath>usingnamespacestd;intmain(intargc,char*argv[]){intaa={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa;cout<<s;return0;}程序运行后的输出结果是          (满分:)
    A. 11
    B. 19
    C. 13
    D. 20]
    正确答案:——C——
3.[单选题]下列语句中,正确的是()          (满分:)
    A. char*myString="Hello-World!"
    B. charmyString="Hello-World!"
    C. charmyString="Hello-World!"
    D. charmyString="Hello-World!"]
    正确答案:——A——
4.[单选题]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#include<iostream>usingnamespacestd;voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p,p)>0){t=p;p=p;p=t;}}intmain(intargc,char*argv[]){char*p={"abc","aabdfg","abbd","dcdbe","cd"};f(p,5);cout<<strlen(p)<<endl;return0;}程序运行后的输出结果是          (满分:)
    A. 2
    B. 3
    C. 6
    D. 4]
    正确答案:————
5.[单选题]有如下程序#include#includeusingnamespacestd;classMyClass{public:MyClass(){cout<<'A';}MyClass(charc){cout<~MyClass(){cout<<'B';}};intmain(){MyClassp1,*p2;p2=newMyClass('X');deletep2;return0;}执行这个程序屏幕上将显示输出          (满分:)
    A. ABX
    B. ABX
    C. AXB
    D. AXBB]
    正确答案:————
6.[单选题]设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是          (满分:)
    A. (!a==1)&&(!b==0)
    B. (a<b)&&!c||1
    C. a&&b
    D. a||(b+b)&&(c-a)]
    正确答案:————
7.[单选题]在以下四组中,每组有两个分别运算的函数,运算结果相同的是intmain(intargc,char*argv[]){inti,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;cout<<n;}          (满分:)
    A. 4
    B. 2
    C. 1
    D. 0]
    正确答案:————
8.[单选题]有以下程序#include<iostream>usingnamespacestd;voidfun1(char*p){char*q;q=p;while(*q!='\\0'){(*q)++;q++;}}intmain(intargc,char*argv[]){chara[]={"Program"},*p;p=&a;fun1(p);cout<<a<<endl;return0;}程序执行后的输出结果是          (满分:)
    A. Prohsbn
    B. Prphsbn
    C. Progsbn
    D. Program]
    正确答案:————
9.[单选题]下列模板声明中,有语法错误的是          (满分:)
    A. template<typenameT>Tfun(Tx){returnx;
    B. template<typenameT>Tfun(Tx,intn){returnx*n;
    C. template<classT>Tfun(T*p){return*p;
    D. template<classT>TclassA{Tn;
    正确答案:————
10.[单选题]下列程序的运行结果是voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);cout<<a<<b;}          (满分:)
    A. 63
    B. 36
    C. 编译出错
    D. 00]
    正确答案:————
11.[单选题]C++中类的定义的结束声明的符号是          (满分:)
    A.
    B. ,;
    C. ;
    D. {]
    正确答案:————
12.[单选题]关于C++与C语言关系描述中错误的是()          (满分:)
    A. C++语言是C语言的超集
    B. C++语言对C语言进行了扩充
    C. C++语言包含C语言的全部语法特征
    D. C++语言与C语言都是面向对象的程序设计语言]
    正确答案:————
13.[单选题]以下关于C++类的说法中正确的是          (满分:)
    A. C++语言的默认访问权限是private
    B. C++语言中的类定义,用户一定要自己定义一个构造函数用于实例化类
    C. C++语言中的成员函数的实现部分一定要写在类定义外
    D. C++语言中的类不能够嵌套定义 ]
    正确答案:————
14.[单选题]在以下给出的表达式中,与while(E)中的(E)不等价的表达式是          (满分:)
    A. (!E==0)
    B. (E>0‖E<0)
    C. (E==0)
    D. (E!=0)]
    正确答案:————
15.[单选题]执行下面的程序段后,变量k中的值为intk=3,s;s=k;k=s*10;          (满分:)
    A. 不定值
    B. 33
    C. 30
    D. 10]
    正确答案:————
16.[单选题]对于一个正常运行的C程序,以下叙述中正确的是          (满分:)
    A. 程序的执行总是从main函数开始,在main函数结束
    B. 程序的执行总是从程序的第一个函数开始,在main函数结束
    C. 程序的执行总是从main函数开始,在程序的最后一个函数中结束
    D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束]
    正确答案:————
17.[单选题]在C++中,编译系统自动为一个类生成缺省构造函数的条件是          (满分:)
    A. 该类没有定义任何有参构造函数
    B. 该类没有定义任何无参构造函数
    C. 该类没有定义任何构造函数
    D. 该类没有定义任何成员函数]
    正确答案:————
18.[单选题]在一个派生类的成员函数中,试图调用其基类的成员函数“voidf();”,但无法通过编译。这说明          (满分:)
    A. f()是基类的私有成员
    B. 派生类的继承方式为私有
    C. f()是基类的保护成员
    D. 派生类的继承方式为保护]
    正确答案:————
19.[单选题]以下叙述中错误的是          (满分:)
    A. C++语句必须以分号结束
    B. 复合语句在语法上被看作一条语句
    C. 空语句出现在任何位置都不会影响程序运行
    D. 赋值表达式末尾加分号就构成赋值语句]
    正确答案:————
20.[单选题]以下程序运行后,输出结果是#include<iostream>#include<cmath>usingnamespacestd;intmain(intargc,char*argv[]){inty=18,i=0,j,a;do{a=y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)cout<<a;return0;}          (满分:)
    A. 1000
    B. 10010
    C. 00110
    D. 10100]
    正确答案:————
2018秋学期《C++程序设计》在线作业3

一、单选题:
1.[单选题]以下所列的各函数首部中,正确的是          (满分:)
    A. voidplay(var:Integer,varb:Integer)
    B. voidplay(inta,b)
    C. voidplay(inta,intb)
    D. Subplay(aasinteger,basinteger)]
    正确答案:——C——
2.[单选题]下列有关内联函数的叙述中,正确的是          (满分:)
    A. 内联函数在调用时发生控制转移
    B. 内联函数必须通过关键字inline来定义
    C. 内联函数是通过编译器来实现的
    D. 内联函数函数体的最后一条语句必须是return语句]
    正确答案:——B——
3.[单选题]如下代码的运行结果为#include<iostream>#include<iomanip>#include<fstream>usingnamespacestd;classBase{protected:charc;protected:Base(){c='A';}Base(chara){c=a;}public:voidprint(){cout<<"A";}};classDerived:publicBase{public:Derived(chara){c=a;}public:voidprint(){cout<<"B";}};intmain(intargc,char*argv[]){Derivedd1('B');Basebase=d1;base.print();return0;}          (满分:)
    A. AB
    B. A
    C. B
    D. BB]
    正确答案:——B——
4.[单选题]设有以下函数:f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){inta=2,i;for(i=0;i<3;i++)cout<<f(a);          (满分:)
    A. 789
    B. 7911
    C. 71013
    D. 777]
    正确答案:————
5.[单选题]设已有定义:floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是          (满分:)
    A. float*p=1024;
    B. int*p=(float)x;
    C. floatp=&x;
    D. float*P=&x;]
    正确答案:————
6.[单选题]有以下程序#include<iostream>usingnamespacestd;voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}intmain(intargc,char*argv[]){inta={1,2,3,4,5},i;f(a);for(i=0;i<5;i++)cout<<a;return0;}程序运行后的输出结果是          (满分:)
    A. 2,2,3,4,5,
    B. 6,2,3,4,5,
    C. 1,2,3,4,5,
    D. 2,3,4,5,6,]
    正确答案:————
7.[单选题]下列程序段的输出结果是voidfun(int*x,int*y){cout<<*x<<”,”<<*y;*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);cout<<*x<<”,”<<*y;}          (满分:)
    A. 2143
    B. 1212
    C. 1234
    D. 2112]
    正确答案:————
8.[单选题]有以下程序#include<iostream>usingnamespacestd;typedefstruct{intb,p;}A;voidf(Ac){c.b+=1;c.p+=2;}intmain(intargc,char*argv[]){Aa={1,2};f(a);cout<<a.b<<","<<a.p;return0;}程序运行后的输出结果是          (满分:)
    A. 2,3
    B. 2,4
    C. 1,4
    D. 1,2]
    正确答案:————
9.[单选题]若已经声明了函数原型voidfun(inta,doubleb=0.0);,则下列重载函数声明中正确的是          (满分:)
    A. voidfun(inta=90,doubleb=0.0);
    B. intfun(inta,doubleB);
    C. voidfun(doublea,intB);
    D. boolfun(inta,doubleb=0.0);]
    正确答案:————
10.[单选题]表达式3.6-5/2+1.2+5%2的值是          (满分:)
    A. 4.3
    B. 4.8
    C. 3.3
    D. 3.8]
    正确答案:————
11.[单选题]下程序的输出结果是()#include<iostream>usingnamespacestd;intf(){staticinti=0;ints=1;s+=i;i++;returns;}intmain(intargc,char*argv[]){inti,a=0;for(i=0;i<5;i++)a+=f();cout<<a;return0;}          (满分:)
    A. 5
    B. 0
    C. 15
    D. 25]
    正确答案:————
12.[单选题]以下程序的输出结果是#include<iostream>#include<cmath>usingnamespacestd;voidsub1(chara,charb){charc;c=a;a=b;b=c;}voidsub2(char*a,charb){charc;c=*a;*a=b;b=c;}voidsub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}intmain(intargc,char*argv[]){chara,b;a='A';b='B';sub3(&a,&b);cout.put(a);cout.put(b);a='A';b='B';sub2(&a,b);cout.put(a);cout.put(b);a='A';b='B';sub1(a,b);cout.put(a);cout.put(b);return0;}          (满分:)
    A. ABABAB
    B. BABBAB
    C. BABABA
    D. ABBAAB]
    正确答案:————
13.[单选题]如果表达式a>=b中的“>=”是作为非成员函数重载的运算符,则可以等效地表示()          (满分:)
    A. a.operator>=(b)
    B. b.operatotr>=(a)
    C. operator>=(a,b)
    D. operator>=(b,a)]
    正确答案:————
14.[单选题]下面程序的结果为#include<iostream>usingnamespacestd;intc;classA{private:inta;staticintb;public:A(){a=0;c=0;}voidseta(){a++;}voidsetb(){b++;}voidsetc(){c++;}voiddisplay(){cout<<a<<b<<c;}};intA::b=0;intmain(intargc,char*argv[]){Aa1,a2;a1.seta();a1.setb();a1.setc();a2.seta();a2.setb();a2.setc();a2.display();return0;}            (满分:)
    A. 121
    B. 122
    C. 112
    D. 222]
    正确答案:————
15.[单选题]有以下程序#include<iostream>usingnamespacestd;voidf(intb[]){inti;for(i=2;i<6;i++)b*=2;}intmain(intargc,char*argv[]){inta={1,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;i<10;i++)cout<<a;return0;}程序运行后的输出结果是          (满分:)
    A. 1,2,3,4,5,6,7,8,9,10,
    B. 1,2,6,8,10,12,7,8,9,10
    C. 1,2,3,4,10,12,14,16,9,10,
    D. 1,2,6,8,10,12,14,16,9,10,]
    正确答案:————
16.[单选题]以下不属于异常处理所用关健字          (满分:)
    A. try
    B. catch
    C. throw
    D. trace]
    正确答案:————
17.[单选题]执行下面的程序段后,变量k中的值为()intmain(intargc,char*argv[]){intk=3,s;s=k;k=s*10;cout<<k;return0;}          (满分:)
    A. 不定值
    B. 33
    C. 30
    D. 10]
    正确答案:————
18.[单选题]以下程序运行后,输出结果是#include<iostream>#include<cmath>usingnamespacestd;intmain(intargc,char*argv[]){inty=18,i=0,j,a;do{a=y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)cout<<a;return0;}          (满分:)
    A. 1000
    B. 10010
    C. 00110
    D. 10100]
    正确答案:————
19.[单选题]设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是          (满分:)
    A. 10<a<15
    B. a==11||a==12||a==13||a==14
    C. a>10&&a<15
    D. !(a<=10)&&!(a>=15)]
    正确答案:————
20.[单选题]有如下说明inta={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是          (满分:)
    A. *p+9
    B. *(p+8)
    C. *p+=9
    D. p+8]
    正确答案:————
附件是答案,需要的核对题目,自助下载,q761296021
页: [1]
查看完整版本: 中石油华东18秋《C++程序设计》在线作业(全)参考