874复习第三天-字符串的复制、连接

32 篇文章 2 订阅

1、字符串的复制必须使用:
strcpy、strncpy或memcpy函数
2、strcpy的函数调用格式
strcpy(字符数组1,字符串2);
3、strcpy包含的头文件是
string.h
4、strcpy的功能
将字符串2复制到字符数组1中去(包括字符串结尾符)。
strcpy的第一个参数必须是一个字符数组变量,第二个参数可以是一个包含字符串的字符数组变量,也可以是一个字符串常量。
5、写一个程序:
将输入的字符串复制给字符数组str1
char str1[20],str2[20];
scanf("%s",str2);
strcpy(str1,str2)l
使用strcpy实现串复制时,字符数组1的大小必须足够答以便能够存放字符串中的所有字符,包括字符串结尾符

6、strncpy函数的调用格式
strncpy(字符数组1,字符串2,长度n);
7、strcpy包含的头文件是:string.h
8、strncpy的功能
将字符串2的前n个字符复制到字符数组1中去,并在末尾加’\0’。因此strncpy函数可实现字符串的部分复制。当n大于或等于字符串2长度时,strncpy等价于strcpy.
9、char str[20];
strncpy(str,“0123456789”,5);//将“0123456789”的前5个字符复制到str中,并加’\0’
printf("%s",str);//讲输出01234
10、字符串的比较用什么
strcmp、stricmp、strncmp、strnicmp等库函数来完成
11、strcmp函数的调用格式为
strcmp(字符串1,字符串2)
12、strcmp包含的头文件是string.h
13、strcmp的功能
比较两个字符串的大小。如果字符串1大于字符串2,则返回一个正整数;
如果字符串1小于字符串2,则返回一个负整数;
如果字符串相等,则返回0
14、字符串比较的规则
将两个字符串逐个字符比较ASCII码大小,直到遇到不同的字符或’\0’为止。如果全部字符都相同,则这两个字符数组相等,如果出现不相同的字符,则以第一个不相同的字符的比较结果作为判断两个字符数组的大小的标准。
15、strcmp(“abcd”,“abCD”)
返回的是一个正整数
strcmp(“1234”,“12345”)将返回一负整数
strcmp(“hello”,“hello”);将返回0

16、stricmp(或strcmpi)函数的调用格式与strcmp相同,其功能也是比较两个字符串的大小,只不过stricmp在比较两个字符串时不区分大小写,而strcmp则区分大小写。

int i;
i=strcmp(“abcd”,“ABCD”);//i的值大于0
i=stricmp(“abcd”,“ABCD”);//i的值等于0

17、strncmp函数的调用格式为
strncmp(字符串1,字符串2,长度n);
18、strncmp包含的文件为
string.h
19、strncmp的功能
将字符串1前n个字符的字串与字符串2前n个字符的字串进行比较,返回值及比较规则同strcmp。
当n大于或等于其中某字符串长度时,strncmp等价于strcmp。
int i;
i=strncmp(“abcd”,“abcDEF”,3);//i的值等于0
i=strncmp(“abcd”,“abcDEF”,5);//i的值大于0

20、strnicmp函数的调用格式与strncmp相同,功能有什么区别?
strnicmp不区分大小写,strncmp区分大小写

字符串的连接

1、用什么函数进行字符串连接
strcat函数
2、strcat的调用格式
strcat(字符数组1,字符串2);
3、strcat包含的头文件为
string.h
4、strcat的功能
将字符串2连接到字符数组1的后面(后面包含结尾符)
其中,字符串2没变,而字符数组1中的字符将增加了。
5、char str1[20]=“12345”,str2[]=“6789”;
strcat(str1,str2);
printf("%s",str1);//将输出123456789
同strcpy函数一样,字符数组1的数组长度应足够大,保证可存储连接以后的所有字符。

常用的字符与字符串处理函数

string.h头文件中
strset(字符数组,字符):将字符数组中的字符串中的所有字符都设定指定字符
strlwr(字符数组),所有字符转换为小写
strupr(字符数组),所有字符转换成大写

ctype.h头文件中
toupper(字符)
将小写字符转换成大写字符
tolowar(字符)
将大写字符转换成小写字符

stdlib.h头文件中
atoi(字符串)
将字符串转换成整型
atol(字符串)
将字符串转换成长整型
atof(字符串)
将字符串转换为浮点型
ultoa(无符号长整数,字符数组,进制)
将无符号长整数转换成指定的进制数并以字符串的形式存放在字符数组中

输入一行字符,统计其中单词的个数,单词之间用空格间隙。

#include <stdio.h>
#define IN 1
#define OUT 0

void main()
{
char string[80],c;
int i,num=0,word=OUT;

gets(string);//接收字符串,可包含空格
for(i=0;(c=string[i]) !='\0';i++)
	if(c==' ')//判断c是否为空格
		word=OUT;
	else
		if(word==OUT)//注意是两个等于
		{
			word=IN;
			num++;
		}
	printf("There are %d words in the line.\n",num);

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向上Claire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值