711一维数组的定义定义方式类型说明符数组名整型常量
- 格式:ppt
- 大小:1022.50 KB
- 文档页数:49
在C语言中,一维数组的定义方式为:类型说明符数组名——在C语言中,一维数组的定义方式为:类型说明符数组名——例:int array[10];含义:定义了一个数组,数组名为array,有10个元素,元素的类型均为整型。
这10个元素名分别是:array[0]、array[1]、....、array[9]。
在C语言中,一维数组的定义方式:类型说明符数组名[元素个数]其中,类型名确定所有元素的数据类型,元素个数给定数组要包含的变量个数,它可以使用表达式形式,但该表达式中只能出现变量常量和运算符。
常用的类型:char ,int ,long .float,double.数组元素的一般表示形式是:数组名[下标]其中,下标可以使用表达式形式,但必须是整型而且有确定的值,取值范围是0~元素个数-1.注意:引用数组元素时不应使用超范围的下标,因为对这种情况编译时系统并不报错,所以编写程序时要格外注意。
C语言中一维数组的最长维数是多少?谢谢!ANSI C89标准中规定,一个数组的尺寸(下标)必须是一个整型常量表达式以便于在编译时计算大小,而这里的所谓常量(或者常量表达式的运算结果),一般是指unsigned int。
16位编译器(比如Turbo C)中,unsigned int为16位,因此数组最多32767个数据。
32位编译器(比如Visual C++ 6.0)中,unsigned int为32位,因此数组最多4294967295个数据。
以上结论为理论值。
实际上,在VC++中,我们定义一个259025元素的整型数组,虽然可以编译通过,但是我们仍将得到一个运行时错误(runtime error)。
这主要跟堆和栈的大小有关,详细情况请查阅操作系统相关资料。
错误代码范例:VC++ 6.0 中void main(){int a[259025]; 运行时错误,259024是ok的。
char b[259025]; ok。
char c[1036097]; 运行时错误,1036096是ok的。
C试题一、选择题:1、以下对一维整型数组a的正确说明是A int a(10);B int n=10,a[n];C int n;D #define SIZE 10scanf(“%d”,&n);int a[SIZE];int [a];2、若有说明:int a[10];则对a数组元素的正确引用是A a[10]B a[3.5]C a (5)D a [10-10]3、在c语言中文,一维数组的定义方式为:类型说明符数组名A[常量表达式] B[整型表达式]C[整型常量]或[整型表达式]D[整型常量]4、以下能对二维数组a进行正确初始化的语句是A int a[2][]={{1,0,1},{5,2,3}};B int a[][3]={{1,2,3},{4,5,6}};C int a[2][4]={{1,2,3},{4,5},{6}}D int a[][3]={{1,0,1},{},{1,1}};5、若有说明:int a[3][4]={0};则下面正确的叙述是A只有元素a[0][0]可得到初值0B 此说明语句不正确C 数组a中文各元素都可得到初值,但其值不一定为0D 数组a 中每个元素均可得到初值06、以下各组选项中,均能正确定义二维实型数组a的选项是A float a[3][4];B float a(3,4);float a[] [4]; float a[3][4];float a[3][]={{1},{0}} float a[][]={{0},{0}};C float a[3][4];D float a[3][4];static float a[][4]={{0},{0}}; float a [3][];auto float a [][4]={{0},{0},{0}}; float a[][4]10、下面程序中文有错误的行是(每行程序前面的数字表示行号)1 main()2 {3 int a[3]={1};4 int i;5 scanf(“%d”,&a);6 for (i=1;i<3;i++) a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8 }A 3B 6C 7D 511、若二维数组a有m列,则计算机任一元素a[i][j]在数组中文位置的公式为(假设a[0][0]位于数组的第一个位置上。
引导语:数组是在程序设计中,为了处理⽅便,把具有相同类型的若⼲变量按有序的形式组织起来的⼀种形式。
以下是百分⽹店铺分享给⼤家的数组,希望⼤家喜欢! 1.1 ⼀维数组的定义、初始化和引⽤ 1.⼀维数组的定义⽅式为: 类型说明符数组名[常量表达式] (1)数组名的命名⽅法与变量名相同,遵循标识符命名规则; (2)数组是⽤⽅括号括起来的常量表达式,不能⽤圆括号; (3)常量表达式表⽰数组元素的个数,即数组的长度,数组的下标从0开始,下标的最⼤值为:常量表达式-1; (4)常量表达式中可以包括常量和符号常量,不能包括变量。
可以⽤赋值语句或输⼊语句使数组中的元素得到值,但要占⽤运⾏时间。
可以使数组在运⾏之前初始化,即在编译阶段使之得到初值。
2.对数组初始化可以⽤以下⽅法实现: (1)在定义数组时对数组元素赋以初值。
如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上⾯的定义和初始化后,a[0]=0,a[1]=1,…,a[9]=9。
(2)初始化时可以只对⼀部分元素赋初值。
例如: static int a[10]={0,1,2,3,4}; 定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。
(3)如果想使⼀个数组的元素值全部为0,可以⽤下⾯的⽅法: static int a[10]={0,0,0,0,0,0,0,0,0,0}; 不能⽤: static int a[10]={0*10}; 如果对static型数组不赋初值,系统会对定义的所有数组元素⾃动赋以0值。
(4)在对全部数组元素赋初值时,可以不指定数组长度。
3.⼀维数组的引⽤⽅法是: C语⾔规定不能⼀次引⽤整个数组,引⽤时只能逐个元素引⽤,数组元素的表⽰形式为: 数组名[下标] 下标可以是整型常量或整型表达式。
如: a[0]=a[5]+a[7]-a[2*3]; 1.2 ⼆维数组的定义、初始化和引⽤ 1.⼆维数组定义的⼀般形式为 类型说明符数组名[常量表达式][常量表达式] C语⾔采⽤上述定义⽅法,我们可以把⼆维数组看做是⼀种特殊的⼀维数组:它的元素⼜是⼀维数组。
第六章数组资料来源:/一、选择题:1. 在c语言中,一维数组的定义方式为:类型说明符数组名()。
A.常量表达式B.整型表达式 C.整型常量或整型表达式D.整型常量2. 以下对一维整型数组a的正确说明是。
A. int a(10);B. int n=10,a[n];C. int n;D. #define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是().A.整型常量或整型表达式B.整型常量C.整型表达式D.任何类型的表达式4. 若有说明:int a[10];则对a数组元素的正确引用是。
A. a[10]B. a[3.5]C. a(5)D. a[10-10]5. 以下能对一维数组a进行不正确初始化的语句是()A.int a[]={0};B.int a[10]={0,0,0,0};C.int a[10]={};D.int a[10]={10*1};6. 对以下说明语句的正确理解是。
int a[10]={6,7,8,9,10};A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确7. 下面程序(每行程序前面的数字表示行号)。
1 main()2 {3 float a[10]={0.0};4 int i;5 for(i=0;i<3;i++) scanf(“%d”,&a[i]);6 for(i=1;i<10;i++) a[0]=a[0]+a[i];7 printf(“%f\n”,a[0]);8 }A. 没有错误B. 第3行有错误C. 第5行有错误D. 第7行有错误8. 下面程序中有错误的行是(每行程序前面的数字表示行号)。
1 main()2 {3 float a[3]={1};4 int i;5 scanf(“%d”,&a) ;6 for(i=1;i<3;i++) a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8 }A. 3B. 6C. 7D. 59. 定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。
1.一维数组的定义类型说明符数组名[正整型常量表达式] ;说明:●类型说明符:数组的类型。
●数组名同变量名命名规则相同。
●常量表达式指明数组中元素个数,必须大于零。
可以是数值常量、符号常量和字符常量。
例如:float mark[100]; char str[200];int a[10];例如:存储学生成绩用实型数组 mark[100],存储一行文字用字符数组 str[200],存储一个4*6的矩阵用二维整型数组 a[4][6]。
其中:mark、str、a 是数组名。
方括号内是数组的长度。
下标的个数称为数组的维数,mark、str是一维数组、a是二维数组。
数组的成员称为数组元素。
数组元素的类型称为该数组的基类型。
数组mark的基类型是float,数组str的基类型是char。
说明(1)数组名后是用方括号而不是圆括号。
(2)数组定义中的常量表达式表示数组元素个数。
必须是大于零的常量。
如: int a[0],d(6); /*错误*/int b[-8]; /*错误*/int c[2+3]; /*正确*/(3) C语言中不允许使用变量对数组的大小进行定义。
数组的说明语句必须在可执行语句之前。
#define N 5 int a[N];int n;scanf (“%d” , &n );{int a[n];……}int n=10,a[n];2.一维数组的初始化在数组定义时为数组元素赋初值称为数组初始化。
(1)对全部元素初始化。
方法:将初值依次写在花括号{ }内。
如: int a[5]={ 2 , 4 , 6 , 8 , 10 };存储形式:存储单元(2)给数组中部分元素赋初值,其他元素按零值处理。
例 int a[9]={1,2};则 a[0]= 1, a[1]= 2, a[2]~a[8]值全为0。
(3)对数组元素全部赋值可以不指定长度。
例 int a[]={0,1,2,3,5};等价于:int a[5]={0,1,2,3,5};(4)一维数组赋初值的个数不能超过数组总元素的个数。
一维数组如何定义
在C语言中使用数组必须先进行定义,一维数组的定义方式如下:类型说明符数组名[常量表达式];
其中类型说明符是任意一种基本数据类型或构造数据类型,它定义了全体数组成员的数据类型;数组名是用户定义的数组标识符;
方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
例如:
float a[5],b[10];
该语句表示:
(1)定义了浮点型数组a和b,其数组元素的类型都是float。
(2)a 数组有5 个数组元素,b 数组有10 个数组元素。
(3)a数组的数组元素是a[0]、a[1]、a[2]、a[3]和a[4],共5 个数组元素。
所以a 数组元素的下标大于等于0,且小于5。
(4)定义了float型数组a,编译程序将为a 数组在内存中开辟5 个连续的存储单元,用来存放a数组的5 个数组元素,a[0]代表这片存储区的第一个存储单元。
数组名a 代表a数组的首地址,即a[0]的地址。