C语言程序设计教程第五章数组 联系客服

发布时间 : 星期三 文章C语言程序设计教程第五章数组更新完毕开始阅读b9a13b5b6d175f0e7cd184254b35eefdc8d31527

C语言程序设计教程 高等教育出版社第二版 第五章 数组

长度不同的字符串也可以进行比较,比较结果当然是“不同”。

注意:字符串只能用strcmp函数比较,不能用关系运算符“==”比较。 【例】:

if (strcmp(str1,str2) == 0) printf(\

if (!strcmp(str1,str2)) printf(\

if (str1 == str2) printf(\ */ 4、 trlen():测试字符串长度函数 格式:strlen(字符串); 【例】:strlen(“computer”) 结果:8 5、strlwr():将字符串中的大写字母转换为小写字母(lwr:lowercase小写)。

6、strupr():将字符串中的小写字母转换为大写字母(upr:uppercase大写)。

注意:以上函数均是库函数,使用时必须用#include语句包含头文件。

5.3.6 二维的字符数组

二维数组可认为是由若干个一维数组所组成

第 25 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

的,也知道一个一维数组可存放一个字符串,因此,一个N×M的二维数组可存放N个最大长度为M-1的字符串。其中要留一个位置存放“\\0”。 【例】:static char str[3][6]={“China”,

“Japan”,“Korea”}

存放在str中的字符串示意图: C h I n a \\0 Str[0] J a p a n \\0 Str[1] K o r e a \\0 Str[2] 二维字符数组元素的引用与二维数组的引用相同。 【例】:一个班级中有若干名学生。今输入一个学生名,要求查询该学生是否属于该班,输出相应的信息。 [程序]:

#define MAX 3 #define LEN 10 main()

{ int I,flag=0; char name[LEN];

static char list[MAX][LEN]={“Zhang”,

“Wang”,“Li”};

第 26 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

printf(“Enter your name:”); gets(name);

for (I=0,I

if (strcmp(list[I],name)==0) flag=1; if (flag==1)

printf(“%s is in our class \\n”,name); else

printf(“%s is not in our class \\n”,name); }

5.3.7 字符数组应用举例

【例1】:输入一行字符,统计其中有多少个单

词(单词间以空格分隔)。

如:输入“ I am a boy.\,有4个单词。 算法:单词的数目由空格出现的次数决定(连续出现的空格记为出现一次;一行开头空格不算)。应逐个检测每一个字符是否为空格。

用num表示单词数(初值为0)。word=0表示前一字符为空格,word=1表示前一字符不是空格,word初值为0。如果前一字符是空格,当前字符不是空格,说明出现新单词,num加1。

第 27 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

框图:

第 28 页 共 30 页