C语言数组笔记2018级数学四班沈园园

一、C语言中数组的定义
1.一维数组的定义:
类型说明符 数组名[常量表达式];    注意:常量表达式包括常量与符号常量,不能包含变量。
2.二维数组的定义:
类型说明符 数组名[常量表达式][常量表达式];
二、C语言中数组的引用
1.一维数组的引用:
数组名[下标];
2.一维数组的初始化:
a.在定义数组时对数组元素赋以初值;
b.可以只给一部分元素赋值;
c.想使一个数组中全部元素值为0,可以写成:a[10]={0};
需要注意 int a[10] = {1}; 并不能把数组初始化为全1,只是将第一位初始化为1,后面全部都是0滴.
d.在对全部数组元素赋初值时,可以不指定数组长度。
1.二维数组的引用:
数组名[下标][下标];
2.二维数组的初始化:
a.分行给二维数组赋值。int a[3][4]={{1,2,3,4},{5,6,7,8},{,9,10,11,12}};
b.可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。
c.可以对部分元素赋初值:
d.如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。
注意其中:对于数组类型说明应注意以下几点:
1-数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2-数组名的书写规则应符合标识符的书写规定。
3-数组名不能与其它变量名相同。例如:
int a;
float a[10];
是错误的。
4-方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0], a[1], a[2], a[3], a[4]。
5-不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如:
#define FD 5
int a[3+2],b[7+FD];
是合法的。但是下述说明方式是错误的。
int n=5;
int a[n];
6、允许在同一个类型说明中,说明多个数组和多个变量。例如:
int a,b,c,d,k1[10],k2[20];
三、字符数组
1.字符数组的定义:参考一维数组定义,类型的改变。
2.字符数组的初始化:参考一维数组初始化。
3.字符数组的引用:参考一维数组的引用。
4.字符串和字符串结束标志:字符串在遇到‘\0’,表示字符串结束。
5.字符数组的输入输出:
a.逐个字符输入输出,使用“%c”;
b.将整个字符串一次输入输出,用“%s”。
注意:A.输出字符不包括结束符‘\0’;B.用“%s”输出字符串时,printf函数中的输入项是字符数组名,而不是数组元素名。C.如果数组长度大于字符串实际长度,也只输出到‘\0’结束。D.如果一个字符数组中包含一个以上‘\0’,则遇第一个‘\0’时输出就结束。
6.字符串处理函数:
a.puts(字符数组)     作用:将一个字符串(以‘\0’结束的字符序列)输出到终端。
b.gets(字符数组)     作用:以终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。
注意:用putshe  gets函数只能输入或输出一个字符串,不能写成puts(str1,str2)或gets(str1,str2).
c.strcat(字符数组1,字符数组2)    作用:连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。
说明:A.字符数组1必须足够大,以便容纳连接后的新字符串。B.连接钱粮个字符串的后面都有一个‘\0’,连接时将字符串1后面的‘\0’取消,只在新串最后保留一个‘\0’。
d.strcpy(字符数组1,字符串2)     作用:是将字符串2复制到字符数组1中去。
说明:A.字符数组1必须定义得足够大,以便容纳被复制的字符串,字符数组1的长度不应小于字符串2的长度。B.“字符数组1”必须写成数组名形式,“字符串2”可以是字符数组名,也可以是字符串常量。C.复制时连同字符串后面的‘\0’一起复制到字符数组1中。D.不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。E.可以用strcpy函数将字符串2中前面若干个字符复制到字符数组1中去。如:strcpy(str1,str2,2);
e.strcmp(字符串1,字符串2)        作用:是比较字符串1和字符串2。
说明:A.如果字符串1=字符串2,函数值为0。B.如果字符串1>字符串2,函数值为一正整数。C.如果字符串1<字符串2,函数值一定为负数。注意:对两个字符串进行比较只能采用strcmp(字符串1,字符串2)的形式,不他形式。

学习感悟:学习完数组这节,可以通过比前几章更简单的程序来解决较为复杂的问题,并且比较简洁。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值