北语18秋《面向对象程序设计》作业1
- 格式:doc
- 大小:48.50 KB
- 文档页数:6
北交《面向对象程序设计》在线作业一-0003
若用数组名作为函数调用时的实参,则实际上传递给形参的是()
A:数组首地址
B:数组的第一个元素值
C:数组中全部元素的值
D:数组元素的个数
答案:A
用关键字()标记的函数被称为虚函数。
A:virtual
B:private
C:public
D:protected
答案:A
若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
A:in
B:inline
C:inLine
D:InLiner
答案:B
下列字符列中,可作为C++语言程序自定义标识符是()
A:switch
B:file
C:break
D:do
答案:B
在以下说明中,标识符ptr()。
int (*ptr)[3];
A:说明不合法
B:是一个指针数组名,每个元素是一个指向整数变量的指针
C:是一个指针数组名,每个元素是一个指向整数变量的指针
D:是一个指向整型变量的指针
答案:C
在以下关于C++语言的注释的叙述中,不正确的是()
A:C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示。
国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案形考任务1一、单项选择题(每题1分,共20分)1.Java是一门()语言。
a. 汇编b. 面向对象的高级c. 面向过程的高级d. 机器2.机器语言中的指令编码为()编码。
a. 符号b. 数字c. 十进制d. 二进制3.更接近人类自然语言的计算机语言是()语言。
a. 高级b. 机器c. 数字d. 汇编4.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
a. 重量b. 颜色c. 状态d. 动态5.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
a. 成分b. 元素c. 产品d. 实例6.Java语言的主要特点不包括()。
a. 可移植性b. 处理文件c. 面向对象d. 自动垃圾回收7.Java语言的主要特点不包括()。
a. 解释执行b. 处理字符串c. 多线程d. 安全性8.具有相同属性和服务的一组对象的模板称为()。
a. 代码b. 概念c. 类d. 程序9.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。
a. 继承性b. 封装性c. 开放性d. 多态性10.使用JDK编译Java程序时使用的命令是()。
a. javadocb. javacc. appletviewerd. java11.组成Java程序的最小单位是()。
a. 方法b. 常量d. 类12.在Java程序中包含主方法的类被称为主类,主方法名为()。
a. voidb. mainc. Maind. args13.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。
a. privateb. staticc. publicd. protected14.在Java程序中包含主方法的类被称为主类,主方法的存储控制属性应定义为()。
a. staticb. shortc. finald. abstract15.Java语言中的基本数据类型有9种,其中属于数值型的数据类型有()种。
18秋《程序设计引论》作业1
C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为()
A..exe
B..c
C..obj
D..cpp
正确答案:A
以下命令不是编译预处理命令的是()。
A.#define
B.#include
C.#if
D.typedef
正确答案:D
顺利执行文件关闭操作时,fclose函数的返回值是()
A.1
B.-1
C.0
D.非0值
正确答案:C
下面有关C程序操作过程的说法中,错误的是()
A.C源程序经过编译,得到的目标文件即为可执行文件
B.C源程序的链接实质上是将目标代码文件和库函数等代码进行连接的过程
C.C源程序不能通过编译,通常是由于语法错误引起的
D.导致不能得到预期计算结果的主要原因是程序算法考虑不周
正确答案:A
若有定义:int a[5]={3,5,4,6,8},*p=a;则引用数组元素错误的是()。
A.a[3]
B.*(a+1)
C.&a[2]
D.p[2]
正确答案:C。
18秋《C#》作业1枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为()。
A.intB.sbyteC.uintD.ulong正确答案:A静态构造函数只能对()数据成员进行初始化。
A.静态B.动态C.实例D.静态和实例正确答案:A以下说法正确的是()。
A.虚方法必须在派生类中重写,抽象方法不需要重写B.虚方法可以在派生类中重写,抽象方法必须重写C.虚方法必须在派生类中重写,抽象方法必须重写D.虚方法可以在派生类中重写,抽象方法也不需要重写正确答案:B如果左操作数大于右操作数,()运算符返回false。
A.=B.<C.<=D.以上都是正确答案:D指定操作系统读取文件方式中的FileMode .Create的含义是()。
A.打开现有文件B.指定操作系统应创建文件,如果文件存在,将出现异常C.打开现有文件,若文件不存在,出现异常D.指定操作系统应创建文件,如果文件存在,将被改写正确答案:D使用()关键字可以再次引发捕获到的异常?A.NewB.thisC.throwD.Exception正确答案:C下面属于合法变量名的是()。
A.P_qrB.123mnpC.charD.x-y正确答案:A()控件组合了TextBox控件和ListBox控件的功能。
boBoxbelC.ListViewD.DomainUpDown正确答案:AC#中TestClass为一自定义类,其中有以下属性定义public void Property{}使用以下语句创建了该类的对象,并使变量obj引用该对象:TestClass obj = new TestClass();那么,可通过什么方式访问类TestClass的Property属性? ()A.Obj.PropertyB.MyClass.PropertyC.obj :: PropertyD.obj.Property ()正确答案:A通过继承()类,用户可以创建自己的异常类。
北交《面向对象程序设计》在线作业一-0004试卷总分:100 得分:100一、单选题(共23 道试题,共57 分)1.有如下类声明:class Foo { int bar; }; 则Foo类的成员bar是( )A.私有数据成员B.私有成员函数C.公有数据成员D.公有成员函数答案:A2.下面关于派生类的描述中,()是错的。
A.派生类至少有一个基类B.派生类的成员除了它自己的成员外,还包含了它的基类的成员C.派生类中继承的基类成员的访问权限到派生类保持不变D.一个派生类可以作为另一个派生类的基类答案:C3.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0 和0,则下列定义语句中错误的是( )A.int vect[5]={30,50,-88,0,0};B.int vect[5]={30,50,-88};C.int vect[ ]={30,50,-88,0,0};D.int vect[ ]={30,50,-88};答案:D4.在以下说明中,标识符ptr()。
int (*ptr)[3];A.说明不合法B.是一个指针数组名,每个元素是一个指向整数变量的指针C.是一个指针数组名,每个元素是一个指向整数变量的指针D.是一个指向整型变量的指针答案:B5.下列关于模板的叙述中,错误的是( )A.类模板不能有数据成员B.模板声明中的第一个符号总是关键字templateC.在模板声明中用<和> 括起来的部分是模板的形参表D.在一定条件下函数模板的实参可以省略答案:A6.下列函数中,()是对文件进行读操作的。
A.write()B.tellg()C.seekp()D.read()答案:D7.假定a为一个整型数组名,则元素a[4]的字节地址为()。
A.a+8B.a+4C.a+32D.a+16答案:D8.下列关于派生类可访问它基类成员的描述中,错误的是()。
A.私有继承方式下,派生类可访问它基类中的公有成员和保护成员B.派生类可访问它基类中的成员与继承方式有关C.派生类不可访问它基类中的私有成员D.公有继承方式下,派生类可访问它基类的私有成员答案:D9.若一个类中含有纯虚函数,则该类称为()。
作业1参考答案一、选择题二、判断题三、读程序并写出运行结果四、综合编程题1、#include <iostream.h>long int fac(int a);void main( ){ long sum=0;for (int i=1;i<=10;i++)sum+=fac(i);cout<<"The sum is "<<sum<<endl;}long int fac(int a){ int temp=1;for(int j=1;j<=a;j++)temp*=j;return temp;}2、#include<fstream.h>#include<stdlib.h>double ave(int p[]); //声明求和函数int max(int p[]); //声明求极大值函数void main(){ int a[6], maxv;double avev;int i=0;while(i<6) //通过循环从键盘给数组元素赋值{ cout<<"a["<<i<<"]=";cin>>a[i];i++;}maxv=max(a); //调用求和函数avev=ave(a); //求极大值函数ofstream my_ostrm; //定义输出流my_ostrm.open("c:\\myfile.txt"); //打开指定文件if(!my_ostrm) //文件打开不成功,报错并终止运行{cout<<"open file error,abort!";abort();}for(i=0;i<6;i++) //往文件写入各数组元素的值my_ostrm<<a[i]<<endl;my_ostrm<<avev<<endl; //写入平均值my_ostrm<<maxv<<endl; //写入最大值my_ostrm.close(); //文件关闭ifstream my_istrm; //定义输入流my_istrm.open("c:\\myfile.txt"); //打开指定文件if(!my_istrm) //文件打开不成功,报错并终止运行{cout<<"open file error,abort!";abort();}for(i=0;i<6;i++) //往文件读取各数组元素的值{my_istrm>>a[i];cout<<a[i]<<endl;}my_istrm>>avev>>maxv; //读取平均值与最大值cout<<avev<<"\n"<<maxv<<endl; //输出my_istrm.close();}double ave(int p[]) /*求和函数的实现,形参用数组*/{ int s=0;for(int i=0;i<6;i++) s+=p[i];return s/6.0; }int max(int p[])/*求极大值函数的实现,形参用数组*/{ int maxv=p[0];for(int i=0;i<6;i++) if(p[i]>maxv)maxv=p[i];return maxv; }。
18秋《面向对象程序设计》作业_1一、单选题 ( 每题4分, 共25道小题, 总分值100分 )1.下列()的调用方式是引用调用。
A. 形参和实参都是变量B. 形参是指针,实参是地址值C. 形参是引用,实参是变量D. 形参是变量,实参是地址值答案:C 联系“文档贡献者”2.在下面的字符数组定义中,哪一个有语法错误。
()。
A. chara[20]=”abcdefg”B. chara[]=”x+y=55.”C. chara[15]D. chara[10]=’5’答案:D3.A. (A)B. (B)C. (C)D. (D)答案:C4.设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为()。
A. 1B. 0C. 与x值相同D. 与x值相反答案:C5.A. (A)B. (B)C. (C)D. (D)答案:C6.在下面循环语句中循环体执行的次数为()。
int i=0; do i++; while(i*i<10);A. 4B. 3C. 5D. 27.A. (A)B. (B)C. (C)D. (D)8.在C++中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerrC. clogD. cout9.面向对象方法的多态性是指()。
A. 一个类可以派生出多个特殊类B. 一个对象在不同的运行环境中可以有不同的变体C. 针对一消息,不同的对象可以以适合自身的方式加以响应D. 一个对象可以是由多个其他对象组合而成的10.在下面存储类中,( ) 对象的可见性与生存期不一致。
A. 外部类B. 自动类C. 内部静态类D. 寄存器类11.由C++源程序文件编译而成的目标文件的默认扩展名为( )。
A. cppB. exeC. objD. lik12.A. (A)B. (B)C. (C)D. (D)13.A. (A)B. (B)C. (C)D. (D)14.以下标识符中不全是保留字的是()。
实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。
2、掌握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求1、分析下列程序运行的结果。
程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。
《面向对象程序设计》期末大作业一、大作业题目二、要求(1)依照学生人数分成原那么上2至3人(少量4人)一组,各小组选择感爱好的题目,也可自拟题目。
(2)解题要求:现面向对象程序设计语言的特点,程序代码很多于400行;利用技术:表现OOP 的抽象、封装、继承、多态等4种关键技术中的两种或多种;程序结构良好,没有明显错误;依照大作业格式,在课程终止最后两周(1六、17周)上交电子稿。
(3)最终提交。
●大作业报告依照原有的系统设计,编码时期的工作,整理书写实验报告,内容包括:①系统说明②实验分析与结论③收成与体会④附程序代码●最后提交材料:①大作业报告(打印稿和电子稿)②源程序代码(CPP文件),执行文件(EXE)③小组内分工说明(人员名单(不超过4人)、学号、角色分工)三、说明假设两人和多人程序大体相同或撰写的报告大体相同的情形下,经认真比较查证属彼此剽窃的,剽窃者和被剽窃者均按“0”分计。
大作业报告样式如下:(1) 大作业的页面设置为上、下、左、右页边距都为厘米,格式段落中行距为固定值20磅。
(2) 中文字体为宋体小四号,英文字体为Times New Roman小四。
补充说明:关于大作业中的程序、类或函数必然要有详细的注释,如下例所示。
关于类包括:类的成员变量说明,类的成员函数说明,功能,基类、继承类、实现进程等等。
/********************************************************************类名:私有成员:公有成员:功能:作为下面要概念派生类的基类实现步骤:(1)概念类名(2)声明私有成员(3)声明必要的函数作为公有成员,其中狗狗找函数用来分派存储空间,对私有对象进行初始化(4)对类进行封装/********************************************************************关于函数包括:先对函数及各参数进行说明,函数功能说明,实现原理及步骤说明,函数中的关键部位也需要进行说明。
18秋《JAVA语言程序设计》作业_1 一、单选题 ( 每题4分, 共25道小题, 总分值100分 )1.答案:B 联系“文档贡献者”2.答案:A3.答案:A4.答案:D5.答案:D6.7. 8. 9.10.11.12.13.14.15.16.17.18.19.20.21.22.下列哪个数代表十六进制整数()A. 0123B. 1900C. fa00D. 0xa223.下列关于类和对象的描述中,不正确的一项是( )A. 一组对象构成一个程序,对象之间通过发消息通知彼此该做什么B.现实世界中,可以把每件事物都看作是一个对象C.有共同属性的对象可以抽象为一个类D. 一个类只能实例化一个对象24.25.下列选项中,哪一个是打印语句的正确表达式()A. System.out.println();B. System.out.Println();C. System.Out.print();D. System.Out.println();18秋《JAVA语言程序设计》作业_2 一、单选题 ( 每题4分, 共25道小题, 总分值100分 )1.2.3.4.5.6.7. 8. 9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.18秋《JAVA语言程序设计》作业_3 一、单选题 ( 每题4分, 共25道小题, 总分值100分 )1.2.3.4.5.6.7.下列关于注释语句的描述错误的是()A.多行注释语句的内容,从/*开始,到*/结束B.多行注释语句也可以是单行语句C.文档注释语句的内容,从/**开始,到*/结束D. 单行注释语句的内容,从//开始,以分号为结尾句8.JAVA语言中的语句是以()为结尾的。
A. 句号B. 分号C. 双引号D. 逗号9.10.11.12.13.14.15.定义一个长整型变量a的语句是()A. int aB. a longC. float aD. long a16.17.18.java语言是1995年由____公司发布的( )A. SunB. MicrosoftC. BorlandD. Fox Software19.20.21.22.23.switch语句不能用于下列哪种数据类型()A. doubleB. byteC. shortD. char24.25.18秋《JAVA语言程序设计》作业_4一、单选题 ( 每题4分, 共25道小题, 总分值100分 )1.下列哪一个是JAVA语言的关键字()A. helloB. voidC. num_01D. abc2.3.4.5.6. 7. 8. 9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.。
面向对象程序设计课程作业一、单选题1. (5分)调用一成员函数时,使用动态联编的情况是()A. 通过对象调用一虚函数B. 通过指针或引用调用一虚函数C. 通过对象调用静态函数D. 通过指针或引用调用静态函数得分:0知识点:第6章收起解析.答案B.解析第6章6.2节..2. (5分)下列选项中,可以作为函数重载的条件之一的是():A. 不同的形参名称B. 不同的返回值C. 不同的函数名D. 不同的参数个数得分:0知识点:第2章收起解析.答案D.解析第2章2.5节..3. (5分)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是()A. 一元运算符B. 二元运算符C. 选项A和选项B都可能D. 重载错误得分:0知识点:第3章收起解析.答案D.解析第3章3.5节..4. (5分)有以下程序main() { int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%d”,t[2-i][i]); } 程序的执行后的输出结果是()A. 7 5 3B. 3 5 7C. 3 6 9D. 7 5 1得分:0知识点:第2章收起解析.答案B.解析第2章2.2节..5. (5分)若要求从键盘读入含有空格字符的字符串,应使用函数()A. getc()B. gets()C. getchar()D. scanf()得分:0知识点:第2章收起解析.答案B.解析第2章2.5节..6. (5分)可以用P.a的形式访问派生类对象p的基类成员a,其中a是A. 私有继承的公有成员B. 共有继承的私有成员C. 公有继承的保护成员D. 公有继承的公有成员得分:0知识点:第4章收起解析.答案D.解析第4章4.1节..7. (5分)解决二义性问题的方法有A. 只能使用作用域分辨操作符B. 使用作用域分辨操作符或赋值兼容规则C. 使用作用域分辨操作符或虚基类D. 使用虚基类或赋值兼容规则得分:0知识点:第6章收起解析.答案C.解析第6章6.2节..8. (5分)以下有关继承正确的是A. 构造函数和析构函数都能被继承B. 派生类是基类的组合C. 派生类对象除了能访问自己的成员外,不能访问基类中的所有成员D. 基类的公有成员一定能被派生类对象访问得分:0知识点:第4章收起解析.答案D.解析第4章4.2节..9. (5分)假定类B是在类A基础上扩充而得到的,那么就称A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类得分:0知识点:第3章收起解析.答案B.解析第3章3.2节..10. (5分)如果类A被说明成类B的友元,则()A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元得分:0知识点:第5章收起解析.答案D.解析第5章5.2节..11. (5分)下列有关继承和派生的叙述中,正确的是()A. 派生类不能访问基类的保护成员B. 作为虚基类的类不能被实例化C. 派生类应当向基类的构造函数传递参数D. 虚函数必须在派生类中重新实现得分:0知识点:第3章收起解析.答案C.解析第3章3.1节..12. (5分)下面是一个模板声明的开始部分:templute double __ 由此可知()A. 这可能是一个函数模板的声明B. 这可能是一个类模板的声明C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明D. 这肯定是一个错误的模板声明得分:0知识点:第7章收起解析.答案A.解析第7章7.2节..13. (5分)以下叙述中正确的是()A. 预处理命令行必须位于C源程序的起始位置B. 在C语言中,预处理命令行都以“#”开头C. 每个C程序必须在开头包括预处理命令行:#includeD. C语言的预处理不能实现宏定义和条件编译的功能得分:0知识点:第2章收起解析.答案C.解析第2章2.4节..14. (5分)下列关于模板的说法正确的是()A. 模板的实参在任何时候都可以省略B. 类模板与模板库所指的是同一概念C. 类模板的参数必须是虚拟类型的D. 类模板中的成员函数全部都是模板函数得分:0知识点:第7章收起解析.答案D.解析第7章7.2节..15. (5分)在文件包含命令中,被包含文件的扩展名A. 必须是.hB. 不能是.hC. 可以是.h或.cppD. 必须是.cpp得分:0知识点:第1章收起解析.答案C.解析第1章1.1节..二、判断1. (5分)当函数的返回值是数组类型的,传递的是数组第一个元素的地址.得分:0知识点:第2章收起解析.答案错误.解析第2章2.5节..2. (5分)数据成员在初始化列表中的书写顺序无关紧要,但初始化列表对数据成员初始化的执行次序就是类中定义数据成员的次序。
------------------------------------------------------------------------------------------------------------------------------ 单选题1(4分) : 关于void 指针,下列说法正确的是()。
A: void指针就是未指向任何数据的指针B: void指针就是已定义而未初始化的指针C: 指向任何类型数据的指针可直接赋值给一个void指针D: void指针值可直接赋给一个非void指针2(4分) :A: (A)B: (B)C: (C)D: (D)3(4分) :A: (A)B: (B)C: (C)D: (D)4(4分) :A: (A)B: (B)C: (C)D: (D)5(4分) :A: (A)B: (B)C: (C)D: (D)6(4分) : 存储以下数据,占用存储字节最多的是()。
A: 0B: ‘0’C: “0”D: 0.07(4分) :A: (A)B: (B)C: (C)D: (D)8(4分) :A: (A)B: (B)C: (C)D: (D)9(4分) : 以下叙述中不正确的是()。
A: 在一个函数中,可以有多条return语句------------------------------------------------------------------------------------------------------------------------------ B: 函数的定义不能嵌套,但函数的调用可以嵌套C: 函数必须有返回值D: 不同的函数中可以使用相同名字的变量10(4分) : x>0 && x<=10的相反表达式为()。
A: x<=0||x>10B: x<=0&&x>10C: x<=0||x<=10D: x>0&&x>1011(4分) :A: (A)B: (B)C: (C)D: (D)12(4分) : 下列对引用的陈述中不正确的是()。
面向对象程序设计大作业参考题目1、学生信息管理(1)问题描述学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:●系统以菜单方式工作●学生信息录入功能(学生信息用文件保存)---输入●学生信息浏览功能——输出●查询、排序功能——算法1、按学号查询2、按姓名查询●学生信息的删除与修改(可选项)(2)功能要求●界面简单明了;●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;●最好用链表的方式实现。
(3)算法分析首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
2、学生综合测评系统每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。
(2) 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
北交《面向对象程序设计》在线作业一0一、单选题:1.(单选题)在每个C++程序中都必须包含有这样一个函数,该函数的函数名()。
(满分AmainBMAINCnameDfunction正确答案:A2.(单选题)有如下程序:#includeusingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}staticintgetNum(){return n;}private:staticintn;};intTest::n=1;intmain(){Test*p=newTest;deletep;cout&lt;&lt;\n=\ &lt;&lt;Test::getNum()&lt;&lt;end (满分An=0Bn=1Cn=2Dn=3正确答案:A3.(单选题)有如下类声明:classFoo{intbar;};则Foo类的成员bar是() (满分A公有数据成员B公有成员函数C私有数据成员D私有成员函数正确答案:C4.(单选题)已知在一个类体中包含如下函数原型:VOLUMEoperator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是() (满分A这是运算符-的重载运算符函数B这个函数所重载的运算符是一个一元运算符C这是一个成员函数D这个函数不改变类的任何数据成员的值正确答案:5.(单选题)在声明类时,下面说法正确的是()。
(满分A可以在类的声明中给数据成员赋初值B数据成员的数据类型可以是registerCprivate,public,proected可以按任意的顺序出现D没有用private,public,proected定义的数据成员是共有成员正确答案:6.(单选题)下面关于C++流的叙述中,正确的是() (满分:)Acin是一个输入流对象B可以用ifstream定义一个输出流对象C执行语句序列char*y=\PQMN\;cout&lt;D执行语句序列charx[80];cin.getline(x,80);时,若键入Happynewyear则x中的字符串是\Happy\ 正确答案:7.(单选题)下面函数的功能是()。
------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 以下函数原型说明中,不正确的是()。
A: int Function();B: void Function(int);C: int Function(a);D: void int(double a);正确答案:(单选题) 2: 在声明类时,关键字private、public和protected出现()。
A: 至少一次B: 至多一次C: public至少一次D: 0或多次正确答案:(单选题) 3: 以下字符串赋值中不正确的是()。
A: char str[ ]=”abcdefg”;B: char str[80]; str=”abcdefg”;C: char *pstr=”abcdefg”D: char *pstr=NULL; pstr=”abcdefg”;正确答案:(单选题) 4: 在派生类的成员函数中能够直接访问基类的()。
A: 公有成员和私有成员B: 保护成员和私有成员C: .公有成员和保护成员D: 仅能是公有成员正确答案:(单选题) 5: 设a为整型变量,不能正确表达数学关系5<a<10的C++表达式是()。
A: a==6‖a==7‖a==8‖a==9B: a>5&&a<10C: 5<a<10D: !(a<=5)&&!(a>=10)正确答案:(单选题) 6: 以下字符串初始化中不正确的是()。
A: char str[ ]=”abcdefg”;B: char str[5]=”abcdefg”;C: char str[5]={“”};D: char str[5]={‘1’,’3’,’5’,’7’,’9’};正确答案:(单选题) 7: 在C++中,字符串"c:\\dos\\ex.txt"的存储长度是()。
------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 2: 在下面的二维数组定义中,正确的是( )。
A: inta[5][]B: inta[][5]C: inta[][3]={{1,3,5},{2}}D: inta[](10)正确答案:(单选题) 3: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 4: 假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用()。
A: cout<<*pB: cout<<pC: cout<<&pD: cout<<(void*)p正确答案:(单选题) 5: 当处理特定问题时的循环次数已知时,通常采用()来解决。
A: for循环B: while循环C: do循环D: switch语句正确答案:(单选题) 6: 在下面循环语句中循环体执行的次数为()。
for(int i=0; i<n; i++)if(i>n/2) break;A: n/2B: n/2+1C: n/2-1D: n-1正确答案:(单选题) 7: 题面见图片A: AB: BC: CD: D------------------------------------------------------------------------------------------------------------------------------ 正确答案:(单选题) 8: C语言正确的多行注释字符是A: //B: /*和*/C: /*D: /***正确答案:(单选题) 9: 字符串”a+b=12\n”的长度为()。
A: 6B: 7C: 8D: 9正确答案:(单选题) 10: 若用数组名作为函数调用的实参,传递给形参的是()。
A: 数组的首地址B: 数组中第一个元素的值C: 数组全部元素的值D: 数组元素的个数正确答案:(单选题) 11: 下列给字符数组赋初值时,正确的是( )。
A: chars1[]=”abcdef”B: chars2[4]=”abcd”C: chars3[2][3]={“abc”,”xyz”}D: chars4[4][]={‘a’,’x’,’s’,’t’}正确答案:(单选题) 12: 由C++源程序文件编译而成的目标文件的默认扩展名为( )。
A: cppB: exeC: objD: lik正确答案:(单选题) 13: 在下面存储类中,( ) 对象的可见性与生存期不一致。
A: 外部类B: 自动类C: 内部静态类D: 寄存器类正确答案:(单选题) 14: 下列()的调用方式是引用调用。
A: 形参和实参都是变量B: 形参是指针,实参是地址值C: 形参是引用,实参是变量D: 形参是变量,实参是地址值正确答案:------------------------------------------------------------------------------------------------------------------------------ (单选题) 15: 下列对引用的陈述中不正确的是()。
A: 每一个引用都是其所引用对象的别名,因此必须初始化B: 形式上针对引用的操作实际上作用于它所引用的对象C: 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D: 不需要单独为引用分配存储空间正确答案:(单选题) 16: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 17: 存储以下数据,占用存储字节最多的是()。
A: 0B: ‘0’C: “0”D: 0.0正确答案:(单选题) 18: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 19: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 20: 以下标识符中不全是保留字的是()。
A: caseforintB: defaultthenwhileC: boolclasslongD: gotoreturnchar正确答案:(单选题) 1: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 2: 在下面的二维数组定义中,正确的是( )。
------------------------------------------------------------------------------------------------------------------------------ A: inta[5][]B: inta[][5]C: inta[][3]={{1,3,5},{2}}D: inta[](10)正确答案:(单选题) 3: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 4: 假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用()。
A: cout<<*pB: cout<<pC: cout<<&pD: cout<<(void*)p正确答案:(单选题) 5: 当处理特定问题时的循环次数已知时,通常采用()来解决。
A: for循环B: while循环C: do循环D: switch语句正确答案:(单选题) 6: 在下面循环语句中循环体执行的次数为()。
for(int i=0; i<n; i++)if(i>n/2) break;A: n/2B: n/2+1C: n/2-1D: n-1正确答案:(单选题) 7: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 8: C语言正确的多行注释字符是A: //B: /*和*/C: /*D: /***正确答案:------------------------------------------------------------------------------------------------------------------------------ (单选题) 9: 字符串”a+b=12\n”的长度为()。
A: 6B: 7C: 8D: 9正确答案:(单选题) 10: 若用数组名作为函数调用的实参,传递给形参的是()。
A: 数组的首地址B: 数组中第一个元素的值C: 数组全部元素的值D: 数组元素的个数正确答案:(单选题) 11: 下列给字符数组赋初值时,正确的是( )。
A: chars1[]=”abcdef”B: chars2[4]=”abcd”C: chars3[2][3]={“abc”,”xyz”}D: chars4[4][]={‘a’,’x’,’s’,’t’}正确答案:(单选题) 12: 由C++源程序文件编译而成的目标文件的默认扩展名为( )。
A: cppB: exeC: objD: lik正确答案:(单选题) 13: 在下面存储类中,( ) 对象的可见性与生存期不一致。
A: 外部类B: 自动类C: 内部静态类D: 寄存器类正确答案:(单选题) 14: 下列()的调用方式是引用调用。
A: 形参和实参都是变量B: 形参是指针,实参是地址值C: 形参是引用,实参是变量D: 形参是变量,实参是地址值正确答案:(单选题) 15: 下列对引用的陈述中不正确的是()。
A: 每一个引用都是其所引用对象的别名,因此必须初始化B: 形式上针对引用的操作实际上作用于它所引用的对象C: 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D: 不需要单独为引用分配存储空间正确答案:(单选题) 16: 题面见图片------------------------------------------------------------------------------------------------------------------------------ A: AB: BC: CD: D正确答案:(单选题) 17: 存储以下数据,占用存储字节最多的是()。
A: 0B: ‘0’C: “0”D: 0.0正确答案:(单选题) 18: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 19: 题面见图片A: AB: BC: CD: D正确答案:(单选题) 20: 以下标识符中不全是保留字的是()。
A: caseforintB: defaultthenwhileC: boolclasslongD: gotoreturnchar正确答案:。