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

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

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

【例】:

static char c[6]; scanf(\printf(\注意:

(1)输入时,遇回车键结束,但获得的字符中不

包含回车键本身,而是在字符串末尾添'\\0'。因此,定义的字符数组必须有足够的长度,以容纳所输入的字符。(如,输入5个字符,定义的字符数组至少应有6个元素)。 (2)一个scanf函数输入多个字符串,输入时以

“空格”键作为字符串间的分隔。 【例1】:

static char str1[5],str2[5],str3[5]; scanf(\输入数据:How are you?

str1、str2、str3获得的数据见下图:

第 21 页 共 30 页

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

【例2】:

static char str[13]; scanf(\输入:How are you?

结果:仅“How”被输入数组str 如要想str获得全部输入(包含空格及其以后的字符),程序应设计为:

static char c[13]; int i;

for(i=0;i<13;i++) c[i] = getchar(); (3)C语言中,数组名代表该数组的起始地址,

因此,scanf()函数中不需要地址运算符&。(在Turbo C中,加上&运算符也可以)。 static char str[13]; scanf(\

scanf(\&str); /* 错误 */ (4)gets()函数:输入字符串到数组。 【例】:

static char str[12]; gets(str);

第 22 页 共 30 页

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

注意:gets()一次只能输入一个字符串。

而scanf()可以输入几个字符串。

(5)输出时,遇'\\0'结束,且输出字符中不包含

'\\0'。

(6)“%s”格式输出字符串时,printf()函数的

输出项是字符数组名,而不是数组元素名。 【例】:

static char c[6] = \

printf(\printf(\ */ (7)“%s”格式输出时,即使数组长度大于字符

串长度,遇'\\0'也结束。 【例】:

static char c[10] = {\

printf(\/*只输出5个字符 */ (8)“%s”格式输出时,若数组中包含一个以上

'\\0',遇第一个'\\0'时结束。

(9)puts()函数:输出字符串(以'\\0'结尾)。

注意:puts()一次只能输出一个字符串。而printf()可以输入输出几个字符串。 【例】:

static char c[6]=\

第 23 页 共 30 页

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

/*printf、puts均以'\\0'结尾*/

printf(\

/*printf需要格式控制符%s*/

puts(c);

/*puts不需要格式控制符,且自动换行*/

5.3.5 字符串运算函数 1、strcat():连接字符串。

格式:strcat(字符串1,字符串2); 把“字符串2”连接到“字符串1”的后面。 2、strcpy():字符串拷贝。 格式:strcpy(字符串1,字符串2); 把“字符串2”的值拷贝到“字符串1”中。 3、strcmp():字符串比较。

格式:int strcmp(字符串1,字符串2); 比较规则:逐个字符比较ASCII码,直到遇到不同字符或'\\0',比较结果是该函数的返回值。 字符串1 < 字符串2 字符串1 == 字符串2 字符串2 > 字符串2 第 24 页 共 30 页

strcmp()返回值 <0 =0 >0