2025-03-20 学习记录--C/C++-C 库函数 - toupper()、tolower()、 isspace()、isxdigit()

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、C 库函数 - toupper() ⭐️

C 标准库 - <ctype.h>

  • C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和转换字符,这些函数主要用于检查字符的类型(如字母、数字、空白字符等)以及进行字符大小写转换。

(一)、函数声明 🍭

int toupper(int c);

把小写字母转换为大写字母。

参数:🎀
  • c – 这是要被转换为大写的字母。
返回值:🎀
  • 如果 c 有相对应的大写字母,则该函数返回 c 的大写字母,否则 c 保持不变。返回值是一个可被隐式转换为 char 类型的 int 值。
举例: 🎀
#include <stdio.h>  // 引入标准输入输出库,用于使用 putchar 等函数
#include <ctype.h>  // 引入字符处理库,用于使用 toupper 函数

int main() {
    int i = 0;      // 初始化计数器 i,用于遍历字符串
    char str[] = "runoob"; // 定义一个字符数组 str,并初始化为 "runoob"

    // 遍历字符串 str
    while (str[i]) { // 当 str[i] 不是字符串结束符 '\0' 时,继续循环
        putchar(toupper(str[i])); // 将当前字符转换为大写并输出
        i++; // 计数器 i 递增,移动到下一个字符
    }

    return 0; // 程序正常结束
}

在这里插入图片描述

在这里插入图片描述

二、C 库函数 - tolower() ⭐️

C 标准库 - <ctype.h>

  • C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和转换字符,这些函数主要用于检查字符的类型(如字母、数字、空白字符等)以及进行字符大小写转换。

(一)、函数声明 🍭

int tolower(int c);

把给定的字母转换为小写字母。

参数:🎀
  • c – 这是要被转换为小写的字母。
返回值:🎀
  • 如果 c 有相对应的小写字母,则该函数返回 c 的小写字母,否则 c 保持不变。返回值是一个可被隐式转换为 char 类型的 int 值。
举例: 🎀
#include <stdio.h>  // 引入标准输入输出库,用于使用 putchar 等函数
#include <ctype.h>  // 引入字符处理库,用于使用 tolower 函数

int main() {
    int i = 0;      // 初始化计数器 i,用于遍历字符串
    char str[] = "RUNOOB"; // 定义一个字符数组 str,并初始化为 "RUNOOB"

    // 遍历字符串 str
    while (str[i]) { // 当 str[i] 不是字符串结束符 '\0' 时,继续循环
        putchar(tolower(str[i])); // 将当前字符转换为小写并输出
        i++; // 计数器 i 递增,移动到下一个字符
    }

    return 0; // 程序正常结束
}

在这里插入图片描述
在这里插入图片描述

三、C 库函数 - isspace() ⭐️

C 标准库 - <ctype.h>

  • C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和转换字符,这些函数主要用于检查字符的类型(如字母、数字、空白字符等)以及进行字符大小写转换。

(一)、函数声明 🍭

int isspace(int c);

检查所传的字符是否是空白字符。

  • 标准的空白字符包括:👇🏻
    ' ' (0x20) space (SPC) 空格符
    '\t' (0x09) horizontal tab (TAB) 水平制表符
    '\n' (0x0a) newline (LF) 换行符
    '\v' (0x0b) vertical tab (VT) 垂直制表符
    '\f' (0x0c) feed (FF) 换页符
    '\r' (0x0d) carriage return (CR) 回车符
参数:🎀
  • c – 这是要检查的字符。
返回值:🎀
  • 该如果 c 是一个空白字符,则该函数返回非零值(true),否则返回 0false)。
举例: 🎀
#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 等函数
#include <ctype.h>  // 引入字符处理库,用于使用 isspace 函数

int main() {
    int var1 = 't'; // 定义变量 var1,并初始化为字符 't'
    int var2 = '1'; // 定义变量 var2,并初始化为字符 '1'
    int var3 = ' '; // 定义变量 var3,并初始化为空格字符 ' '

    // 检查 var1 是否是空白字符
    if (isspace(var1)) { // 如果 var1 是空白字符
        printf("var1 = |%c| 是空白字符\n", var1); // 输出 var1 是空白字符
    } else { // 否则
        printf("var1 = |%c| 不是空白字符\n", var1); // 输出 var1 不是空白字符
    }

    // 检查 var2 是否是空白字符
    if (isspace(var2)) { // 如果 var2 是空白字符
        printf("var2 = |%c| 是空白字符\n", var2); // 输出 var2 是空白字符
    } else { // 否则
        printf("var2 = |%c| 不是空白字符\n", var2); // 输出 var2 不是空白字符
    }

    // 检查 var3 是否是空白字符
    if (isspace(var3)) { // 如果 var3 是空白字符
        printf("var3 = |%c| 是空白字符\n", var3); // 输出 var3 是空白字符
    } else { // 否则
        printf("var3 = |%c| 不是空白字符\n", var3); // 输出 var3 不是空白字符
    }

    return 0; // 程序正常结束
}

在这里插入图片描述
在这里插入图片描述

四、C 库函数 - isxdigit() ⭐️

C 标准库 - <ctype.h>

  • C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和转换字符,这些函数主要用于检查字符的类型(如字母、数字、空白字符等)以及进行字符大小写转换。

(一)、函数声明 🍭

int isxdigit(int c);
  • 检查所传的字符是否是十六进制数字
  • 十六进制一般用数字 09 和字母 AF(或 a~f)表示,其中 A~F 表示 10~15: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
参数:🎀
  • c – 这是要检查的字符(是单个字符)。
返回值:🎀
  • 如果 c 是一个十六进制数字,则该函数返回非零的整数值,否则返回 0
举例: 🎀
#include <ctype.h>  // 引入字符处理函数库,包含isxdigit()等函数
#include <stdio.h>  // 引入标准输入输出库,包含printf()等函数

int main() {
   char c = '5';    // 定义一个字符变量c并初始化为'5'(数字字符)
   int result;      // 定义一个整型变量result,用于存储函数返回值

   // 测试字符'5'是否为十六进制字符
   result = isxdigit(c); // 调用isxdigit()检查c是否为十六进制字符(0-9, a-f, A-F)
                         // 是则返回非零值,否则返回0
                         // '5'是十六进制字符,result将被设为非零值(通常是1)
   
   // 打印测试结果
   printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c)); // 直接调用isxdigit()并打印结果
   printf("\n");  // 打印换行符,使输出更清晰

   c = 'M';       // 将字符变量c重新赋值为'M'(非十六进制字符)

   // 测试字符'M'是否为十六进制字符
   result = isxdigit(c); // 再次调用isxdigit()
                         // 'M'不是十六进制字符,result将被设为0

   // 打印测试结果
   printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c)); // 直接调用isxdigit()并打印结果

   return 0;  // 程序正常结束
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小呀小萝卜儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值