一. 字符数组(本周小结)
学习目标.1掌握字符数组输入输出方法
2.应用字符数组解决一些实际问题
定义
用来存放字符数据的数组称为字符数组。字符数组中的一个元素存放一个字符。定义字符数组的方法与定义数值型数组的方法类似。
其定义的一般形式是:char 数组名[数据长度]
例如:
char c[10];
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
以上定义了c为字符数组,包含10个元素。
由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:
int c[10];
但这时每个数组元素占2个字节的内存单元,浪费存储空间。
字符数组也可以是二维或多维数组,例如:
char c[5][10];
即为二维字符数组。
结束标志
字符串和字符串结束标志
在C语言中,是将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符'\0'作为结束标志
了解了关于字符数组的相关知识后,接下来然我们看看如何给字符数组赋值
举例如下:
char a[10];
1、定义的时候直接用字符串赋值
char a[10]="hello";
注意:不能先定义再给它赋值,如
char a[10];
a[10]="hello";
这样是错误的!
2、对数组中字符逐个赋值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10];
strcpy(a, "hello");![]![]![]
当然,如果是C++的话,还可以直接输入
cin>>letter[0],……
gets(letter),
用scanf读入整个数组:scanf(“%s”,letter)
输出方法同上,值得注意的是,在用scanf的%s格式或gets读入字符串时,会在字符串末尾自动添加一个空字符‘0\’.而使用getchar等方法输入字符串时,则要在字符串后面手工加’0\’.
接下来用简单的Hello World来对比一下几种不同的
输入方法:
将程序改为用getchar ,putchar 输出:
好了,这些就是本人这周全部分享内容了,纸上得来终觉浅,觉知此事要躬行,具体还要在实际操作中多多总结经验,多实践。