1)研究ascii码表,重点关心几个问题:
(1)字符是整数,整数可以进行加减运算,字符可以吗?
(2)字母'A'-'Z'、'a'-'z'和数字'0'-'9'的ascii码值是不是连续的?
(3)字母'A'和'a'、'Z'和'z'的ascii码值的差是多少?
#include "_public.h"
int main(){
char ch=0;
printf("功能:若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0。\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%d\n",ISALPHA(ch));
printf("\n");
printf("功能:若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0。\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%d\n",ISALNUM(ch));
printf("\n");
printf("功能:若ch是数字('0'-'9')返回非0值,否则返回0。\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%d\n",ISDIGIT(ch));
printf("\n");
printf("功能:若ch是小写字母('a'-'z')返回非0值,否则返回0。\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%d\n",ISLOWER(ch));
printf("\n");
printf("功能:若ch是大写字母('A'-'Z')返回非0值,否则返回0。\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%d\n",ISUPPER(ch));
printf("\n");
printf("功能:若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')。\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%c\n",TOLOWER(ch));
printf("\n");
printf("功能:若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')\n请输入要判断的字符:");
/* scanf("%c",&ch);
getchar();*/
scanf("%c\n",&ch);
printf("判断结果--返回值是:%c\n",TOUPPER(ch));
return 0;
}