字符及其字符串

 字符是以数值存储在电脑里(硬盘内存):这个数值其实就是二进制数,也就是0101
ASCLL码表,将我们需要的字符(包括控制字符等)一一对应一个数值,0-127 

void test(void)
{
	char ch_1,ch_2,ch_3;
	ch_1='0';	//赋值字符‘0’,对应的数值是48 
	ch_3= 0 ; 	//赋值数值0,对应数值就是0 
	ch_2='1';	//赋值字符‘1’,对应的数值是49 
}

char类型的字符串

void test_1(void)
{
	//数组初始化 
	int a[5]={1,2,3,4,5};
	int i;
	
	//由数组定义,引出字符串概念 
	char str[10]={'h','e','l','l','o'};//部分元素初始化后,其他元素会以0的形式存在 
	for(i=0;i<5;i++)
	{
		printf("str[%d]=%c\n",i,str[i]);
	}
	//由数组定义,引出字符串概念,在数字后面存放'\0'代表字符串结束 
	char str_1[10]={'h','e','l','l','o','\0'};
	printf("%s",str_1); 
}

 字符串中对getchar和putchar的应用与注意事项

void test_2(void)
{
	//单个字符的获取,输出 
	char ch;
//	ch=getchar();  //getchar()结束标志,换行符    有文件在 <stdio.h>
//	putchar(ch);
	
//	ch=getch();  //输入一个字符就结束,不带回显功能      有文件在 <stdio.h>
//	putchar(ch);

	ch=getche();  //输入一个字符就结束,带回显功能    有文件在 <conio.h>
	printf("\n"); 
	putchar(ch);
}

 字符串中对 gets()、fgets()、puts()三种输出的用法

void test_3(void)
{
	char str_2[100]={0};
	char ch=0;
	//str_2[100]={"gfgfddfgfd"};	//错误写法
//	scanf("%s",str_2);				//无限获取缓冲区内容,遇到 '\n'scanf停止退出,
//									//中途遇到空格,tab,认为徐娅获取的内结束 
//	printf("%s",str_2); 
	
	//指定拿去内容的多少,可以避免缓冲区去溢出 
//	scanf("%5s",str_2);
//	getchar();			//拿走scanf 
//	printf("%s",str_2);
//	printf("\n");
	
	//会造成缓冲区溢出 
//	gets(str_2);					//无限获取缓冲区内容,遇到 '\n'scanf停止退出,
//	printf("%s",str_2);
//	ch=getchar();			//getchar会重新拿取内容 
//	putchar(ch);
//	printf("ch=%d",ch); 

	fgets(str_2,5,stdin);  	//比较完善的获取字符串 
	
	puts(str_2); 
	//printf("%s",str_2);
	//仅用于测试 
//	int i;
//	for(i=0;i<7;i++)
//	{
//		printf("%d\n",str_2[i]);
//	} 
}

字符函数的处理(文件 从ctype.h)

判断我们的字符是否是字母

isalnum() 如果是字母或者数字,返回值非0,其他是0

void test_isalnum(void)
{
	char ch;
	int ret;
	// isalnum() 如果是字母或者数字,返回值非0,其他是0 
	ret = iswalnum('1');		//返回数字4 
	ret = iswalnum('a');		//数字返回2
	ret = iswalnum('@'); 	//数字返回0 
	ret = iswalnum(' ');		//数字返回0
	ret = iswalnum(48);		//返回数字4
	printf("ret=%d\n",ret);
} 

 判断我们的字符是否是数字

void test_iswalpha(void)
{
	char ch1;
	int lpha;
	// isalpha()  如果是字母(包括大小写),返回值非0,其他是0 
	lpha=iswalpha('A');		//返回值是1 
	lpha=iswalpha('a');		//返回值是2 
	lpha=iswalpha('0');		//返回值是0 
	lpha=iswalpha('\0');		//返回值是0
	lpha=iswalpha('@');		//返回值是0
	printf("lpha=%d\n",lpha);		
}

判断小写字母

void test_iswlower(void)
{
	char ch2;
	int lower;
	// isWlower()  如果是小写字母,返回值非0,其他是0
	lower=iswlower('a');			//返回值是2
	lower=iswlower('A');			//返回值是0
	lower=iswlower('0');			//返回值是0
	lower=iswlower('\0');			//返回值是0
	lower=iswlower(0);			//返回值是0
	printf("lower=%d\n",lower);		
}

判断大写字母

void test_iswupper(void)
{
    char ch3;
    int upper;
    // iswupper()  如果是大写字母,返回值非0,其他是0
    upper=iswupper('a');            //返回值是0
    upper=iswupper('A');            //返回值是1
    upper=iswupper('0');            //返回值是0
    upper=iswupper(0);                //返回值是0
    printf("upper=%d\n",upper);
}

判断数字

void test_iswdigit(void)
{
	char ch4;
	int digit;
	// iswdigit() 如果是数字,返回值非0,其他是0
	digit = iswdigit('a');			//返回值是0 
	digit = iswdigit(0);			//返回值是0
	digit = iswdigit('0');			//返回值是4
	digit = iswdigit('\n');			//返回值是0
	digit = iswdigit('1');			//返回值是4
	printf("digit=%d",digit);
}

判断是否是16进制数

void test_iswxdigit(void)
{
	char ch5;
	int xdigit;
	xdigit = iswxdigit('0');			//返回值是128
	xdigit = iswxdigit('a');			//返回值是128
	xdigit = iswxdigit(1);				//返回值是0
	xdigit = iswxdigit('\n');			//返回值是0
	xdigit = iswxdigit('@');			//返回值是0
	xdigit = iswxdigit('1');			//返回值是128
	xdigit = iswxdigit('A');			//返回值是128
	printf("xdigit=%d\n",xdigit);
	
}

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值