# ctype

***

**1. Check if a Character is Alphabetic**

```c
#include <ctype.h>
int main() {
  char c = 'a';
  if (isalpha(c)) {
    printf("%c is an alphabetic character.\n", c);
  }
}
```

**2. Check if a Character is Digit**

```c
#include <ctype.h>
int main() {
  char c = '5';
  if (isdigit(c)) {
    printf("%c is a digit.\n", c);
  }
}
```

**3. Check if a Character is Alphanumeric**

```c
#include <ctype.h>
int main() {
  char c = 'Z';
  if (isalnum(c)) {
    printf("%c is an alphanumeric character.\n", c);
  }
}
```

**4. Convert Uppercase to Lowercase**

```c
#include <ctype.h>
int main() {
  char c = 'A';
  c = tolower(c);
  printf("%c is the lowercase equivalent of %c.\n", c, 'A');
}
```

**5. Convert Lowercase to Uppercase**

```c
#include <ctype.h>
int main() {
  char c = 'a';
  c = toupper(c);
  printf("%c is the uppercase equivalent of %c.\n", c, 'a');
}
```

**6. Check if a Character is White Space**

```c
#include <ctype.h>
int main() {
  char c = ' ';
  if (isspace(c)) {
    printf("%c is a white space character.\n", c);
  }
}
```

**7. Check if a Character is a Control Character**

```c
#include <ctype.h>
int main() {
  char c = '\n';
  if (iscntrl(c)) {
    printf("%c is a control character.\n", c);
  }
}
```

**8. Check if a Character is a Printable Character**

```c
#include <ctype.h>
int main() {
  char c = 'A';
  if (isprint(c)) {
    printf("%c is a printable character.\n", c);
  }
}
```

**9. Check if a Character is a Graph**

```c
#include <ctype.h>
int main() {
  char c = '!';
  if (isgraph(c)) {
    printf("%c is a graph character.\n", c);
  }
}
```

**10. Check if a Character is a Punctuation Mark**

```c
#include <ctype.h>
int main() {
  char c = ',';
  if (ispunct(c)) {
    printf("%c is a punctuation mark.\n", c);
  }
}
```

**11. Check if a Character is a Symbol**

```c
#include <ctype.h>
int main() {
  char c = '@';
  if (issymbol(c)) {
    printf("%c is a symbol.\n", c);
  }
}
```

**12. Check if a String is Uppercase**

```c
#include <ctype.h>
int main() {
  char str[] = "ABCDEF";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (isupper(str[i])) {
      printf("%c is an uppercase character.\n", str[i]);
    }
  }
}
```

**13. Check if a String is Lowercase**

```c
#include <ctype.h>
int main() {
  char str[] = "abcdef";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (islower(str[i])) {
      printf("%c is a lowercase character.\n", str[i]);
    }
  }
}
```

**14. Check if a String is Alphabetic**

```c
#include <ctype.h>
int main() {
  char str[] = "Alphabet";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (isalpha(str[i])) {
      printf("%c is an alphabetic character.\n", str[i]);
    }
  }
}
```

**15. Check if a String is Digit**

```c
#include <ctype.h>
int main() {
  char str[] = "12345";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (isdigit(str[i])) {
      printf("%c is a digit.\n", str[i]);
    }
  }
}
```

**16. Check if a String is Alphanumeric**

```c
#include <ctype.h>
int main() {
  char str[] = "Alphanumeric";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (isalnum(str[i])) {
      printf("%c is an alphanumeric character.\n", str[i]);
    }
  }
}
```

**17. Convert a String to Uppercase**

```c
#include <ctype.h>
int main() {
  char str[] = "lowercase";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    str[i] = toupper(str[i]);
  }
  printf("Uppercase: %s\n", str);
}
```

**18. Convert a String to Lowercase**

```c
#include <ctype.h>
int main() {
  char str[] = "UPPERCASE";
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    str[i] = tolower(str[i]);
  }
  printf("Lowercase: %s\n", str);
}
```

**19. Check if a String is a Palindrome**

```c
#include <ctype.h>
int is_palindrome(char *str) {
  int i, len;
  len = strlen(str);
  for (i = 0; i < len / 2; i++) {
    if (tolower(str[i]) != tolower(str[len - i - 1])) {
      return 0;
    }
  }
  return 1;
}
```

**20. Check if a String is a Valid Identifier**

```c
#include <ctype.h>
int is_valid_identifier(char *str) {
  if (!isalpha(str[0]) && str[0] != '_') {
    return 0;
  }
  int i;
  for (i = 1; str[i] != '\0'; i++) {
    if (!isalnum(str[i]) && str[i] != '_') {
      return 0;
    }
  }
  return 1;
}
```

**21. Trim Whitespace from a String**

```c
#include <ctype.h>
char *trim_whitespace(char *str) {
  int i, j;
  i = 0;
  j = strlen(str) - 1;
  while (isspace(str[i])) {
    i++;
  }
  while (isspace(str[j])) {
    j--;
  }
  str[j + 1] = '\0';
  return str + i;
}
```

**22. Count the Number of Vowels in a String**

```c
#include <ctype.h>
int count_vowels(char *str) {
  int i, count;
  count = 0;
  for (i = 0; str[i] != '\0'; i++) {
    if (tolower(str[i]) == 'a' || tolower(str[i]) == 'e' || tolower(str[i]) == 'i' ||
        tolower(str[i]) == 'o' || tolower(str[i]) == 'u') {
      count++;
    }
  }
  return count;
}
```

**23. Replace All Occurrences of a Character in a String**

```c
#include <ctype.h>
char *replace_character(char *str, char old_char, char new_char) {
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (str[i] == old_char) {
      str[i] = new_char;
    }
  }
  return str;
}
```

**24. Check if a Character is a Hexadecimal Digit**

```c
#include <ctype.h>
int is_hex_digit(char c) {
  return (isdigit(c) || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'));
}
```

**25. Check if a String is a Hexadecimal Number**

```c
#include <ctype.h>
int is_hex_number(char *str) {
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (!is_hex_digit(str[i])) {
      return 0;
    }
  }
  return 1;
}
```

**26. Convert a Hexadecimal String to an Integer**

```c
#include <ctype.h>
int hex_to_int(char *str) {
  int i, value;
  value = 0;
  for (i = 0; str[i] != '\0'; i++) {
    if (isdigit(str[i])) {
      value = value * 16 + str[i] - '0';
    } else if (str[i] >= 'a' && str[i] <= 'f') {
      value = value * 16 + str[i] - 'a' + 10;
    } else if (str[i] >= 'A' && str[i] <= 'F') {
      value = value * 16 + str[i] - 'A' + 10;
    }
  }
  return value;
}
```

**27. Check if a Character is a Whitespace**

```c
#include <ctype.h>
int is_whitespace(char c) {
  return (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\v' || c == '\f');
}
```

**28. Check if a String is a Blank Line**

```c
#include <ctype.h>
int is_blank_line(char *str) {
  int i;
  for (i = 0; str[i] != '\0'; i++) {
    if (!is_whitespace(str[i])) {
      return 0;
    }
  }
  return 1;
}
```

**29. Count the Number of Words in a String**

```c
#include <ctype.h>
int count_words(char *str) {
  int i, count;
  count = 0;
  for (i = 0; str[i] != '\0'; i++) {
    if (isspace(str[i])) {
      count++;
    }
  }
  count++;
  return count;
}
```

**30. Split a String into Words**

```c
#include <ctype.h>
char **split_words(char *str, int *word_count) {
  int i, j, k;
  char **words;
  *word_count = count_words(str);
  words = (char **)malloc(*word_count * sizeof(char *));
  i = 0;
  j = 0;
  k = 0;
  while (str[i] != '\0') {
    while (isspace(str[i])) {
      i++;
    }
    j = i;
    while (!isspace(str[j]) && str[j] != '\0') {
      j++;


```
