首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

字符串处置函数及统计单词个数

2012-10-28 
字符串处理函数及统计单词个数一、字符串处理函数1、puts(字符数组)其作用是将一个字符串(以\0结束的字符

字符串处理函数及统计单词个数

一、字符串处理函数

1、puts(字符数组)

其作用是将一个字符串(以'\0'结束的字符序列)输出到终端。假如已定义str是一个字符串数组名,且该数组已被初始化为“China”,则执行

puts(str);

那么终端将显示"China"字符串。由于可以用printf函数输出字符串,因此puts函数用的不多

注:用puts函数输出的字符串中可以包含转义字符,例如


?在输出时将结束标志'\0'转换为'n',即输出完字符串后换行

?

2、gets函数

作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址

例如:


?注意:用puts和gets函数只能输出或输入一个字符串,不能写成

puts(str1,str2)或gets(str1,str2)

?

3、strcat函数

一般形式strcat(字符数组1,字符数组2);

strcat是字符串连接的意思,其作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符串1中,函数调用后得到一个函数值---字符数组1的地址。例如

?运行结果:


字符串处置函数及统计单词个数
?注意:

①字符数组1必须足够大,以便容纳连接后的新字符串。

②连接前两个字符串的后面都有'\0',连接时候将字符串1后面的'\0'取消,只在新串最后保留'\0'

?

4、strcpy和strncpy函数

一般形式

strcpy(字符数组1,字符串2)

作用是字符串复制,即将字符串2复制到字符数组1中,例如


?

注意:

①字符数组1必须足够大

②字符数组1必须是数组名形式,字符数组2可以是字符串

?

strncpy函数将紫飞虎传2中当前n个字符复制到字符数组1中去。例如

strncpy(str1,str2,2)

作用是将str2中最前面2个字符复制到str1中,取代str1中原有的最前面的2个字符。但复制的字符个数n不应多于str1中原有的字符(不包括'\0')

?

5、strcmp函数

一般形式

strcmp(字符串1,字符串2)

它的作用是比较字符串1和字符串2,例如


?

字符串比较规则:

"A"<"B","a"<"b","a">"A"

?

注意:

①如果字符串1=字符串2,则函数值为0

②如果字符串1>字符串2,则函数值为一个正整数

③如果字符串1<字符串2,则函数值为一个负整数

?

6、strlen函数

它是测试字符串长度的函数,函数值为字符串中实际长度(不包括'\0'在内),例如


?输出结果不是10,也不是6,而是5

?

7、strlwr函数

strlwr(字符串)

作用是将字符串中国的大写字母换成小写字母

?


?

?

8、strupr函数

其一般形式为

strupr(字符串)

作用是将字符串中小写的字母转换为大写字母

?


?

?

二、统计一句话的单词个数

例子:

输入一行字符,统计其中有多少个单词,单词之间用空格分隔开


?

程序中变量i作为循环变量,num用来统计单词个数,word作为判别是否单词的标志,若word=0表示未出现单词,如果出现单词word就设置成1.

解题思路:

单词的数目可以由空格出现次数决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)。如果测出某一个字符为非空格,而它的面前的字符是空格(通过if(word == 0)来判断),则表示“新单词开始了”,此时使num(单词数)累加1.如果当前字符为非空格而其前面的字符也是非空格,则意味着仍然是原来那个单词的继续,num不应该在累加1,前面一个字符是否空格可以从word的值看出来,若word等于0,则表示前一个字符是空格;如果word等于1,意味着前一个字符为非空格。

?

如果输入"I am a boy",对每个字符的有关参数状态如下:

4

?

注意:程序中for语句中的“循环条件”为

(c=string[i])!='\0'

它的作用是先将字符数组的某个元素(一个字符)赋给字符变量c。此时赋值表达式的值就应该是该市该字符,然后再判定它是否结束符,这个循环条件包含了一个赋值操作和一个关系操作。

?

热点排行