第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: 正确

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注