
C身脑设在线开放课程 字符数组 主讲:曾志华
字符数组 在线开放课程 主讲:曾志华

一.字符数组的作用和定义方法 程高设计 Wang L 如何让程序存储我的姓名? 更通常的是:用字符串Wang Li"的形式存储在字符数组中 char a='W'; char name[15]={'W,'a','n','g', char b='a'; L,i) 用字符数组 char c='n'; char d='g'; 用若干个字符变量来存储 char e='L'; 缺点:字符之间没有关联了 char f='"i";
char a='W'; char b='a'; char c='n'; char d='g'; char e='L'; char f='i'; 如何让程序存储我的姓名? Wang Li char name[15]={ 'W', 'a', 'n', 'g', 'L', 'i'}; 用若干个字符变量来存储 缺点:字符之间没有关联了 用字符数组 更通常的是:用字符串”Wang Li”的形式存储在字符数组中 一.字符数组的作用和定义方法

一.字符数组的作用和定义方法 (身程疗设计 字符数组的作用: 可以存放若干个字符,也可以存放字符串,比如存储姓名、 性别、家庭地址、电话号码、邮政编码等等。 字符数组的定义方法: char 数组名数组长度] 例如:char str100;
一.字符数组的作用和定义方法 字符数组的作用: 可以存放若干个字符,也可以存放字符串,比如存储姓名、 性别、家庭地址、电话号码、邮政编码等等。 字符数组的定义方法: char 数组名[数组长度] 例如: char str[100];

二.字符数组的初始化 (程设计 方法一:逐个字符赋值 例:char ch5={H','e,',','o}; H 0 ch[0]ch[1]ch[2]ch[3]ch[4]
例:char ch[5]={‘H’,’e’,’l’,’l’,’o’}; ch[0] H e l l o ch[1] ch[2] ch[3] ch[4] 二.字符数组的初始化 方法一: 逐个字符赋值

二.字符数组的初始化 方法一:逐个字符赋值 例:char ch⑤={H,'e3,I',I',’o','w,o; H e ch[0]ch[1]ch[2]ch[3]ch[4] X 不能越界
例: char ch[5]={‘H’,’e’,’l’,’l’,’o’,’w’,’o’}; ch[0] H e l l o ch[1] ch[2] ch[3] ch[4] 二.字符数组的初始化 方法一: 逐个字符赋值 不能越界 w o

二.字符数组的初始化 (身程原设计 方法一:逐个字符赋值 例:char ch[5]={B',’0',’y}; B 0 y 0 0 ch[0]ch[1]ch[2]ch[3]ch[4] 不足的部分用\0'来填充
例: char ch[5]={‘B’,’o’,’y’}; ch[0] B o y \0 \0 ch[1] ch[2] ch[3] ch[4] 不足的部分用‘\0’来填充 二.字符数组的初始化 方法一: 逐个字符赋值

二.字符数组的初始化 程序设升 方法二:用字符串常量 字符串常量:双引号括起的任意字符序列,字符串的末尾系统 自动添加字符0',表示字符串的结束标志 例:char ch[5]=“Boy”; B y 0 0 ch[0]ch[1]ch[2]ch[3]ch[4]
例:char ch[5]=“Boy” ; ch[0] B o y \0 \0 ch[1] ch[2] ch[3] ch[4] 二.字符数组的初始化 方法二: 用字符串常量 字符串常量:双引号括起的任意字符序列,字符串的末尾系统 自动添加字符‘\0’,表示字符串的结束标志

二.字符数组的初始化 膏程序设计 方法二:用字符串常量 思考:这里的默认数组长度为 多少?6 例: char ch[6]={“yoJ; char ch[6]≥e1lo”; char ch[窄“Hel lo'”; H e 0 ch[0]ch[1]ch[2]ch[3]ch[4]ch[5]
例: char ch[6]={“Hello”}; char ch[6]=“Hello”; char ch[]=“Hello”; ch[0] H e l l o ch[1] ch[2] ch[3] ch[4] \0 ch[5] 二.字符数组的初始化 方法二: 用字符串常量 思考:这里的默认数组长度为 多少?6

三.字符数组的输入和输出 方法一:用循环结构c的方式来逐个字符输入/输出 (与整型、实型数组相同) #include str[i]=getchar(); main() int i; char str[10]; for(i=0;i<9;i++) putchar(str[i]); scanf ("%c",&str[i]); for(i=0;i<9;i++) printf ("%c",str[i]);} 缺点:对字符串的输入输出不灵活,很少用
三.字符数组的输入和输出 方法一:用循环结构%c的方式来逐个字符输入/输出 (与整型、实型数组相同) #include main( ) { int i; char str[10]; for (i=0;i<9;i++) scanf ("%c",&str[i]); for (i=0;i<9;i++) printf ("%c",str[i]);} str[i]=getchar(); putchar(str[i]); 缺点:对字符串的输入输出不灵活,很少用

三.字符数组的输入和输出 身程序设 方法二:用%s来整体输入和输出 char name[10]; scanf((%s name); Wang Li 注意:使用 printf %s name); Wang scanf时,不能 接收空格 W a n \0
三.字符数组的输入和输出 char name[10]; scanf("%s", name); printf("%s", name); Wang Li W a n g \0 注意:使用 scanf 时,不能 接收空格 Wang 方法二:用%s来整体输入和输出