参考答案 - 作业第 4 章(1)数组、字符数组
参考答案────数组、字符数组
【学习要点】
1.掌握一维数组的逻辑结构和物理结构。 2.掌握一维数组的定义、初始化及其使用。
3.掌握函数参数为数组时,函数参数的正确传递。
4.掌握数组应用的常用算法━━选择排序、冒泡排序、顺序查、折半查 5.掌握二维数组的逻辑结构和物理结构。 6.掌握二维数组的定义、初始化及其使用。
7.掌握字符数组的特点、定义、初始化及其使用,掌握字符数组的整体输入/输出。8.掌握字符串处理的基本函数。
------------------------------------------------------------------------------------------------------------------------------------------------- 【例题分析】
1.关于数组,下面描述中正确的是______。
A.与普通变量没什么区别
B.其元素的数据类型可相同,也可不同 C.可用数组名标识其元素
D.数组元素的数据类型是相同的【答案】D
【解析】数组是一组具有线性关系且类型相同变量的集合体,用一个统一的数组名来命名,组成数组的变量称为数组元素,用数组名、方括号和下标来共同标识数组中的一个元素,下标代表该元素在数组中的位置(从0开始),数组元素也称为下标变量。
2.下面合法的数组定义是______。
A.int  a[ ]  =  {  'A', 'B', 'C'  } ;
B.int  a[ 5 ]  =  {  0, 1, 2, 3, 4, 5  } ; C.int  a  =  {  'A', 'B',
'C'  } ;
D.int  a[ ]  =  {  0, 1, 2, 3, 4, 5  } ; 【答案】D
【解析】根据数组定义和初始化情况,数组类型与所赋初始数据的类型应一致。指定的数组长度应大
于或等于花括号中的初始数据个数。定义数组时,可以不直接指定数组的
长度,编译器会根据初值表中数据的个数来自动确定数组元素的个数。3.若有定义 int a[ 2 ][ 4 ],则下面描述中不正确的是______。
A.数组a可以看成是由a[ 0 ]、a[ 1 ]两个元素组成的一维数组 B.a[ 0 ]代表一个地址常量
C.元素a[ 0 ]是由4个整型元素组成的一维数组 D.可用a[ 0 ]=5的形式给数组元素赋值【答案】D
【解析】C++对二维数组的处理是将其看作一个特殊的一维数组,即这个数组中每个元素又是一个一维数组。所以二维数组a可认为是由两个元素a[ 0 ]、a[ 1 ]组成的一维数组,而数组元素a[ 0 ]和a[ 1 ]又是由4个int型元素组成的一维数组。C++规定了数组名代表地址常量,但数组名的值是不可改变的,故赋值语句 a[ 0 ]=5 是非法的。
4.若有定义 int a[ 3 ][ 4 ],则对数组a 的元素非法引用是______。
A.a[ 0 ][ 2*1 ] B.a[ 0 ][ 4 ] C.a[ 4-2 ][ 0 ] D.a[ 1 ][ 3 ] 【答案】B
【解析】引用二维数组元素的格式为:数组名[ 下标表达式1 ][ 下标表达式2 ],而下标表达式可以是常量、变量,但其值必须是确定的整数且在该数组的定义范围之内,在程序执行过程中,C++对下标表达式的取值范围不作合法性检查,非法引用可能产生不可预知的运行时错误。
5.下面程序的运行结果是______。
#include
void main() {  char s[ 10 ] ;  s=\ cout<
B.不确定的值 C.数组s的首地址 D.编译出错【答案】D
【解析】字符数组的赋值,不能通过赋值语句实现,可通过初始化或strcpy()函数来实现,即:可在程序前面加上 #include ,并将 s=\改为strcpy( s , “abcd” ); 后程序的运行结果是abcd。 6.若有定义 char s1[ 10 ], s2[ 10 ],能判断字符串s1是否大于字符串s2的是______。
数组全部赋值为1A.if (  s1>s2  )
B.if (  strcmp( s1, s2 )  ) C.if (  strcmp( s1, s2 ) > 0  ) D.if
(  (s1-s2)> 0  ) 【答案】C
【解析】两个字符串比较必须使用字符串比较函数 strcmp( 字符串1,字符串2 ),比较的结果:相等时返回0;大于时返回正整数;小于时返回负整数。
7.若int a[3][4]={{1,2},{0},{4,6,8,10}}; 则a[1][2]、a[2][1]得到的初值分别是______。【答案】0、6
【解析】在定义数组时,可对所有元素赋初值,也可只对前面部分的元素赋初值,而后面部分未给初值的元素,系统自动赋初值为0。二维数组中元素排列的顺序是以行为单位进行存放,按初值表中的{ }作为行元素进行赋初值。
感谢您的阅读,祝您生活愉快。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。