中石油华东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]