当前课程知识点:C语言程序设计基础 > 4.数组 > 4.3 字符数组 > html
字符数组
用来存放字符量的数组称为字符数组。
字符数组的定义
形式与前面介绍的数值数组相同。
例如:
char c[10];
字符数组也可以是二维或多维数组。
字符数组的初始化
字符数组也允许在定义时作初始化赋值。
例如:
char c[10]={‘c’, ‘ ’, ‘p’, ‘r’, ‘o’, ‘g’, ‘r’, ‘a’,’m’};
注意:当对全体元素赋初值时也可以省去长度说明。
字符串和字符串结束标志
在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。
字符串总是以'\0'作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符'\0'存入数组,并以此作为该字符串是否结束的标志。有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。
C语言允许用字符串的方式对数组作初始化赋值。
例如:
char c[]={'c', ' ','p','r','o','g','r','a','m'};
可写为:
char c[]={"C program"};
或去掉{}写为:
char c[]="C program";
字符数组的输入输出
在采用字符串方式后,字符数组的输入输出将变得简单方便。
除了上述用字符串赋初值的办法外,还可用printf函数和scanf函数一次性输出输入一个字符数组中的字符串,而不必使用循环语句逐个地输入输出每个字符。
字符串处理函数
C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数,在使用前应包含头文件"stdio.h",使用其它字符串函数则应包含头文件"string.h"。
下面介绍几个最常用的字符串函数。
1. 字符串输出函数 puts
格式: puts (字符数组名)
功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串。
2. 字符串输入函数gets
格式: gets (字符数组名)
功能:从标准输入设备键盘上输入一个字符串。
3. 字符串连接函数strcat
格式: strcat (字符数组名1,字符数组名2)
功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。本函数返回值是字符数组1的首地址。
4. 字符串拷贝函数strcpy
格式: strcpy (字符数组名1,字符数组名2)
功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
5. 字符串比较函数strcmp
格式: strcmp(字符数组名1,字符数组名2)
功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈0。
本函数也可用于比较两个字符串常量,或比较数组和字符串常量。
6. 测字符串长度函数strlen
格式: strlen(字符数组名)
功能:测字符串的实际长度(不含字符串结束标志‘\0’) 并作为函数返回值。
-1.1 C语言概述
--html
-1.顺序结构程序设计--1.1 C语言概述
-1.2 C语言中的数据类型
--html
-1.2 C语言中的数据类型--作业
-1.3 运算符和表达式
--html
--html
-1.3 运算符和表达式--作业
-1.4键盘输入和屏幕输出
--html
-1.4键盘输入和屏幕输出--作业
-2.1 算法
--2.1 算法
--html
-2.1 算法--作业
-2.2 关系运算符与逻辑运算符
--html
-2.2 关系运算符与逻辑运算符--作业
-2.3 实现分支结构的语句
--html
-2.3 实现分支结构的语句--作业
-随堂测验--作业
-3.1 循环控制结构
--html
-3.循环结构程序设计--3.1 循环控制结构
-3.2 流程的转移以及循环嵌套
--html
-3.循环结构程序设计--3.2 流程的转移以及循环嵌套
-3.3 计数、条件控制的循环
-3.循环结构程序设计--3.3 计数、条件控制的循环
-本章测试--作业
-4.1 一维数组的定义及引用
-- 一维数组的定义及引用
--html
-4.1 一维数组的定义及引用--作业
-4.2 二维数组的定义及引用
--Video
--html
-4.2 二维数组的定义及引用--作业
-4.3 字符数组
--Video
--html
-4.3 字符数组--作业
-本章测试--作业
-5.1 函数的定义、调用
--Video
--html
-5.1 函数的定义、调用--作业
-5.2 函数嵌套调用和递归调用
--html
-5.2 函数嵌套调用和递归调用--作业
-5.3 变量的时间空间
--html
-5.3 变量的时间空间--作业
-期中考试--作业
-本章测试--作业
-6.1 指针的概念
--指针的概念
--html
-6.1 指针的概念--作业
-6.2 指针的应用
--html
-6.2 指针的应用--作业
-本章测试--作业
-7.1 结构体
--Video
--html
-7.1 结构体--作业
-7.2 共用体
--7.2 共用体
-7.2 共用体--作业
-8.1 文件的指针
-8.1 文件的指针--作业
-8.2 文件的读写
-8.2 文件的读写--作业
-9..1综合实例
--综合实例
-9..1综合实例--作业






