2020 C++语言程序设计(汉口学院) 最新满分章节测试答案
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-02-18到2020-06-14
本篇答案更新状态:已完结
第五章 指针 第五章 指针 单元测验
1、 问题:在基本数据类型相同的两个指针变量之间,不能进行的运算是( )。
选项:
A:<
B:=
C:+
D:-
答案: 【+】
2、 问题:以下程序段的运行结果是( )。 char x[5]={‘a’, ‘b’, ‘\0’, ‘c’, ‘\0′}; cout<<x;
选项:
A:’a”b’
B:ab
C:ab c
D:abc
答案: 【ab】
3、 问题:在一维数组中,数组名表示( )。
选项:
A:数组第1个元素的地址
B:数组第2个元素的地址
C:数组所有元素的地址
D:数组最后1个元素的地址
答案: 【数组第1个元素的地址】
4、 问题:若有定义:int *p[3];,则以下表述中正确的是( )。
选项:
A:p是一个指向有3个元素的整型数组的指针
B:p是一个指向int型变量的指针
C:p是一个有3个元素的指针数组,每个元素是一个int型指针
D:p是一个数组,该数组的元素是指针p所指向的变量
答案: 【p是一个有3个元素的指针数组,每个元素是一个int型指针】
5、 问题:若有定义:int k=1,a[10]={10,20,30,40}; int p1=a,p2=&a[2];则下列不能正确执行的语句是( )。
选项:
A: k=p1+p2;
B: p2=k;
C:p1=p2;
D:k=p2-p1;
答案: 【 p2=k;】
6、 问题:设已有定义: char st="how are you"; 下列程序段中正确的是( )。
选项:
A:char a[11]; strcpy(++a, st);
B:char a[11], p; strcpy(p=a+1, &st[4]);
C: char a[11]; strcpy(a, st);
D:char a[ ], p; strcpy(p=&a[1], st+2);
答案: 【char a[11], p; strcpy(p=a+1, &st[4]);】
7、 问题:若有定义:int c[5], *p=c;,则以下正确的表达式是( )。
选项:
A:p+5
B:c++
C:&c+1
D:&c[0]
答案: 【&c[0]】
8、 问题:以下关于new和delete运算符的叙述中,错误的说法是( )。
选项:
A:由new运算符分配的内存空间,当程序执行结束时系统会自动收回
B:由new分配的内存空间是连续的
C: 如果当前内存无足够的空间可分配,则new运算符返回NULL
D:对于程序中的静态数组占用的存储空间不能用delete来释放
答案: 【由new运算符分配的内存空间,当程序执行结束时系统会自动收回】
9、 问题:以下字符串赋值的表达式中,不能正确赋值的是( )。
选项:
A:char s[ ] = "china";
B:char s[10]; s = "china";
C:char *s = "china" ;
D:char s[10] = {‘c’,’h’,’i’,’n’,’a’,’\0′};
答案: 【char s[10]; s = "china";】
10、 问题:能进行++和–运算的数据类型是( )。
选项:
A:指针
B: int
C: long
D:其它三项均可
答案: 【其它三项均可】
11、 问题:以下正确的程序段是( )。
选项:
A:char str1[]="12345",str2[]="abcdef";strcpy(str1,str2);
B:char str[10], st="abcde"; strcat(str,st);
C:char st1="12345", st2="abcde""; strcat(st1,st2);
D:char str[10]="", st="abcde";strcat(str,st);
答案: 【char str[10]="", *st="abcde";strcat(str,st);】
12、 问题:下面判断正确的是( )。
选项:
A:char a="china"; 等价于char a; a="china";
B: char str[10]={"china"}; 等价于char str[10]; str[ ]={"china"};
C:char s="china"; 等价于char s; s="china";
D:char c[4]="abc",d[4]="abc"; 等价于char c[4]=d[4]="abc";
答案: 【char s="china"; 等价于char *s; s="china";】
13、 问题:以下程序段的运行结果是( )。 char b[ ]="Basic",*p; for(p=b; p<b+5; p++) cout<<p<<‘ , ‘;
选项:
A:Basic, asic, sic, ic, c,
B:B, a, s, i, c,
C:c, ic, sic, asic, Basic
D:Basic,
答案: 【Basic, asic, sic, ic, c,】
14、 问题:以下程序段的输出结果为( )。 char a[ ]="language",ptr=a; while(ptr) { cout<<(char)(*ptr-32); ptr++; }
选项:
A:LANGUAGE
B:陷入死循环
C:语法有错
D: language
答案: 【LANGUAGE】
15、 问题:执行以下程序段后,y的值是( )。 int a[ ]={1,3,5,7,9}; int x=0,y=1, ptr; ptr=&a[1]; while(!x) { y+=(ptr+x); x++; }
选项:
A:1
B:2
C:4
D:24
答案: 【4】
16、 问题:以下语句不正确的是( )。
选项:
A: char a[6]="test";
B:char a[6],p=a;p="test"
C:char a;a="test";
D:char a[6],p;p=a="test";
答案: 【char a[6],p;p=a="test";】
17、 问题:以下程序段的输出结果为( )。 int a, m=2, k=1, p=&k; a=p==m; cout<<a;
选项:
A:-1
B:0
C:1
D:2
答案: 【0】
18、 问题:指针必须先赋值后使用。
选项:
A:正确
B:错误
答案: 【正确】
19、 问题:当指针p指向一维数组a的首址后,由于p[i]和a[i]都能引用数组元素,所以这里p和a是等价的。
选项:
A:正确
B:错误
答案: 【错误】
20、 问题:int *p表示定义了一个指向int类型数据的指针变量p。
选项:
A:正确
B:错误
答案: 【正确】
21、 问题:若有定义int a[4], *p=a, 则p++后p指向数组a所占内存的第2个字节。
选项:
A:正确
B:错误
答案: 【错误】
22、 问题:相同类型的指针可以进行加减运算。
选项:
A:正确
B:错误
答案: 【错误】
23、 问题:取地址运算&和取值运算*互为逆运算。
选项:
A:正确
B:错误
答案: 【正确】
24、 问题:指针变量和许多变量一样可以进行四则运算。
选项:
A:正确
B:错误
答案: 【错误】
25、 问题:指针p指向数组元素a[2],若要其指向a[4],执行p=p*2即可。
选项:
A:正确
B:错误
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦