第一范文网 - 专业文章范例文档资料分享平台

国家计算机二级C语言考试复习知识点

来源:用户分享 时间:2025/5/29 18:23:59 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

一.教学重点、难点

知识点 一维数组的定义及引用 一维数组的初始化 二维数组的定义及引用 二维数组的初始化 通过赋初值定义二维数组 所占分值 1-3 1-2 3-4 1-2 1-2 考核几率 80% 80% 90% 90% 60% 专家点评 简单,重点掌握 简单,重点掌握 偏难,重点掌握重点理解 简单,重点掌握 偏难,重点理解

二.教学讲点

8.1一维数组的定义和引用 8.1.1一维数组的定义

格式:类型名 数组名[常量表达式]; 例如:int a[8]; 注意:

1.数组名属于用户标识符,必须满足用户标识符的命名规则。 如:int do[5]; float 3com[10]; char a-b[5]; 都是非法的定义

2.定义数组时,方括号必不可少,方括号中的表达式不能含有变量,且表达式的值必须是大于0正整数,表示数组元素的个数,也成为数组的长度。

如:int a[5.3]; int a[-4]; int a[n]; int a[0]; {int N=5; int a[N];} 都是非法的定义 #define M 5 int a[M];

3.同一数组元素在内存中所占的存储空间是依次连续的,每个数组只能有一个下标,数组下标是从0开始,到数组长度减4结束。 例如:int a[5]; a[0] a[1] a[2] a[3] a[4]

8.1.2一维数组元素的引用

格式:数组名[下标表达式] 如:double a[10];/*定义数组*/

int b=a[4];/*引用数组元素a[4]*/

int b=a[2*2]; /*引用数组元素a[4]*/ 说明:

1. 数组中的元素其实就是一个变量,占一个存储单元。如数组b中的变量就是int型的变量。

2. 引用数组元素时,下标表达式的值的上限为定义是常量表达式减一,下限为0.在引用时保证下标不能超过定义时的常量表达式减一,即下标不能越界。 3. 数组是一个构造类型,是集合的概念,因此不能整体引用数组里面的所用元素。企图简单地通过数组名b体代表其中的4个int类型的变量是不行。 注意:不能对数组进行整体引用,只能单独引用其元素。 int a[10];

int b[10]=a;/*错误的*/

int b[10]=a[10];/*错误的,没有元素a[10]*/ float a[10],b[10];

b=a;/*错误,a代表整个数组,不能整体引用*/ b[0]=a[0];b[1]=a[1];等 for(i=0;i<100;i++)

a[i]=b[i];

8.1.3一维数组的初始化

在定义一维数组的同时可以将各元素的初值依次放在一对{}中赋给数组,初值之间用逗号隔开。

例如:int a[10]={1,2,3,4,5,6,7,8,9,10}; int a[5]=1,2,3,4,5; 错

int a[5]={1;2;3;4;5}; 错 注意:

(1)若{}中的初值个数多于数组元素的个数(即数组长度),则出错;若初值个数少于数组元素的个数,则将初值依次赋给前面的元素,而未得到初值的元素自动赋零。

例如:int a[5]={1,2,3,4,5,6};

int a[5]={1,2,3}; int a[4]={2*2}; int a[3]={0};

(2)可以通过赋初值来定义数组的大小。此时数组的长度可以省略。若定义时,未赋初值,则长度绝不能省略。

例如:int a[ ]={1,2,3,4}; 数组的长度是4。 int a[ ]; 是非法的。

(3)只能在定义时可以用{}给数组整体赋值,不是定义时,则只能单独给每个数组元素赋值。 例如:int a[4];

a={1,2,3};或a[4]={1,2,3,4};是非法的。 int a[4]={1,2,3};

本节习题:

下列一维数组定义中正确的是( )。 A.int a[n]; B.int a[ ]; C.int a();

D.int _abc[100*2]; E.int a[2]={1,3,4}; F.int a[0]={0}; G.int a[5]={0};

H.int a[5]; a[5]={123,456}; I.int a[5]; a={1,2,3,4,5}; J.int a[N=5];

K.{int n=5; int a[n];} L.int a[2*3];

M.int a[3]={1,2,34};

8.2 二维数组 8.2.1二维数组的定义

格式:类型名 数组名[常量表达式1][常量表达式2],…. 例如:int a[2][3]; a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 在内存中的存放形式:(依次连续) a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 8.2.2二维数组元素的引用

格式:数组名 [下标表达式1][ 下标表达式2] 注意:

1.不论是一维数组还是二维数组都不能整体引用。 例如:int a[3][4];

int b[3][4]=a;/*是非法的*/

int a[3][4]={0},int b,n=2; b=a[2][n];

执行上述语句后,问b的值是多少?

2.引用数组元素时,下标可以是C语言中任何合法的表达式,且可以含有变量。 int a[2][3]={1,2,3,4,5,6}; int b;

b=a[10.5%5][2];/*错误*/

8.2.3二维数组初始化

1.直接赋值

int a[3][4]={1,2,3,4,5,6,7,8,9}; 问a[2][0]的值是多少?9 a[2][2]的值是多少?0 int a[2][2]={0,0,0,0,0};/*非法的*/

2.按行赋值 int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; 注意:

1.其中里层的{}的对数不能多于行数。花括号内初值个数不能多于列数。不能出现空花括号{}对。

int a[3][4]={{1,2,3,4},{5,6,7,8,9},{10,11,12,13}}; int a[3][4]={{1,2,3,4},{5,6,7,8,9},{10,11,12,13},{1,2}}; int a[3][4]={{1,2,3,4},{},{10,11,12,13}};

int a[3][4]={1,2,3,4},{5,6,7,8,},{10,11,12,13}; 以上定义均是非法的。

2.若在定义二维数组的同时进行初始化,则定义时可以不写第一维的长度,第二维则不能省略。若定义时未赋初值,则各维的长度均不能省略。 例如:int a[ ][3]={1,2,3,5,4,6};

int a[ ][3];或int a[3][ ];都是非法的。

例:有如下程序 main( )

{int a[3][3]={{1,2},{3,4},{5,6}}; int i,j,s=0;

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

printf(“%d\\n”,s); }

输出结果是?

三.试题分析

1.2008年4月考试试题分析 (24)以下错误的定义语句是 A)int x[][3]={{0},{1},{1,2,3}};

B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};

国家计算机二级C语言考试复习知识点.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c54mvo1hru7721et5igxh_11.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top