大学MOOC 程序设计基础(二)-刘红梅(湖北中医药大学)1450287177 最新慕课完整章节测试答案
第1周复杂信息的表达与处理
文章目录
第1周单元测试
1、单选题:
已知枚举类型定义语句为:enum Token{ NAME, NUMBER, PLUS=5, MINUS, PRINT=10 };则下列叙述中错误的是
选项:
A: 枚举常量NAME的值为1
B: 枚举常量MINUS的值为6
C: 枚举常量NUMBER的值为1
D: 枚举常量PRINT的值为10
答案: 【 枚举常量NAME的值为1】
2、单选题:
以下各组选项中,均能正确定义二维实型数组a的选项是
选项:
A: float a[3][4]; float a[][4]={{0},{0}}; float a[][4]={{0},{0},{0}};
B: float a[3][4]; float a[][4]; float a[3][]={{1},{0}};
C: float a(3,4); float a[3][4]; float a[][]={{0},{0}};
D: float a[3][4]; float a[3][]; float a[][4];
答案: 【 float a[3][4]; float a[][4]={{0},{0}}; float a[][4]={{0},{0},{0}}; 】
3、单选题:
以下选项中不能正确赋值的是
选项:
A: char s1[10];s1=”cbest”;
B: char s2[]={‘c’, ’b’, ’e’, ’s’, ’t’};
C: char s3[10] =”cbest”;
D: char s4[7] ={"cbestn"};
答案: 【 char s1[10];s1=”cbest”; 】
4、单选题:
已知char a[][20]={"beijing","shanghai","changsha"};语句cout<<a[3]; 得到的输出是:
选项:
A: 输出结果不确定
B: j
C: changsha
D: 数组定义有错
答案: 【 输出结果不确定】
5、单选题:
设有数组定义:char array[]="China";,则数组array所占的空间为
选项:
A: 6个字节
B: 4个字节
C: 5个字节
D: 7个字节
答案: 【 6个字节】
6、单选题:
设有以下说明语句struct STUDENT { int n;char ch[8];}PER;下列正确的是:
选项:
A: PER是结构体变量名
B: PER是结构体类型名
C: struct STUDENT是结构体类型
D: struct是结构体类型名
答案: 【 PER是结构体变量名】
7、单选题:
对于结构体变量,下列说法正确的是struct st1{int a, b; float x, y;}s1, s2;struct st2{int a, b; float x, y;}s3, s4;
选项:
A: 只有s1和s2、s3和s4之间可以相互赋值
B: s1、s2、s3、s4可以相互赋值
C: s1、s2、s3、s4之间均不可以相互赋值
D: 结构体变量不可以整体赋值
答案: 【 只有s1和s2、s3和s4之间可以相互赋值】
8、单选题:
以下对枚举类型名的定义中正确的是
选项:
A: enum a {one=9,two=-1,three};
B: enum a={“one”, “two”, “three”};
C: enum a {“one”, “two”, “three”};
D: enum a={one, two, three};
答案: 【 enum a {one=9,two=-1,three}; 】
9、单选题:
在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是
选项:
A: 6
B: 3
C: 2
D: 4
答案: 【 6】
10、单选题:
对二维数组的正确定义是
选项:
A: int a[][3]={1,2,3,4,5,6};
B: int a[2,3]={1,2,3,4,5,6};
C: int a[2][]={1,2,3,4,5,6};
D: int a[][]={1,2,3,4,5,6};
答案: 【 int a[][3]={1,2,3,4,5,6}; 】
随堂测验
1、判断题:
一个整数能直接赋值给枚举变量
选项:
A: 正确
B: 错误
答案: 【 错误】
第2周按址操作1——指针、变量和函数
7.1什么是指针随堂测验
1、单选题:
C++中的指针指的是( )。
选项:
A: 存储单元的地址
B: 存在存储单元中数据
C: 名字叫pointer的变量
D: 变量名的别称
答案: 【 存储单元的地址】
7.2指针和变量的关系随堂测验
1、单选题:
若有声明语句 int a, *p=&a; 则 *p=2015; 的意义是( )。
选项:
A: 给指针变量p赋值
B: 设置指针变量p的地址
C: 相当于p=p*2015;
D: 相当于a=2015;
答案: 【 相当于a=2015;】
2、单选题:
下列哪句是指针变量的声明?
选项:
A: char s;
B: char *p;
C: *p=&s;
D: *p='a';
答案: 【 char *p;】
7.3指针作为函数的参数随堂测验
1、单选题:
.当函数的形参是指向整型数的指针变量(如int *p)时,函数的实参应是( )。
选项:
A: 整型变量
B: 整型常量
C: 整型表达式
D: 整型变量的地址
答案: 【 整型变量的地址】
7.4返回指针的函数随堂测验
1、单选题:
一个函数,如果返回值是指针 ,那么这个指针应指向( )。
选项:
A: 主调函数中的变量
B: 函数中的变量
C: 函数中的指针
D: 函数的形参
答案: 【 主调函数中的变量】
7.5指向函数的指针随堂测验
1、单选题:
下列哪项声明的是指向函数的指针?
选项:
A: char *p;
B: char a,char &p=a;
C: char (*p)(char *,char *);
D: char *p[10];
答案: 【 char (*p)(char *,char *);】
第2周单元测试
1、单选题:
地址是指______。
选项:
A: 变量所在的内存单元编号
B: 变量的值
C: 变量的类型
D: 变量本身
答案: 【 变量所在的内存单元编号】
2、单选题:
引用______。
选项:
A: 是某内存区域的别名
B: 需要分配内存区域
C: 可以为空
D: 指向一块内存区域
答案: 【 是某内存区域的别名】
3、单选题:
指针______。
选项:
A: 的内容为指向内存的地址
B: 不能为空
C: 是一块内存区域的别名
D: 的内容不可变
答案: 【 的内容为指向内存的地址】
4、单选题:
指针做形参的函数不能做到的是____________
选项:
A: 将被调用函数内部的变量地址传递到调用函数。
B: 将被调用函数内部变量的值通过参数传递到调用函数。
C: 在被调用函数内部修改调用函数中变量的值。
D: 将调用函数中变量的值通过参数传递到被调用函数。
答案: 【 将被调用函数内部的变量地址传递到调用函数。】
5、单选题:
如果定义int a, *p=&a; 则表达式______为逻辑假值。
选项:
A: *p= =&a
B: p= =&*p
C: a= =*&a
D: p= =&a
答案: 【 *p= =&a】
6、单选题:
若有以下定义,则赋值正确的是______。int a, b, *p;float c, *q;
选项:
A: p=NULL;
B: p=&c;
C: q=p;
D: q=&a;
答案: 【 p=NULL;】
7、单选题:
如果x是整型变量,则合法的形式是______。
选项:
A: *&x
B: &(x+5)
C: *x
D: &*x
答案: 【 *&x】
8、判断题:
如果一个指针加1,实际上是加上了指针所指向的数据类型大小。
选项:
A: 正确
B: 错误
答案: 【 正确】
9、判断题:
可以交换两个数的函数定义为:void swap(int *p,int *q){ int *temp;*temp=*p;*p=*q;*q=*temp;}
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
指针可以通过赋给不同的常数值来指向内存空间的任意位置。
选项:
A: 正确
B: 错误
答案: 【 错误】
11、判断题:
指针不仅可以指向变量,还可以指向函数,通过合适类型的函数指针可以调用类型匹配的函数。
选项:
A: 正确
B: 错误
答案: 【 正确】
12、判断题:
指向整型数的指针可以强制类型转换为指向char类型的指针。
选项:
A: 正确
B: 错误
答案: 【 正确】
第3周按址操作2——指针与数组、字符串、结构体动态数组
8.1随堂测验
1、单选题:
设数组a的首地址是0x28fe74,则下列程序的执行结果是( )。int a[10]={10,20,30};int *p;p=a;p++;cout<<p<<endl;
选项:
A: 11
B: 20
C: 0x28fe75
D: 0x28fe78
答案: 【 0x28fe78】
8.2随堂测验
1、单选题:
int a[10]={1,2,3,4,5,6,7,8};int *p=a;和a[i]起的作用不同的表达式是()。
选项:
A: p[i]
B: p+i
C: *(p+i)
D: *(a+i)
答案: 【 p+i】
8.3随堂测验
1、单选题:
设有二维数组int a[3][4];和指针int *p=&a[0][0];下列哪项是与a[i][j]的作用相同的表示法
选项:
A: *(p+i+j)
B: *(p+i*4+j)
C: p[i][j]
D: *(a+i*3+j)
答案: 【 *(p+i*4+j)】
8.4随堂测验
1、单选题:
设有二维数组int A[3][4];下列哪项声明的指针可以赋值A。
选项:
A: int *p;
B: int (*p)();
C: int (*p)[4];
D: int *p[4];
答案: 【 int (*p)[4];】
2、多选题:
声明指向字符串首元素的指针char *p="warrant";下列哪个语句的执行是不正确的。(多选)
选项:
A: cout<<p;
B: cout<<p[2];
C: cin>>p;
D: cin>>[2];
答案: 【 cin>>p;;
cin>>[2];】
8.5随堂测验
1、单选题:
有下列声明语句 char s[6][10]={"China's", "first", "football", "textbooks", "for","schools"}; char *p[5],(*q)[10],*r;下列哪个赋值语句是不正确的?
选项:
A: p=s ;
B: q=s ;
C: r=&s[0][0] ;
D: p[0]=s[0];
答案: 【 p=s ;】
8.6随堂测验
1、多选题:
有下列表示按钮的结构体和声明语句struct BUTTON{int x,y;int width,height;char name[20];};struct BUTTON top[10],*p=top;下列哪个输入“按钮”名称的语句是正确的?(多选题)
选项:
A: cin>>p.name;
B: cin>>p->name;
C: cin>>p[0]->name;
D: cin>>p[0].name;
答案: 【 cin>>p->name;;
cin>>p[0].name;】
8.7随堂测验
1、单选题:
有声明语句 int *p,*q[10],(*r)[10]; int n=10;下列哪个申请大小为n的一维动态数组的语句是正确的?
选项:
A: p=new int(n);
B: p=new int[n];
C: q=new int[n];
D: r=new int[n][10];
答案: 【 p=new int[n];】
第3周单元测试
1、单选题:
两个指针______。
选项:
A: 可在一定条件下进行相等或不等的比较运算
B: 可在一定条件下相加
C: 任何时候都不能相减
D: 如果同时指向一个变量,则此后就不能再指向其他变量了
答案: 【 可在一定条件下进行相等或不等的比较运算】
2、单选题:
如果定义int x[10]={1,2,3}, *m=x; 则结果不能表示地址的表达式是______。
选项:
A: *m
B: m
C: x
D: &x[0]
答案: 【 *m】
3、单选题:
设p和q是指向同一个int类型数组不同元素的指针变量且q>p,k也为int类型的变量,则可以执行的语句是______。
选项:
A: k=*p*(*q)
B: k=*(p+q)
C: k=*(q-p)
D: p+q
答案: 【 k=*p*(*q)】
4、单选题:
如果定义int a[10], *p=a ; 则不与a[5]等价的是______。
选项:
A: p+5
B: *(a+5)
C: *(p+5)
D: p[5]
答案: 【 p+5】
5、单选题:
如果定义int aa[10]={1,2,3,4,5,6,7,8,9,10},*p=aa;则数值为6的表达式是______。
选项:
A: *p+=5
B: *p+6
C: *(p+6)
D: p+5
答案: 【 *p+=5】
6、单选题:
使用new向系统动态申请内存时,正确的是______
选项:
A: 有可能获得空指针
B: 总是能获得一个指向所需内存空间首地址的指针
C: 分配的内存空间不用时系统会自动收回
D: 分配的内存空间只能使用一个特定的指针访问
答案: 【 有可能获得空指针】
7、判断题:
语句int ** cc=new int* [10]; 动态申请了有10个元素的数组,数组中每个元素都是一个int *指针。
选项:
A: 正确
B: 错误
答案: 【 正确】
8、判断题:
应用中,C++中的字符指针在大多数情况下都指的是一个字符串(字符串数组首地址)。
选项:
A: 正确
B: 错误
答案: 【 正确】
9、判断题:
结构体指针变量所占的内存空间比整型指针变量的要大。
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
动态数组的优点在于存取性能比静态数组要高。
选项:
A: 正确
B: 错误
答案: 【 错误】
第4周数据的抽象与封装——类与对象1
9.1随堂测验
1、单选题:
一个实体与另一个实体的不同,就在于( )。
选项:
A: 某个特征不同
B: 某个功能不同
C: 特征或功能有所不同
D: 外形不同
答案: 【 特征或功能有所不同】
2、判断题:
类是对象的集合。
选项:
A: 正确
B: 错误
答案: 【 错误】
9.2随堂测验
1、单选题:
在一个类的定义格式中,( )。
选项:
A: 必须同时包含私有、公有、保护成员的定义
B: 只能将数据成员定义为私有,函数成员定义为公有
C: 数据成员不能定义为保护或公有成员
D: 在public、private、protected关键字后面紧跟一个冒号
答案: 【 在public、private、protected关键字后面紧跟一个冒号】
2、判断题:
在类的定义格式中,函数成员只能在类外定义。
选项:
A: 正确
