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

1,isprint

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

#include 
#include 
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 
#include 
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 
#include 
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 
#include 
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 
#include 
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 
#include 
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 
#include 
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 
#include 
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

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

你可能感兴趣的:(c语言,字符串,指针)