2020 2020年春 面向对象编程(王平)(同济大学) 最新满分章节测试答案
- 【作业】1 从C到C++(C++的新特性)–之一 第一周作业
- 1 从C到C++(C++的新特性)–之一 第一周单元测验
- 【作业】1 从C到C++(C++的新特性)–之二 第二周作业
- 1 从C到C++(C++的新特性)–之二 第二周单元测验
- 【作业】1 从C到C++(C++的新特性)–之三 第三周作业
- 1 从C到C++(C++的新特性)–之三 第三周单元测验
- 【作业】2 类与对象–之一 第四周作业
- 2 类与对象–之一 第四周单元测试
- 【作业】2 类与对象–之二 第五周作业
- 2 类与对象–之二 第五周单元测试
- 2 类与对象–之三 第六周单元测验
- 【作业】2 类与对象–之三 第六周作业
- 3 友元与运算符的重载 第七周单元测验
- 【作业】3 友元与运算符的重载 第七周作业
- 4 类的继承与派生 第八周单元测验
- 【作业】4 类的继承与派生 第八周作业
- 5 多态性 第九周单元测验
- 【作业】5 多态性 第九周作业
- 6 类模板与STL 第十周单元测验
- 【作业】6 类模板与STL 第十周作业
- 7 I-O流库 第十一周单元测验
- 【作业】7 I-O流库 第十一周作业
- 8 异常及其应用 第十二周单元测试
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-03-04到2020-06-25
本篇答案更新状态:已完结
【作业】1 从C到C++(C++的新特性)–之一 第一周作业
1、 问题:编写函数fun(double x, int n)用以下公式近似计算cos(x)的值:(程序效率高的得分高)
评分规则: 【 函数定义:10总体思想:10分循环:10分程序清晰,结构缩进正确:10避免多次求x幂:10double cos(double x,int n){ int i=0; double term=1,sum=0; while(i<=2n) { sum+=term; i+=2; term=-termxx/(i(i-1)); } return sum;}
】
2、 问题:考虑如下应用场景:输入两个员工的工资,输出工资较多的员工所领取的工资是多少。简化该场景,先输入两个员工的工资,然后对两个员工的工资进行比较,输出工资较多的员工信息。按照上述题目可以设计C语言程序如下:#include <stdio.h>int main( ){ int salary_A, salary_B; printf("请输入员工A和员工B的工资:"); scanf("%d%d",&salary_A,&salary_B); if(salary_A>=salary_B) //比较salary_A和salary_B大小 printf("员工A的工资较多,工资是:%d",salary_A); else printf("员工B的工资较多,工资是:%d",salary_B); return 0;}请试着把该C语言程序改写为C++ 语言程序,并在开发环境调试,运行。
评分规则: 【 一个scanf 对照改为 cin:10分三个printf 对照改为 cout:每个10分总体缩进,格式,函数定义等等:10分
】
1 从C到C++(C++的新特性)–之一 第一周单元测验
1、 问题:关于C/C++的主要应用,叙述正确的错误的是( )
选项:
A:C/C++被广泛应用于开发移动应用APP。
B:C/C++被广泛应用于系统级软件的开发。
C:在其嵌入式应用领域,C/C++具有绝对的应用优势。
D:C++语言保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。
答案: 【C/C++被广泛应用于开发移动应用APP。】
2、 问题:关于面向对象技术的主要特征,叙述正确的是( ) :
选项:
A:类:是一组具有相同特性的对象的抽象描述 。
B:封装:一种信息隐藏技术,提高模块的独立性。
C:继承:体现了类与类之间的层次关系,提高软件重用性。
D:多态性:C++中体现为重载和动态连编。
E:以上都对。
答案: 【以上都对。】
3、 问题:设以下变量均为int类型,则值不等于7的表达式是( )
选项:
A:(x=y=6,x+y,x+1)
B:(x=y=6,x+y,y+1)
C: (x=6,x+1,y=6,x+y)
D:(y=6,y+1,x=y,x+1)
答案: 【 (x=6,x+1,y=6,x+y)】
4、 问题: 下列语句的输出结果( )cout<<strlen(″result\t\″EN\0″);
选项:
A:10
B:9
C:11
D:输出项不合法,无正常输出
答案: 【11】
5、 问题:关于cin, cout, cerr, clog的叙述,错误的是( )
选项:
A:cerr与clog都是属于输出流
B:cout经过缓冲后输出,默认情况下是显示器。
C:cerr经过缓冲而直接输出,是标准错误输出流。
D:clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出。
答案: 【cerr经过缓冲而直接输出,是标准错误输出流。】
6、 问题:int a, b, c;string s;cin >> s >> b >> c;对于如上语句,若输入流为“abcdefg1234 123 234jk”则s,b,c的值分别为( )
选项:
A: “abcdefg1234”,123,234。
B:“abcdefg”,1234,123
C:“abcdefg1234”,123,0
D:“abcdefg1234 123 234jk”,0,0
答案: 【 “abcdefg1234”,123,234。】
7、 问题:若要输出一个浮点数 a,且保持浮点数精度为2位,右对齐,那么下列语句能够实现该要求的是( )
选项:
A:cout<<setprecision(2)<<right<<fixed<<a;
B:cout<<a<<setprecision(2)<<right<<fixed;
C:cout<<a;
D:cout<<setw(2)<<right<<a;
答案: 【cout<<setprecision(2)<<right<<fixed<<a; 】
8、 问题:要从标准输入中输入三个数,分别为整数"12"、浮点数"3.14"和字符串"str",用如下语句完成,那么对应的输入错误的是( )cin>>var_int>>var_float>>var_string;
选项:
A:123.14str
B:12 3.14 str
C: 12 3.14str
D:123.14str
答案: 【123.14str】
9、 问题:一下属于C++程序集成开发环境的是()
选项:
A:DEV C++
B:Visual C++
C:Visual Studio 2008
D:PhotoShop
E:GCC
答案: 【DEV C++;
Visual C++;
Visual Studio 2008】
10、 问题:有关C++集成开发环境,叙述正确的是()
选项:
A:VS 2015的项目组织方式是 Solution–Project–Program。
B:VS 2015可以让程序执行到某一位置,从而观察上下相关的变量值。
C:在程序调试时,设置断点的目的是为了让程序执行到这里结束退出。
D:在程序调试时,可以随时修改程序代码,并快速反映修改运行结果
答案: 【VS 2015的项目组织方式是 Solution–Project–Program。;
VS 2015可以让程序执行到某一位置,从而观察上下相关的变量值。】
11、 问题:已知如下声明:int a[]={1,2,3,4,5}。求表达式 a-&a[3]的值为____。
答案: 【-3】
12、 问题:已知如下声明:int a[]={1,2,3,4,5}。求表达式 *(a+4)的值____。
答案: 【5】
13、 问题:输入c2470f ?<回车>后,下列程序的输出结果是__。 # include "stdio.h" int main( ) { char ch; long number=0; while((ch=getchar())<‘0’||ch>’6′) ; while(ch!=’?’&&ch>=’0’&&ch<=’6′){ number=number*7+ch﹣’0′; printf("%ld#",number); ch=getchar(); } return 0; }
答案: 【2#18#】
14、 问题:以下程序段行结果是___。void f(int i){ int a=8; a=i++; printf("%d,",a);}void main(){ int a=5,c=3; f(c++); a=–c; printf("%d",a);}
答案: 【3,3】
15、 问题:设有如下变量定义:int a=11,b=4,c=5;下列C语言表达式的值分别是:(1) a*=(b=3)+2
答案: 【55】
【作业】1 从C到C++(C++的新特性)–之二 第二周作业
1、 问题:const 符号常量;(1)const char p(2)char const p(3)char * const p说明上面三种描述的区别;
评分规则: 【 如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。(1) p指向位置的值不能改变(2)p指向位置的值不能改变,和(1)同(3)p指针不能改变,也就是p不能指向其他变量三个,每个10分
】
2、 问题:有如下三个函数:void setStr1(char s1){ strcpy(s1,"new str \0");}void setStr2(char &s2){ strcpy(s2,"new str \0");}void setStr3(char s3){ strcpy(s3,"new str \0");}分别由如下的一些函数调用:A应用char s[10];setStr1(s);B应用char s[10];setStr2(s);C应用char s[10];setStr3(s);分别对这三个函数调用展开分析。
评分规则: 【 A应用可实现对s变量的修改
B应用可实现对变量s 的修改与A的区别在于一种是传指针,一种是指针引用。
C应用不能实现s的修改,调用是错误的因为函数中的s是个char
】
3、 问题:利用引用,实现一个swap函数,实现两个整数值的互换。其可以进行如下应用:int a=10, b=20;swap(a,b)执行完后,a的值为20,b的值为10。实现该函数
评分规则: 【 void swap(int &a, int &b){ int t=a; a=b; b=t;}整体风格,缩进,10分函数头定义,引用,10分交换操作实现,10分返回值可不为空。
】
1 从C到C++(C++的新特性)–之二 第二周单元测验
1、 问题:以下有关常量的几个应用,正确的是( )
选项:
A:const int u=9; u=10; //定义了一个常量u
B:int a=10; int b=8; int const v=&a; v=&b//定义了一个常量指针u
C:int a=10; int const v=&a; v=10//定义了一个常量指针u
D: int f(const int x){ return ++x;}
答案: 【int a=10; int const v=&a; v=10//定义了一个常量指针u】
2、 问题: 请问如下程序输出是什么( ):#include <iostream>using namespace std;int main(){ int i = 0; int &r = i; // r是变量i的引用型变量 cout << ++ i << " " << r++ << ”;}
选项:
A:0 2
B:1 2
C:2 0
D:1 1
答案: 【2 0】
3、 问题:有如下函数定义void fun(int &);则如下调用中,正确的是( )
选项:
A: int a=100; fun(&a);
B:fun(256);
C:int a=100; fun(a);
D:int a=100; fun(3*a);
答案: 【int a=100; fun(a);】
4、 问题:已知int m=10;正确表示m的引用的是( )。
选项:
A:int &Z;
B:int &t=10;
C:int &X=m;
D:float &f=&m;
答案: 【int &X=m;】
5、 问题:以下不能对二维数组a 进行初始化的是__。
选项:
A:int a[2][3]={0}
B:int a[ ][3] ={{1,2},{0}}
C:int a[2][3]={{1,2},{2,3},{3,4}}
D: int a[ ][3]={ 1,2,3,4,5}
答案: 【int a[2][3]={{1,2},{2,3},{3,4}}】
6、 问题:已知:char a; int b; float c; double d; 执行语句 c=a+b+c+d;后,变量 c 的数据类型是_。
选项:
A: int
B:char
C:float
D:double
答案: 【float】
7、 问题: int N = 10; const int &M;M = 100; N = 100;有上述const的应用代码段,请指出有关该代码叙述的正确选项。
选项:
A: M必须初始化,没有初始化是错误的
B:M=100;是正确的,可以通过引用M修改N的值。
C:N=10;是允许的。
D: N=10;是不允许的。
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦