【笔记】第六章 数组(C语言)
本帖最后由 sphao 于 2017-7-30 18:00 编辑第六章 数组
特点: 同一数组中的所有元素都属于 同一种数据类型, 数组元素用数组名和相应的下表来确定
方法: 一个数组元素其实就是一个变量(可以称为带下标的变量)
一 一维数组的定义和引用(只有一个下标)
1. 一维数组定义格式:
类型名 数组名[常量表达式];
定义数组有四个注意:
(1)数组名属于用户自定义标识符, 要遵守标识符命名规则
(2)定义一维数组时, 数组名后必须用一个方括号将常量表达式括起来, 常量表达式的值表示所定义数组共有多少个元素(数组长度或数组的大小)
(3)定义数组时方括号中的 表达式不能含有变量. 另外表达式的值必须为正整数
(4)C语言每个数组在内存中分配空间时是连续分配的
2. 一维数组元素的引用格式:
数组名[下标]
♠先定义 后使用
♠不能整体用数组, 只能单独引用其中的元素, 引用时下标可以是表达式
♠数组元素的下标值在0~N-1之间
3. 一维数组初始化:
格式:
类型名 数组名[常量表达式]={初值1, 初值2, ...};
注意:
(1)定义一维数组时可以将各元素的初始值依次放在一对{ }中赋给数组
(2)多则出错, 少则补零
(3)定义赋初值的个数等于数组长度, 数组长度可以省略
(4)一个也不给则是随机值
(5)只能在定义数组的同事用{ }给数组元素整体赋值
二 二维数组的定义个引用(有两个下标)
1. 二维数组的定义格式:
类型名 数组名[常量表达式1][常量表达式2];
注: (1)数组名要遵守用户自定义标识符的命名规则
(2)定义二维数组第一个方括号常量表示行数, 第二个方括号常量表示列数
(3)定义数组时方括号中的表达式不能含有变量, 且表达式的值必须是正整数
(4)在内存中二维数组元素的存放也是连续的, 先行后列原则
2. 二维数组元素的引用
数组名[行下标][列下标]
3, 二维数组的初始化
方法1: 将初值依次放在一对{ }中, 与一维数组初始化格式相同
方法2: 定义二维数组同时, 按行初始化每一行初值均用一对{ }括起, 采用嵌套{ }
注意: 定义二维数组的同时给数组初始化,可以省略行数,但列数不能省略
三 字符数组
C语言中没有字符串变量,那么如何存储
字符数组 字符型指针
1. 字符数组的初始化
与其它类型数组的初始化方式一样,只是其初始值是字符
2, 字符串
因为字符串最后都有一个字符串结束符('\0'), 所以用字符数组来存放字符串时一定要有一个元素存放结束符'\0'
字符串给字符数组初始化的方法
(1)char a="abcd";
(2)char a={"abcd"};
(3)char a={'a','b','c','d', '\0'};
♠双引号能省略{ }
♠双引号自动加'\0', 长度加1
四 数组的使用
1. 一维数组的使用
结构: 找配对 找控制 标语句
过程: 画图
2. 二维数组的使用
双重for循环
3. 字符串使用
(1)字符串存储(赋值)四种方法
方法1: scanf(); 键盘输入
scanf("%s", a);
scanf("%s", &a); 非法, 数组名本身为地址
注: 用%s格式输入时, 遇到空格符或回车符则自动结束输入
printf(); 输出
注: 输出时则从当前地址开始, 直到遇到结束符
方法2: gets(); 键盘输入
格式: #include<stdio.h>
gets(字符数组);
功能: 读取一个字符串赋给字符数组
注:
(1)该函数输入字符时, 只有遇到回车符系统才结束读取字符
(2)不论是用%s还是gets( )在作为输入时, 均不需要输入双引号, 若输入时用了双引号则双引号也作为字符串的有效字符
puts(); 输出
格式: #include<stdio.h>
puts(字符数组或字符串常量);
功能: 在屏幕上输出字符数组中的字符
注: 用该函数输出与用%s格式输出一样, 只是该函数将'\0'转成'\n'输出
方法3: 字符串初始化
方法4: strcpy();
strcpy(a, "abcd");
(2)字符串函数(处理)
第一个函数: strcat()
格式: #include<string.h>
strcat(字符数组1, 字符数组2)
功能: 连接
第二个函数: strcpy()
格式: #include<string.h>
strcpy(字符数组1, 字符数组2)
功能: 将字符数组2中的字符串替换到字符数组1中, 函数值为字符数组1的首地址
第三个函数: strcmp()
格式: #include<string.h>
strcmp(字符数组1, 字符数组2)
功能: 函数返回 相同位置不同字符的ASCII码差值
注: 不能用关系运算符直接进行字符串大小或字符串数组大小的比较
第四个函数: strlen()
格式: #include<string.h>
strlen(字符数组)
功能: 求出字符数组的实际长度, 不包括结束符
【笔记】第七章 函数与预编译(C语言)
http://www.52pojie.cn/thread-629758-1-1.html
【笔记】第六章 数组(C语言)
http://www.52pojie.cn/thread-629287-1-1.html
【笔记】第五章 循环结构(C语言)
http://www.52pojie.cn/thread-628823-1-1.html
【笔记】第四章 选择结构(C语言)
http://www.52pojie.cn/thread-627932-1-1.html
【笔记】第三章 顺序结构(C语言)
http://www.52pojie.cn/thread-627411-1-1.html
【笔记】第二章 C语言组成及数据
http://www.52pojie.cn/thread-627006-1-1.html
【笔记】第一章 C语言基础知识
http://www.52pojie.cn/thread-626978-1-1.html
有前5章沒,你可以把前五章附上 厉害了,我的哥 666啊{:301_977:} 以前大一的时候没听课现在看不懂
页:
[1]