c语言设计由数组,C语言程序设计_07数组.ppt

C语言程序设计_07数组

注意:%S用在SCANF()中控制输入时,输入的字符串不能含有空格或制表符。因为C语言规定,用SCANF()输入字符串是以空格或回车符作为字符串间隔符号;当%S遇到空格或制表符时,就认为输入结束。 2.字符串输入函数GETS()和字符串输出函数PUTS()使用GETS()的一般格式为:GETS(字符数组名);用PUTS()可以输出字符串,字符串中空格或回车不影响,遇到“\0”结束字符串输出,而且自动把字符串末尾的“\0”字符转换成换行符,而%S控制的PRINTF()则没有将字符串末尾的“\0”转换成换行符的功能,必须增加“\N”来实现换行。调用它的一般格式为:PUTS(字符数组名或字符串常量); 【例7.15】一维字符数组的输入和输出。【例7.16】二维字符数组的输入和输出。 7.5.3 字符串处理函数1.求字符串长度函数STRLEN()该函数用来计算字符串的长度,即所给字符串中包含的字符个数(不计字符串末尾的“\0”字符),函数返回值为整型,其调用格式为:STRLEN(字符串)其中的参数可以是字符数组名或字符串常量。 2.字符串复制函数STRCPY()和STRNCPY()该函数用来将一个字符串复制到另一个字符串中,函数类型为VOID,其调用格式为:STRCPY(字符数组1,字符串2)该函数可以将字符串2中的字符复制到字符数组1中。其中字符数组1必须定义得足够大,以容纳被复制的字符串。函数中的参数字符数组1必须是字符数组名,字符串2可以是字符数组名或字符串常数。 在某些应用中,需要将一个字符串的前面一部分复制,其余部分不复制。函数STRNCPY()可实现这个要求,其调用格式为:STRNCPY(字符数组1,字符串2,N)该函数的作用是将字符串2中的前N个字符复制到字符数组1(附加“\0”)。其中N是整型表达式,指明欲复制的字符个数。如果字符串2中的字符个数不多于N,则该函数调用等价于:STRCPY(STR1,STR2)注意:不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。例如,设STR1是字符数组名,则STR1=“CHANGSHA”;是非法的,只能用STRCPY函数。 3.字符串连接函数STRCAT()函数调用格式为:STRCAT(字符串1,字符串2)该函数将字符串2连接在字符串L的后面。限制字符串1不能是字符串常量。函数调用返回一个函数值,函数值为字符串1的开始地址。正确使用该函数,要求字符串1必须足够大,以便能容纳字符串2的内容。注意:连接前,字符串1和字符串2都各自有“\0”。连接后,字符串1中的“\0”在连接时被覆盖掉,而在新的字符串有效字符之后保留一个“\0”。 4.字符串比较函数STRCMP()函数调用格式为:STRCMP(字符串1,字符串2)该函数比较两个字符串大小。对两个字符串从左至右逐个字符相比较(按字符的ASCII码值的大小),直至出现不同的字符或遇到“\0”为止。如全部字符都相同,则认为相等,函数返回0值;若出现不相同的字符,则以第一个不相同的字符比较结果为准。若字符串1的那个不相同字符小于字符串2的相应字符,函数返回一个负整数;反之,返回一个正整数。注意:对字符串不允许执行相等“==”和不相等“!=”运算,必须用字符串比较函数对字符串作比较。 5.字符串大写字母转换成小写字母函数STRLWR()函数调用格式为:STRLWR(字符串)该函数将字符串中的大写字母转换成小写字母。其中的“字符串”不能是字符串常量。 6.字符串小写字母转换成大写字母函数STRUPR()函数调用格式为:STRUPR(字符串)该函数将字符串中的小写字母转换成大写字母。其中的“字符串”不能是字符串常量。 7.5.4 字符数组应用举例【例7.17】编写一个字符串比较程序。从键盘输入两个字符串,一个存到S1数组,一个存到S2数组,对两个字符串的大小进行比较,如果出现不一致的字符,则字符大的字符串大。【例7.18】输入一行字符,统计其中单词个数。约定单词由英文字母组成,其他字符用来分隔单词。 【例7.19】输入一行文字,找出其中大写字母、小写字母、空格、数字及其他字符各有多少。【例7.20】输入N个英文单词,输出其中以元音字母A、E、I、O、U开头的单词。【例7.21】逐行输入正文(以空行结束),从正文行中拆分出英文单词,输出一个按字典顺序排列的单词表。约定单词只由英文字母组成;单词之间由非英文字母分隔;相同单词只输出一次;大小写字母认为是不同字母;最长单词为20个英文字母。 7.6 数组作为函数的参数7.6.1 数组元素作函数的参数数组定义并赋值之后,数组中的元素可以逐一使用,使用方法与普通变量相同。由于形参是在函数定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值