a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 92|回复: 0

[C语言] 2012年计算机二级C语言数组考点小结

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
9.1 一维数组的定义、初始化和引用 5 D. y1 D( n3 y2 ]4 @9 U
  1.一维数组的定义方式为: ' K4 {5 y4 T, E4 c0 _, D
  类型说明符 数组名[常量表达式]
: h* C( y: }" i2 @5 }  F  (1)数组名的命名方法与变量名相同,遵循标识符命名规则;
% p  u) Y5 M6 a  (2)数组是用方括号括起来的常量表达式,不能用圆括号;
3 w- g$ `1 i2 t  H  (3)常量表达式表示数组元素的个数,即数组的长度,数组的下标从0开始,下标的最大值为:常量表达式-1; : d, M+ M& B- R4 f* N: C+ a$ w
  (4)常量表达式中可以包括常量和符号常量,不能包括变量。
( a1 w( h4 M9 ~+ L# L: w6 J& ~  可以用赋值语句或输入语句使数组中的元素得到值,但要占用运行时间。可以使数组在运行之前初始化,即在编译阶段使之得到初值。
! J5 Y, ?$ o" @6 I9 C* M  2.对数组初始化可以用以下方法实现:
9 V0 Z4 j( I2 t' I2 v* Y7 d  (1)在定义数组时对数组元素赋以初值。如:
8 p* T, Q$ ^* z( M- L: U  static int a[10]={0,1,2,3,4,5,6,7,8,9};
* m5 g! \2 x" `" C, n1 k  经过上面的定义和初始化后,a[0]=0,a[1]=1,…,a[9]=9。
5 |9 j! r8 w! L1 S6 [  (2)初始化时可以只对一部分元素赋初值。例如:
7 I( ^& l' B0 F& e* k  static int a[10]={0,1,2,3,4};
( H7 F) T* t0 T  定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。 0 L$ e" V! I/ P, }* p* }0 o
  (3)如果想使一个数组的元素值全部为0,可以用下面的方法: / u( r( p- i$ M2 H6 c
  static int a[10]={0,0,0,0,0,0,0,0,0,0};
: T: D+ C0 b3 l2 @& n# g; Z  不能用:
; k# a' d% w2 u# e. D- ~  static int a[10]={0*10};
+ S1 A1 t* f0 [  如果对static型数组不赋初值,系统会对定义的所有数组元素自动赋以0值。 , O6 ~3 K! k+ R2 O
  (4)在对全部数组元素赋初值时,可以不指定数组长度。
/ G% K  S4 h# ]  3.一维数组的引用方法是:
  M- j4 O% ?+ V, V# Y, L  C语言规定不能一次引用整个数组,引用时只能逐个元素引用,数组元素的表示形式为: 0 x& m5 T4 f# w! P9 U9 S  x8 d
  数组名[下标]
4 j# ^' ]9 \( \4 ]/ {  下标可以是整型常量或整型表达式。如: 0 `: `, l; D. R6 q% _
  a[0]=a[5]+a[7]-a[2*3];
, D: i) O1 }( a  b. L3 B7 G0 k9 T; I7 x  9.2 二维数组的定义、初始化和引用
5 R! b5 o6 O9 {8 `. ^% ?  1.二维数组定义的一般形式为 ! t" S3 s- I8 L* }7 u( e
  类型说明符 数组名[常量表达式][常量表达式] " x' ]* {# B& h3 j0 Y
  C语言采用上述定义方法,我们可以把二维数组看做是一种特殊的一维数组:它的元素又是一维数组。在C语言中,二维数组中元素的排列顺序是:先按行存放,再按列存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。 - F, V1 h+ C) P' k
  2.二维数组的初始化:二维数组可以用下面的方法初始化: 8 A/ ^& Q/ H/ ]8 r
  (1)分行给二维数组赋初值。如: 0 h* ^- p; M' G$ A# e  [5 K2 r
  static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; + c& R8 y4 p; R
  以上赋值把第一个花括号内的数据赋给第一行元素,第二个花括号内数据赋给第二元素…,即按行赋值。
: |, a7 a5 X7 t3 A  q" x# C  (2)可以将所有的数据写在一个花括号内,按数组排列的顺序对各元素赋值。
' y% p) g# h; M6 a/ p% d  (3)可以对数组的部分元素赋初值。如: ! t/ k1 u) i* O$ h) i) q! I2 V2 z) G
  static int a[3][4]={{1},{5},{9}};
: D4 }" g% _+ W  以上赋值的结果是:数组第一列的元素分别赋了初值1,5,9,其余元素的值都是0。
2 u) t& a1 c3 g- w, C) U) Q0 h  (4)如果对二维数组的全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。 7 N1 F. W9 X' T0 p; h
  3.二维数组的引用:二维数组的元素可以表示为:
' i4 A/ Y. U( z7 a  数组[下标][下标]   在引用二维数组时,必须是单个元素,不能是整个数组名。下标可以是一个表达式,但不能是变量。如果下标是一个表达式,注意表达式的值不能超出数组定义的上、下限。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-22 22:02 , Processed in 0.366280 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表