C语音 大小写字符转换函数tolower函数和toupper函数

原型:extern int toupper(int c);

用法:#include <ctype.h>
功能:将字符c转换为大写英文字母
说明:如果c为小写英文字母,则返回对应的大写字母;否则返回原来的值。


// toupper.c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char *s="Hello, World!";
int i,len;
//clrscr(); // clear screen
printf("%s\n",s);

len=strlen(s);
for(i=0;i<len;i++)
{
putchar(toupper(*s));

s++;
}

system("pause");
return 0;
}


tolower函数的用法

原型:extern int tolower(int c);
  
  用法:#i nclude <ctype.h>
  
  功能:将字符c转换为小写英文字母
  
  说明:如果c为大写英文字母,则返回对应的小写字母;否则返回原来的值。
  
  举例:

      // tolower.c
      
      #i nclude <syslib.h>
      #i nclude <ctype.h>

      main()
      {
        char *s="Hello, World!";
        int i;
        
        clrscr();        // clear screen
        printf("%s/n",s);
        for(i=0;i<strlen(s);i++)
        {
          putchar(tolower(s[i]));
        }
        
        getchar();
        return 0;
      }



### C语言中字符大小写转换函数 在C语言中,处理字符大小写转换主要依赖于标准库 `<ctype.h>` 提供的一系列字符操作函数以及自定义实现。对于整个字符串的操作,则通常需要遍历每一个字符并应用相应的转换逻辑。 #### 使用标准库函数进行单个字符转换 `<ctype.h>` 中包含了 `tolower()` `toupper()` 函数来分别执行小写到大写的转换相反方向的转换[^1]: ```c #include <ctype.h> // 小写字母转成大写字母 char upperCaseChar = toupper('a'); // 大写字母转成小写字母 char lowerCaseChar = tolower('A'); ``` 这些函数适用于ASCII编码下的字母,并且当输入不是字母时会返回原值不变。 #### 对整条字符串实施大小写变换 由于上述提到的标准库只作用于单一字符,在面对完整的字符串时就需要循环调用它们。下面给出一段代码展示如何将给定字符串全部变为小写的形式[^2]: ```c #include <stdio.h> #include <string.h> #include <ctype.h> void strToLower(char* str){ while (*str) { *str = tolower((unsigned char)*str); ++str; } } int main(){ char str[] = "Hello WORLD!"; // 调用自定义的小写转换函数 strToLower(str); printf("Converted string is: %s\n", str); return 0; } ``` 这段程序通过逐一遍历字符串中的每个字符来进行大小写的调整。值得注意的是这里并没有直接使用像 `strlwr()` 这样的非ANSI标准函数,因为后者并非跨平台通用[^4]。 为了提高效率或满足特定需求,也可以编写自己的大小写转换算法而不局限于现有的API接口。这涉及到对ASCII码表的理解,比如知道英文的大写字母'A'-'Z'(65-90)对应的小写字母'a'-'z'(97-122),两者之间相差固定的偏移量(即32)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值