C语言复习题及答案-第七章-数组

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言复习题及答案-第七章-数组

第七章数组 (8学时)

学习目的与要求:

1 、重点掌握一维数组的定义和引用;

2 、基本掌握二维数组的定义和引用;

3 、重点掌握字符型数组的定义与引用;

4 、能正确使用字符串处理函数;

5 、学会使用数组解决实际问题。

重点:

1 、一维数组的定义与引用;

2 、二维数组的定义与引用;

3 、字符数组的定义与引用;

第1讲

知识归纳:

1、一维数组的定义:类型说明符数组名[ 常量表达式] ;

(1) (1)数组名后必须用方括弧[ ] ,用其他括

弧均错误;

(2) 方括弧中的常量表达式表示数组的元素个数;

(3) 方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量;

2、一维数组的引用:

数组名[ 下标] //下标从0开始,可以是整型常量或整型表达式;

(1) 注意:数组元素引用时,不要超出数组范围;

如int a[10] ;

二、填空题

1、构成数组的各个元素必须具有相同的类型。C语言中数组的下标必须是整正数、0或整型表达式。如果一维数组的长度为n ,则数组下标的最小值为0,最大值为n-1。

2、在C语言中,一维数组的定义方式为:类型说说明符数组名[常量表达式]。

3、已知数组b定义为int b[ ]={9,6,3};,则b的各元素的值分别是,

最小下标是,最大下标的。9,6,3 0 ,2 4、在C语言中数组名是一个常量,不能对其进行加、减及赋值操作。

5、已知数组T为一有10个单元的整型数组,正序输出T中的10个元素的值的语句为:

for (j=0;j<10;j++) printf(“%d”,T[j]);

下面的语句试图按相反的顺序显示输出T中的10个元素的相反数;请补充完整下面的语句:for(j=9;j>=0;j- -)printf(“%d”,T[j]);

三、综合题

1、下面程序(每行程序前面的数字表示行号),请指出存在错误的行号(3)

1 main()

2 {

3 int a[3]={3*0};

4 int i;

5 for(i=0;i<3;i++) scanf("%d",&a[i]);

6 for(i=1;i<3;i++) a[0]=a[0]+a[i];

7 7printf("%d\n",a[0]);

8 }

2、下面程序(每行程序前面的数字表示行号),请指出存在错误的行号(5)

1 1main()

2 2{

3 3int a[3];

4 4int i;

5 5scanf(“%d”,&a);

6 6for(i=0;i<3;i++) a[0]=a[0]+a[i];

7 7printf(“a[0]=%d”,a[0]);

8 8}

3、下面程序(每行程序前面的数字表示行号),请指出存在错误的行号(7)

1 1main()

2 2{

3 3int a[3];

4 4int i;

5 5for (i=0;i<3;i++) scanf(“%d”,&a[i]);

6 6for(i=1;i<3;i++) a[0]=a[0]+a[i]);

7 7printf(“%d\n”,a);

8 8}

第2讲

知识归纳:

1、二维数组的定义:

类型说明符数组名[ 常量表达式 1 ][常量表达式2] ;

(1)常量表达式1------可以形象理解为行数;

常量表达式2-----可以形象理解

为列数;

(2) 二维数组中元素存放顺序是:先存放第一行的元素,再存放第二行的元素,依次类推;

2、二维数组的引用:

数组名[ 下标] [ 下标]

//下标从0开始,可以是整型常量或整型表达式;

(1) 注意:数组元素引用时,不要超出数组范围;

如int a[3 ] [4] ;

//可以引用的数组元素为a[0][0]……a[2][3] , a[3][4]不是本数组元素;(2) 可以在循环控制下,给二维数组各元素赋值;

如:int a[3] [4];

for ( i=0 ; i <3 ;i ++ )

for ( j=0 ; j<4;j++)

a [ i ] = i * j;

3、二维数组的初始化:

(1)可以在定义数组后,立刻赋值;如int a [3][4] = { 1,3, 5,7,9,11} ;

但下面这样是错误的:

int a[3][4] ;

a = { 1,3, 5,7,9,11} ;

(2) (2)可以给数组的部分元素赋值,不赋值

的元素,默认值为int 0, char, ‘’, float

0.0 ;

(3) 在对数组全部元素赋初值时,可以省略行

数,但不能省略列数;

基础练习(A)

一、选择题

1、在C语言中,二维数组元素在内存中的存放顺序是()。

A)按行存放B)按列存放

C)由用户自己定义D)由编译器决定

2、以下对二维数组a的正确说明是()。A)int a[3][] B) float a(3,4) C) double a[1][4]

D) float a(3)(4)

3、已知:int a[3][4];则对数组元素引用正确的是()。

A)a[2][4] B)a[1,3] C) a[2][0] D) a(2)(1)

4、已知:int a[3][4]={0};则下面正确的叙述是()。

A)只有元素a[0][0]可得到初值0

B)此说明语句是错误的

C)数组a中的每个元素都可得到初值,但其值不一定为0

D)数组a中的每个元素均可得到初值0 5、以下正确的语句是()。

A)int a[1][4]={1,2,3,4,5}; B) float x[3][]={{1},{2},{3}};

C) long b[2][3]={{1},{1,2},{1,2,3}}; D) double y[][3]={0};

6、以下能对二维数组元素a进行正确初始化的语句是()。

相关文档
最新文档