第8章 字符数组与字符串
特殊的数组
本章知识点
n 字符数组的概念、使用
n 字符串的概念
n 字符数组与字符串的关系
n 常用字符串处理函数的使用
有关数组的分类
n 从维数来分
n 一维数组
n 多维数组(二维数组、三维数组……)
n 从数组元素数据类型分类
n 整型数组 int short long
n 实型数组 float double
n 字符数组 char
8.1 字符数组的定义
n 用来存放字符类型数据的数组
n char s[10];
n char str[3][10];
0 1 2 3 4 5 6 7 8 9
0
1
2
字符类型数据运算:以下程序的输出结果是
n
#include
n main( )
{
char ch1,ch2;
ch1='A'+5-'3';
ch2='A'+'5'-'3';
printf("%d,%c\n",ch1,ch2);
getch();
}
n
n
n
n
n
n
n
n
n 提示:字符数据在内存中是字符的ASCII码
19,C
8.2 字符数组的初始化
n
n
1.一次性赋值
#include "stdio.h"
n
n
n
n main()
{ int i;
char c[10]={‘c’, ‘ ’, ‘p’, ‘r’, ‘o’, ‘g’, ‘r’, ‘a’,'m'};
for(i=0;i<10;i++)
printf("%c",c[i]);
getch();
}
n
n
n
n char c[10]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a','m'};
其中c[9]未赋初值,
由系统自动追加为空
字符
n 2.逐元素赋值
n
char c[10];
c[0]='c'; c[1]=' '; c[2]='p'; c[3]='r';
c[4]='o'; c[5]='g'; c[6]='r'; c[7]='a';
c[8]='m';
for(i=0;i<9;i++)
printf("%c",c[i]);
n
n
下标 0
c
1
2
p
3
r
4
o
5
g
6
r
8
7
9
a m 不确
定