文档详情

C语言数组试题.doc

发布:2017-01-04约3.17万字共36页下载文档
文本预览下载声明
第4章 数组 4.1内容概述 本章主要介绍了数值数组和字符数组的定义、初始化、元素引用和数组数据的输入与输出,字符数组实现字符串、字符串函数的实现与调用。指针数组与数组指针定义、元素引用。利用一维数组实现如挑数、排序、求和等实际应用问题。利用二维数组实现矩阵的应用问题。利用字符数组实现字符串的各种操作。本章知识结构如图4.1所示。 图4.1 第4章知识结构图 考核要求:掌握一维数组、二维数组、字符数组和指针数组的定义和初始化;掌握数组元素存储地址计算;掌握数组元素的下标法、指针法引用;掌握字符数组与字符串的区别与联系;掌握有关字符串处理函数的使用方法;能利用一维数组、二维数组解决向量、矩阵等实际应用问题。 重点难点:本章的重点是一维数组、二维数组和字符数组的定义、初始化、元素引用,字符串处理函数的使用。本章的难点是字符串与字符数组的区别,指针数组和数组元素的指针法引用。 核心考点:数组的定义、初始化和数组元素的引用方法,一维数组、二维数组和字符数组的实际应用,字符串的处理方法。 4.2 典型题解析 【例4.1】以下对一维数组a的定义中正确的是( )。 A. char a(10);       B. int a[0..100]; C. int a[5]; D. int k=10;int a[k]; 解析:一维数组定义的一般形式为: 类型标识符 数组名[常量表达式] 其中,常量表达式可以是任意类型,一般为算术表达式,其值表示数组元素的个数,即数组长度。 答案:C 【例4.2】以下对一维数组的定义中不正确的是( )。 A. double x[5]={2.0,4.0,6.0,8.0,10.0}; B. int y[5]={0,1,3,5,7,9}; C. char ch1[ ]={1, 2, 3, 4, 5}; D. char ch2[ ]={\x10, \xa, \x8}; 解析:可以对一维数组的全部元素或部分元素赋初值。在对全部数组元素初始化时,数组长度可以省略。若数组长度没有省略,则初始化列表中值的个数不能超过数组的长度。 答案:B 【例4.3】以下对二维数组的定义中正确的是( )。 A.int a[4][]={1,2,3,4,5,6}; B. int a[][3]; C.int a[][3]= {1,2,3,4,5,6}; D. int a[][]={{1,2,3},{4,5,6}}; 解析:定义二维数组时,若按一维格式初始化,则第一维的长度可以省略,此时,系统可根据初始化列表中值的个数及第二维的长度计算出省略的第一维长度,但无论如何,第二维的长度不能省略。没有初始化时,每一维的长度都不能省略。 答案:C 【例4.4】假定一个int型变量占用两个字节,若有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是( )。 A. 3 B. 6 C. 10 D. 20 解析:一维数组在内存中所占的字节数为:数组长度×sizeof(元素类型)。 答案:D 【例4.5】以下程序的输出结果是( )。 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf(%d%d%d%d\n,a[0][3],a[1][2],a[2][1],a[3][0]); } A. 0650 B. 1470 C. 5430 D. 输出值不定 解析:定义的数组a为4行4列,且前三行三列元素已初始化,根据C语法规定,未初始化的元素值为0。 答案:A 【例4.6】以下程序的输出结果是( )。 main() { int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2; for(i=0;i3;i++){ printf(%d ,m[k][i]);} } A. 4 5 6 B. 2 5 8 C. 3 6 9 D. 7 8 9 解析:根据初始化列表中值的个数和第二维的长度,可求得第一维长度为3。第一行的元素值依次为1,4,7;第二行元素值依次为2,5,8;第三行元素值依次为3,6,9。循环执行三次,依次输出行标为2的三个元素,即第三行的3个元素。 答案:C 【例4.7】以下程序的输出结果是( )。 main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0; for(i=0;i3;i++) for
显示全部
相似文档