练习16
考试规则:点击你认为正确的选项
1.下面对对象概念描述正确的是( )。
A.对象间的通信靠消息传递
回答正确 √
试题解析
对象之间进行通信的构造叫做消息,A正确。
B.对象是名字和方法的封装体
回答错误 ✕
封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。
C.任何对象必须有继承性
回答错误 ✕
对象不一定必须有继承性,C错误。
D.对象的多态性是指一个对象有多个操作
回答错误 ✕
多态性是指同一个操作可以是不同对象的行为,D错误。
点击答题丨点击选项查看对错丨展开动画
2.下列语句组中,正确的是()。
A.char*s; s= "Olympic ;
回答正确 √
试题解析
字符型指针变量可以用A选项的赋值方法: char*s;s= "Olympic",选项C选项的写法: char*s, s={"0lympic'};是错误的。字符数组可以在定义的时候初始化: chars]= {"Olympic}; ?或者chars[ = "Olympic" ,都是正确的。但是不可以在定义字符数组后,对数组名赋值。(数组名是常量,代表数组首地址)所以选项B选项和选项D选项都是错误的。对于本例,选项B选项、D选项中字符数组s的大小至少为8,才能存放下字符串。(字符串的末尾都有结束标志"\0")。
B.char s[7]; s= "Olympic" ;
回答错误 ✕
C.char*s; s= {"0lympic"};
回答错误 ✕
D.char s[7]; s= {"0lympic"};
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画
3.下面选项中合法的字符常量是 ()。
A."X"
回答错误 ✕
B:’X’
回答正确 √
试题解析
字符常量是用单引号括起来的一个字符。A选项中,使用双引号,所以是错误的; C选项中,'abc'是字符串,字符常量只能是单个字符,不能是字符串; D选项中,以反斜线"\"开头的是转义字符。因此B选项正确。
C. 'abc'
回答错误 ✕
D.’\’
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画
4.有定义语句:
int i;
char s1[10], s2[10]= "Program";
则能正确给s1数
组赋字符串的语句是( )。
A.for(i=0; i<=7; i++) s1[i]=s2[i];
回答正确 √
试题解析
首先字符数组只有在初始化的时候整体赋值,否则只能对字符数组逐个赋值,所以选项B错误;另外字符数组名s1、s2是常量,不能改变,选项C错误;字符串"Program"包含结尾的"\0',选项D中在处理到s2[i]='\0'时,跳出循环,未将\0'赋给s1,所以选项D也是错误的;由于"Program"包含结尾的\0’总共有8个字符,所以选项A是正确的,答案为A。
B.s1=s2;
回答错误 ✕
C.while(s2) s1++ =s2++;
回答错误 ✕
D.for(i=0; s2[i]; it++ ) s1[]=s2[i];
回答错误 ✕
点击答题丨点击选项查看对错丨展开动画