栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言(字符串与字符串函数)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言(字符串与字符串函数)

一、字符串

1.字符串是以0或''结尾的一串字符,0代表字符串的结束,但不是字符串的一部分,计算字符串长度的时候不包含这个0

二、字符串函数(需要在头文件加上string库即#include才可调用函数)

getchar()函数:

getchar();  //作用:输入缓存区读入一个字符

putchar()函数: 

putchar();//输出一个字符

gets()函数:

gets(a[]);  //接受输入的字符串,按回车键结束输入

puts()函数:

puts(a[]);  //输出gets()函数输入的字符串,且自带换行(n)作用

strlen()函数: 

strlen(a[]);  //a[n]:字符数组即字符串
               //返回值字符串中''前出现字符的个数,类型为int型

函数运用:

#include  
#include 
int main(){
	char a[]="hello World";
	int length=strlen(a);
	printf("%d",length);
}
//输出“11”

strcpy()函数: 

strcpy(a[n],b[n]);  //将第二个数组复制到第一个数组中

strcat()和strncat()函数:

strcat(a[],b[]);  //将第二个字符串复制在第一个字符串
strncat(a[],b[],n);  //将第二个字符串的前几个字符复制到第一个字符串上
                     //无返回值

函数运用: 

#include 
#include 
int main(){
	char a[] ="";     //定义空数组a
	char c[]="";     //定义空数组c
	char b[] = "hello world!";//定义数组b
	strcat(a, b);
	printf("%sn", a);
	strncat(c, b, 5);
	printf("%sn", c);
	return 0;
}
//输出“hello world!
     //hello”

strcmp()函数:

strcmp(a[],b[]);  //第一个字符串大于第二个字符串时返回正数
                     //第一个字符串等于第二个字符串时返回0
                    //第一个字符串小于第二个字符串时返回负数
//由于字符串无法使用等号判断字符串是否相等,经常以此函数的返回值判断字符串是否一样

strlwr()函数:

strlwr(a[]);  //将字符串中的大写字母转换成小写字母
               //无返回值

 strupr()函数:

strupr(a[]);  //将字符串中的小写字母转换为大写字母
               //无返回值

函数运用:

#include  
#include 
int main(){
	char a[] = "adfFDfdB";
	strupr(a);
	printf("%s",a);
}
//输出“ADFFDFDB”

strstr()函数:

strstr(a[],b[]);  //用于判断第二个数组b[]是否为第一个数组a[]的子串,若找到,则返回第二个数组 
                    //在第一个数组出现的第一个字符出现的位置,否则返回空字符
                    //返回值类型为char*

函数运用:

#include  
#include 
int main(){
	char a[] = "abcdefg123";
	char b[] = "b";
	char* ret = strstr(a, b);
	if (ret == 0)
	{
	    printf("Can not find!n");
	}
	else
	{
		printf("%sn", ret);
	}
}//输出为“bcdefg123”

三、关于字符串的例题: 

//输入N个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数
#include
int main()
{
	int N;
	int i;
	int letter=0,blank=0,digit=0,other=0;
	scanf("%d",&N);
	char ch;
	getchar();  //吸收掉scanf中的回车
	for(i=0;i='A'||ch<='z'&&ch>='a')
		letter++;
		else if(ch<='9'&&ch>='0')
		digit++;
		else if((ch==' ')||(ch=='n'))
		blank++;
		else
		other++;
	}
	printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849777.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号