Chinaunix首页 | 论坛 | 博客
  • 博客访问: 745364
  • 博文数量: 370
  • 博客积分: 2334
  • 博客等级: 大尉
  • 技术积分: 3222
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-06 16:56
文章分类

全部博文(370)

文章存档

2013年(2)

2012年(368)

分类:

2012-06-09 12:15:01

原文地址:常见字符ASCII码 作者:flychenxu

1、a的ASCII码为:97;26个字母的ASCII是连续的,则z的ASCII码为:122。
   A的ASCII码为:65;则Z的ASCII码为:90。
   两者之间的ASCII码差距为:32。可以利用这个差距,实现大小写字母之间的转换。
 如下面的例子是在一串字符中,如果是小写,则转换为大写字母。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. int main()
  5. {
  6.     char str[] = "12dfdhAFdWd$#@hj";
  7.     for (int i = 0; i < strlen(str); i++)
  8.     {
  9.         if (str[i] >= 97 && str[i] <= 122) //or if (str[i] >= 'a' && str[i] <= 'z')
  10.         {
  11.             str[i] -= 32;
  12.         }
  13.     }
  14.     printf("%s\n", str);

  15.     return 0;
  16. }

输出结果为:.

下面的例子是将大写字母转换为小写

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. int main()
  5. {
  6.     char str[] = "12dfdhAFdWd$#@hj";
  7.     for (int i = 0; i < strlen(str); i++)
  8.     {
  9.         if (str[i] >= 65 && str[i] <= 90) //or if (str[i] >= 'A' && str[i] <= 'Z')
  10.         {
  11.             str[i] += 32;
  12.         }
  13.     }
  14.     printf("%s\n", str);

  15.     return 0;
  16. }

2. 字符‘0’的ASCII码为48。‘0’到‘9’的ASCII是连续的,这样‘9’的ASCII码为:57。

   于是数字字符转换为数字时可以通过用数字字符的ASCII码-48即可。

阅读(503) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~