面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版

嫂竟瀑蛙抹剿梁期椒入顿翔樊

第1章C++程序设计基础

1.6cin和cout基本操作随堂测验

1、单选题:
‎下列程序段的输出是()。‎‎short int i=65536;   cout<<i<<’n’; ‎

A: 65536
B: 0
C: -1
D: 有语法错,无输出结果。
答案:  0

2、单选题:
​下面的说法正确的是()。‎

A: cin对象设置的域宽只对与其相邻的下一个输入有效。
B: cin对象设置的域宽对所有输入有效。
C: 流插入符>>能够读取含空格的字符串。
D: 调用cin的getline函数不能读取含空格的字符串。
答案:  cin对象设置的域宽只对与其相邻的下一个输入有效。

3、填空题:
‏cin对象指定输入域宽的两种方法分别是                      。‎
答案:  用操作符setw ()和直接调用width()

1.7枚举类型的基本应用随堂测验

1、单选题:
​说明enum money {Fen, Jiao, Yuan=100, Tenyuan};中每个枚举变量所对应的实际值为()。‏

A: 0, 1, 100, 101
B: 1, 2, 100, 101
C: “Fen”, “Jiao”, “Yuan”或100, “Tenyuan”或101
D: “Fen”或1, “Jiao”或2, “Yuan”或100, “Tenyuan”或101
答案:  0, 1, 100, 101

第3章函数

3.5默认参数及内联函数随堂测验

1、单选题:
‎C++中关于带默认参数函数的叙述,正确的是( )。‌

A: 不允许设置函数的默认值。
B: 函数的默认值只能有一个。
C: 函数的默认值应该先设置右边然后再设置左边。
D: 函数的默认值应该先设置左边然后再设置右边。
答案:  函数的默认值应该先设置右边然后再设置左边。

3.6函数重载随堂测验

1、单选题:
‎以下有关函数重载的正确说法是()‌

A: 重载函数的函数名可以不同,但其实现的功能必须相同。
B: 完成不同功能的函数可以具有相同的函数名,而且其参数的个数和类型也必须相同。
C: 完成不同功能的函数可以具有相同的函数名,但必须具有不同的返回值类型。
D: 完成不同功能的函数可以具有相同的函数名,但必须具有不同的参数个数或不同的参数类型。
答案:  完成不同功能的函数可以具有相同的函数名,但必须具有不同的参数个数或不同的参数类型。

3.7函数模板随堂测验

1、填空题:
‌下列程序运行结果是                                。‎‌‎‌template<class  T>‎‌T  f(T *a, T *b, int n)‎‌{‎T  s=(T)0;‎ ‎for(int i=0;i<n;i++)‎        s+=a[i]*b[i];‎return s;‎‌}‎ ‎‌void main( )‎‌{‎double c [5]={1.1,2.2,3.3,4.4,5.5},d[5]={10.0,100.0,1000.0};‎ ‎cout<<f(c, d, 5)<<endl;‎‌}‎‌‎
答案:  3531

2、填空题:
​下列程序运行结果是                                。‎​‎​template<class T>‎​T fun ( T* a , T* b , int n) {‎​        T s= ( T)0;‎​ ‎​        for ( int i=0;i<n;i++)              s+=a[i]*b[i];‎​        return s;‎​}‎​void main (  ) {‎​      double c[5]={1.0 , 2.0 , 3.0 , 4.0 , 5.0 };‎​     double d[5]={10 , 100 , 1000 };‎​     cout<<fun ( c , d , 5)<<endl;‎​}‎​‎
答案:  3210

第5章指针

5.1指针的概念及指针变量的定义随堂测验

1、填空题:
‍运算符“&”有三种含义,分别是          、           和          。‍
答案:  按位与,引用,取地址

5.2指针与一维数组随堂测验

1、单选题:
‏有定义:char s1[20] = “hello”, s2[20] = “China”;                const char *ptr = s1;‏‌   则以下四种操作中,错误的是()。‏‏‌‏

A: strcpy(s2, ptr);
B: ptr = s2;
C: ptr = ptr+10;
D: *ptr = *s2;
答案:  *ptr = *s2;

2、单选题:
 如果以下程序第一行输出结果为0x65FDB0,则第二行输出是()。‎#include<iostream>‎using namespace std;‎void main( )‎{      int a[10]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p=a;‎        cout<<p<<endl;‎        cout<<p+9<<endl;‎‍}‎

A: 0x65FDC8
B: 0x65FDD4
C: 0x65FDB9
D: 0x65FDE6
答案:  0x65FDD4

3、单选题:
下列程序的运行结果是()。‎#include<iostream>‎using namespace std;‎void main( )‎{      int a[]={2, 4, 6, 8, 10}, y=1, x, *p=&a[1];‎        for( x=0; x<3; x++) y+=*(p+x);‎        cout<<y<<endl;‎}‎

A: 17
B: 18
C: 19
D: 20
答案:  19

4、填空题:
‏若有int a[10], *p, i=5; p=a+i; 则p的内容为       , *p的内容为        。‎
答案:  &a[5] a[5]

5、填空题:
如果从键盘输入字符串 “HOW DO YOU DO”,则下面程序的运行结果是                           。‌#include<iostream>‌using namespace std;‌void main( )‌{      char str1[]= “how do you do”, str2[10], *p1=str1, *p2=str2;‌        cin>>p2;‌        cout<<p2<< ‘ ‘<<p1<<endl;‌​}‌
答案:  HOW how do you do

5.3指针与二维数组随堂测验

1、单选题:
‌若有int (*p)[3];以下叙述中正确的是()。‎

A: p是一个指针数组
B: (*p)[3]与*p [3]等价
C: p是一个指针,它可以指向一个一维数组中任一个元素
D: p是一个指针,它只能指向一个包含3个int类型元素的一维数组
答案:  p是一个指针,它只能指向一个包含3个int类型元素的一维数组

2、单选题:
对以下程序,说法正确的是()。‏#include<iostream>‏using namespace std;‏void main( )‏{      int a[4][4]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, sum=0;‏        int (*p)[4]=a;                           //A‏        p=p+2;‏        for( int i=0; i<2; i++)‏                for(int j=0; j<2; j++)‏                         sum+=p[i][j];          //B‏        cout<<sum<<endl;‏‏}‏

A: 程序输出 14
B: 程序中A行有错
C: 程序输出 46
D: 程序中B行有错
答案:  程序输出 46

3、单选题:
 以下程序的输出结果是()。‍#include<iostream>‍using namespace std;‍int a[3][3]={ {2}, {4}, {6}};‍void main( )‍{      int i, *p=&a[0][0];‍        for(i=0; i<2; i++)‍        {      if(i==0)   a[i][i+1]=*p+1;‍                else          ++p; ‍                         cout<<*p;‍        }‍‎}‍

A: 23
B: 26
C: 33
D: 36
答案:  23

4、单选题:
以下程序的输出结果是()。‏#include<iostream>‏using namespace std;‏void main( )‏{      int a[3][4]={ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23}, (*p)[4]=a;‏int i, j, k=0;‏        for(i=0; i<3; i++)‏                for(j=0; j<2; j++)    ‏                        k=k+*(*(p+i)+j);    ‏                cout<<k<<endl;‏‎}‏

A: 60
B: 68
C: 99
D: 108
答案:  60

5、填空题:
‍以下程序的输出结果是           。‍#include<iostream>‍using namespace std;‍void main( )‍{      int a[ ][4]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};‍        cout<<**a<<‘t’;‍        cout<<*(a[1]+2)<<‘t'<<*(*(a+2)+2)<<‘n’;‍‍}‍
答案:  1 7 11

5.4指针与函数指针类型做函数参数随堂测验

1、单选题:
下列函数的功能是()。‎int fun1(char *x)‎{      char *y=x;‎        while(*y++);‎        return (y-x-1);‎‏}‎

A: 求字符串的长度
B: 比较两个字符串的大小
C: 将字符串复制到字符串y
D: 将字符串x直接接到字符串y的后面
答案:  求字符串的长度

2、单选题:
‌设有语句:void f(int a[10], int &x);     int y[10], *py=y, n; 则对函数f的正确调用语句是()。‌

A: f(py[10], n);
B:  f(py, n);
C: f(*py, &n);
D: f(py, &n);
答案:   f(py, n);

3、单选题:
以下程序输出是()。​#include<iostream>​using namespace std;​void prtv(int *x)​{      cout<<(++*x)<<endl;     }​void main( )​{      int a=25;​        prtv( &a);​​}​

A: 23
B: 24
C: 25
D: 26
答案:  26

4、单选题:
以下程序输出是()‎#include<iostream>‎using namespace std;‎#include<cstring >‎void fun(char *w, int m)‎{      char s, *p1, *p2;‎        p1=w; p2=w+m-1;‎        while( p1<p2 )‎        {      s=*p1++;       *p1=–(*p2);           p2–; *p2=s;     }‎}‎void main( )‎{      char a[ ]=”CDEFGHI”;‎        fun( a, strlen(a));‎        cout<<a<<endl;‎‌}‎

A: IHGFEDC
B: CHBBHCI
C: CHBBGBH
D: CHHFCHI
答案:  CHBBGBH

5、填空题:
以下程序的输出是             。‌#include<iostream>‌using namespace std;‌void swap(int *p1; int *p2)‌{      int *t;‌        t=p1; p1=p2; p2=t;‌}‌void main( )‌{      int a=3, b=5, *p1=&a, *p2=&b;‌        swap(p1, p2);‌        cout<<*p1<<*p2<<endl;‌​}‌
答案:  35

5.5指针与函数返回指针的函数及指向函数的指针随堂测验

1、单选题:
设有以下语句:‎int add(int a, int b);‎int fun(int (*p)(int, int), int &a, int &b);‎int x, y, (*f)(int, int)=add;‎‎  则对函数fun的正确调用形式是()。‎‎‎

A: fun(f, x, y)
B: fun(f, &x, &y)
C: fun((*f)(x, y), x, y)
D: fun(add, &x, &y)
答案:  fun(f, x, y)

2、填空题:
‏以下程序输出结果是                。‌‏‌#include<iostream>‌using namespace std;‌char * fun(char *str, char c)‌{      while(*str!=”)‌                if(*str==c)      return str;‌                else                  str++;‌        return NULL;‌}‌void main( )‌{      char s[ ]=”warrior”;‌        char *p;‌        p=fun(s, ‘r’);            if(p) cout<<p<<endl;‌        p=fun(s, ‘i’);             if(p) cout<<p<<endl;‌        p=fun(s, ‘b’);            if(p) cout<<p<<endl;‌‏}‌‏‌‏‌
答案:  rrior
ior

5.6指针数组与指向指针的指针随堂测验

1、单选题:
以下程序的输出结果是()。‍#include<iostream>‍using namespace std;‍void main( )‍{      int a[5]={2, 4, 6, 8, 10}, *p, **k;‍        p=a; k=&p;‍        cout<<(*(p++))<<‘t’;‍        cout<<(**k)<<endl;‍​}‍

A: 2      2
B: 2      4
C: 4      4
D: 4      6
答案:  2      4

2、填空题:
下面程序的运行结果是                         。‌        #include<iostream>‌using namespace std;‌void main( )‌{      char *p[]={ “BOOL”, “OPK”, “H”, “SP”};‌        int i;‌        for (i=3; i>=0; i–, i–)     cout<<*p[i];‌        cout<<endl;‌}‌
答案:  SO

3、填空题:
若下面程序所在的源文件名为abc.cpp,编译后,在DOS状态下执行命令行: abc file1 file2<CR>,则其运行结果是                         。‏#include<iostream>‏using namespace std;‏void main(int argc, char *argv[] )‏{      int i;‏        cout<<argc<<endl;‏        for (i=0; i<=argc-1; i++) cout<<argv[i]<<endl;‏        cout<<endl;‏‎}‏
答案:  3
abc
file1
file2

4、填空题:
假设有:char *argv[]={ “hello”, “nanjing”, “jiangsu”}; char **pargv=argv; 则请给出下列语句的输出结果:‌cout<<*(pargv+1); 结果为                。‌cout<<char(**pargv+1); 结果为                。‌cout<<*(*(pargv+1)); 结果为                。‌‍       cout<<*(*(pargv+2)+4); 结果为                。‌‍‌
答案:  nanjing
i
e
g

5.7内存的动态分配和释放随堂测验

1、单选题:
以下程序的输出结果是()。​#include<iostream>​using namespace std;​void fun(float *p1, float *p2, float *s)​{      s = new float;​        *s=*p1+*(p2++);​}​void main( )​{      float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;​        fun(a, b, s);​        cout<<(*s)<<endl;​‌}​

A: 11.1
B: 12.1
C: 21.1
D: 1.1
答案:  1.1

第6章结构体与链表

6.1结构体的定义随堂测验

1、填空题:
为了建立如图所示存储结果,data为数据区,next为指向结点的指针域,请填空:‍     data          next‍ ‍ ‍ ‍struct link‍{       char data;‍                     ;‍}node;‍​‍
答案:  struct link *next

6.2结构体的应用随堂测验

1、单选题:
‍以下程序的运行结果是()。‍‍         #include<iostream>‍using namespace std;‍void main( )‍{      struct cmplx { ‍int x; ‍int y;‍} cnum[2]={1, 3, 2, 7};‍        cout<<(cnum[0].y/ cnum[0].x* cnum[1].x)<<endl;‍}‍‍‍

A: 0
B: 1
C: 3
D: 6
答案:  6

6.3用typedef定义类型随堂测验

1、单选题:
‌下列说法中,不正确的是()。‍

A: typedef 只能用于为已知数据类型名定义新的类型名。
B: typedef 应用于软件移植。
C: typedef并没有增加新的数据类型。
D: typedef和define等价。
答案:  typedef和define等价。

6.4链表的建立随堂测验

1、填空题:
‍以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。单向链表的头指针作为函数值返回。请填空。​#include<iostream>​using namespace std;​struct list​{       char data;​       list *next;​};​list *creat( )​{        list *h,*p,*q;​         char ch;​         h=         (1)             ;​         p=q=h;​         cin>>ch;​         while (ch!=’?’)​         {      p=      (2)            ;​                  p->data=ch;​                 q->next=p;​                  q=p;​                  cin>>ch;​         }​         p->next=NULL;​               (3)         ;​}​‍​
答案:  (1) new list (2) new list (3) return (h)

6.6链表的插入及有序链表的建立随堂测验

1、单选题:

若已建立以下链表结构,指针



上方为免费预览版答案,如需购买完整答案,请点击下方红字:



点击这里,购买完整版答案


为了方便下次阅读,建议在浏览器添加书签收藏本网页

添加书签方法:

1.电脑按键盘的Ctrl键+D键即可收藏本网页

2.手机浏览器可以添加书签收藏本网页

点击浏览器底部菜单-【添加书签】-收藏本网页

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第1张

点击浏览器底部菜单-【书签/历史】-可查看本网页

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第2张


获取更多慕课答案,欢迎在浏览器访问我们的网站:



http://mooc.mengmianren.com

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第3张

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第4张

注:请切换至英文输入法输入域名,如果没有成功进入网站,请输入完整域名:http://mooc.mengmianren.com/


我们的公众号

打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP

本公众号可查看各种网课答案,还可免费查看大学教材答案

点击这里,可查看公众号功能介绍

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第5张




APP下载



点击这里下载萌面人APP,使用更方便!




APP功能说明

1.可查看各种网课答案

点击【萌面人官网】,可查看知到智慧树,超星尔雅学习通,学堂在线等网课答案

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第6张

点击【中国大学慕课答案】,可查看mooc慕课答案

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第7张

2.可一键领取淘宝/天猫/京东/拼多多无门槛优惠券

如图所示,点击对应图标即可领取淘宝/天猫/京东/拼多多无门槛优惠券

面向对象程序设计(深圳大学)1453098202 中国大学MOOC答案100分完整版第8张


惦貉绷嚼侩锣另撇搐肆亥邻弯