《C语言程序设计基础》课件第6章.ppt
(3)有时也可以只复制字符串2中的前若干个字符,其具体使用格式为
strcpy(字符数组1,字符串2,m)
表示将字符串2中的前m个字符复制到字符数组1中,取代字符数组1中的前m个字符。5.字符串比较函数strcmp
格式:
strcmp(字符串1,字符串2);
功能:对两个字符串字母逐个比较,比较对应字符的ASCII码值,函数返回比较结果。
返回值情况如下:
(1)字符串1=字符串2,返回值为0,表示两字符串每个字符都相同,字符个数也相同。
(2)字符串1字符串2,返回大于0的正整数值,只要遇到串1的一个字符大于串2的字符,就是串1大于串2。
(3)字符串1字符串2,返回小于0的负整数值,只要遇到串1的一个字符小于串2的字符,就是串1小于串2。6.求字符串长度函数strlen
格式:
strlen(字符数组名);
功能:测字符串的实际长度(不含字符串结束标志“\0”)并作为函数返回值。
7.小写转大写函数strupr
格式:
strupr(字符串);
功能:将字符串中的小写字母转换为大写字母,其他字符不转换(包括大写字母和非字母)。其中“字符串”可以是字符数组名或字符串常量,函数的返回值为转换后的字符串
地址。8.大写转小写函数strlwr
格式:
strlwr(字符串);
功能:将字符串中的大写字母转换为小写字母,其他字符不转换(包括小写字母和非字母)。其中“字符串”可以是字符数组名或字符串常量,函数的返回值为转换后的字符串地址。
6.3.4字符数组的应用程序设计
字符数组中字符数据的处理程序设计,其思路方法与数值数组相同。只是输入/输出可有两种方式:一是字符数组元素的引用方式,二是串的整体方式。要注意字符数组赋初值的方式,它是通过字符赋初值的,字符串没有结束符“\0”,应按字符元素输入/输出。在字符串的处理中,要善于使用串处理库函数。例6.13从键盘输入一串字符,实现其中大小写字母的转换并输出。
编程思路:通过字符串输入给字符数组提供值,系统自动添加字符串结束符“\0”,可用字符串方式输入/输出。从附录A可知,字母大小写的ASCII码值相差32,将大写字母的ASCII码值加32就转换成小写字母,将小写字母的ASCII码值减32就转换成大写字母。
运行结果:
分析:程序中使用了字符串长度检测函数,程序头部有“#includestring.h”。在字符串大小写转换的循环中是以字符数组元素引用方式进行处理的。
例6.14输入一行字符,统计其中英文字母、数字和其他字符的个数。
编程思路:定义字母、数字和其他字符的计数变量letter、num和other,分别进行计数。
运行结果:
分析:为使判断字母、数字和其他字符的表达式简洁,将字符元素赋给字符变量c。判断字母的表达式c=Ac=Z||(c=ac=z的运算顺序应为((c=A)(c=Z))||((c=a)(c=z))。
实训任务十一熟悉数组的使用
实训项目1分析以下问题,从每小题的4个备选项中选择一个正确项。
(1)设有数组定义“chararrar[]=China;”,则数组array所占的空间为()个字节。
A.4 B.5 C.6 D.7
实训项目2分析程序的执行结果,并上机验证。
(1)下面程序的执行结果是。
实训项目3分析程序,在下划线处填写适当的语句代码,使程序能够正确运行。
(1)将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。
(2)以下程序统计从终端输入的字符中大写字母的个数,用#号作为输入结束标志。请在下面程序空格处输入代码并在VC++6.0中调试运行。 实训任务十二学习使用数组的程序
设计方法
编写以下项目问题的程序,并调试运行程序,使其实现所要求的功能。
实训项目1有一个已排好的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
实训项目2输入一个4?×?3的整数矩阵,输出其中最大值、最小值和它们的下标(即行号和列号)。实训项目3利用一维数组求数列11235813…第二十项的值。(数列11235813…也称为Fibonacci(斐波列契))。
实训项目4有一行电文译文,按下面规律译成密码:
A-Za-z
B-Yb-y
C-Xc-x
…
即第一个字母变成第26个字母,第i个字母变成