C语言头文件<ctype.h>is开头函数的作用(ispha,isdight,isxdight,isgrapha,isprint,isupper,islower),toupper,tolower。

1,isprint

首先把显示函数敲上,用了两个指针p和q,都指向数组a。

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
	char a[]={"asaqs da1 sda,.as,.."};
	char *p,*q;
	puts(a);
	p=a;
	q=p;
	while(*p){
		if(isprint(*p)){
			*q=*p;
			p++;
			q++
		}
		else
			p++;
	}
	*q=*p;
	puts(a);
	return 0;
}

看结果可以得知isprint是打印全部符号

asaqs da1 sda,.as,..
asaqs da1 sda,.as,..

2,ispha

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
	char a[]={"asaqs da1 sda,.as,.."};	
	char *p,*q;
	puts(a);	
	p=a;
 	q=p;
 	while(*p){
  		if(ispha(*p)){
			*q=*p;
			p++;
			q++;
		}
		else
			p++;
	}
	
	*q=*p;
	puts(a);
	return 0;
}

看结果可以看出ispha是打印字母

asaqs da1 sda,.as,..
asaqsdasdaas

3,isdight

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
	char a[]={"asaqs da1 sda,.as,.."}; 
	char *p,*q;
	puts(a); 
	p=a;
	q=p;
	while(*p){
		if(isdight(*p)){
			*q=*p;
			p++;
			q++;
		}
		else
			p++;
}
 
	*q=*p;
	puts(a);
	return 0;
}

看结果可以看出isdight打印数字,其实准确的说是打印10进制数字

asaqs da1 sda,.as,..
1

isxdight

而isxdight是打印16进制数字

4,isgraph

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
	char a[]={"asaqs da1 sda,.as,.."}; 
	char *p,*q;
	puts(a); 
	p=a;
	q=p;
	while(*p){
		if(isgraph(*p)){
			*q=*p;
			p++;
			q++;
		}
		else
			p++;
	}
 
	*q=*p;
	puts(a);
	return 0;
}

看结果可以看出isgraph是打印非空格的字符

asaqs da1 sda,.as,..
asaqsda1sda,.as,..

5,islower

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
	char a[]={"Welcome da1 sda,.as,.."}; 
	char *p,*q;
	puts(a); 
	p=a;
	q=p;
	while(*p){
		if(islower(*p)){
			*q=*p;
			p++;
			q++;
		}
		else
			p++;
	}
 
	*q=*p;
	puts(a);
	return 0;
}

看结果可以看出islower打印的是小写字母

Welcome da1 sda,.as,..
elcomedasdaas

6,isupper

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
 	char a[]={"Welcome da1 sda,.as,.."}; 
 	char *p,*q;
 	puts(a); 
	p=a;
	q=p;
	while(*p){
		if(isupper(*p)){
			*q=*p;
   			p++;
   			q++;
   		}
 	 	else
 			p++;
 	}
	*q=*p;
	puts(a);
	return 0;
}

可以看出isupper打印的是大写字母

Welcome da1 sda,.as,..
W

7,tolower

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{	
	char a[]={"WELCOMEto_ china,.,.."}; 
	char *p,*q;
	puts(a); 
	p=a;
	q=p;
	while(*p){
		if(isalpha(*p)){
			*p=tolower(*p);
			*q=*p;
			p++;
			q++;
		}
		else
			p++;
	}
	*q=*p;
	puts(a);
	return 0;
}

可以看出tolower是把大写变成小写。

WELCOMEto_ china,.,..
welcometochina

8,toupper

#include <stdio.h>
#include <ctype.h>
int main(int argc,char *argv[])
{ 
	char a[]={"WELCOMEto_ china,.,.."}; 
	char *p,*q;
	puts(a); 
	p=a;
	q=p;
	while(*p){
		if(isalpha(*p)){
			*p=toupper(*p);
			*q=*p;
			p++;
			q++;
		}
		else
			p++;
	}
	*q=*p;
	puts(a);
	return 0;
}

可以看出toupper是把小写转换成大写

WELCOMEto_ china,.,..
WELCOMETOCHINA

有了这些函数,字符串还不是随便我们拿捏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值