<ctype.h>
A maioria das funções deste arquivo de cabeçalhos serve para classificar caracteres ASCII, ou seja, determinar se um determinado byte representa uma letra, um dígito, um espaço em branco ou outro tipo de símbolo.
Mesmo que o argumento de cada função não seja um char mas sim um inteiro positivo, o caractere
passado para a função é convertido internamente para seu valor ASCII para a verificação.
Funções
int isalnum(int c)
Testa se um caractere é alfanumérico.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'A';
if(isalnum(c)) printf("É alfanumérico\n");
return 0;
}
Saída esperada
É alfanumérico
int isalpha(int c)
Testa se um caractere é uma letra do alfabeto.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'A';
if(isalpha(c)) printf("É alfabético\n");
return 0;
}
Saída esperada
É alfabético
int iscntrl(int c)
Testa se um caractere é um caractere de controle ASCII.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '\n'; /* Caractere de controle (nova linha) */
if(iscntrl(c)) printf("É um caractere de controle\n");
return 0;
}
Saída esperada
É um caractere de controle
int isdigit(int c)
Testa se um caractere é um dígito decimal (0–9).
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '7'; /* Caractere numérico (dígito) */
if(isdigit(c)) printf("É um dígito\n");
return 0;
}
Saída esperada
É um dígito
int isgraph(int c)
Testa se um caractere possui representação gráfica.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '#'; /* Caractere com representação gráfica */
if(isgraph(c)) printf("É um caractere gráfico\n");
return 0;
}
Saída esperada
É um caractere gráfico
int islower(int c)
Testa se o caractere é uma letra minúscula.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'm'; /* Caractere de letra minúscula */
if(islower(c)) printf("É uma letra minúscula\n");
return 0;
}
Saída esperada
É uma letra minúscula
int isprint(int c)
Testa se um caractere é imprimível.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = ' '; /* Caractere de espaço (imprimível) */
if(isprint(c)) printf("É um caractere imprimível\n");
return 0;
}
Saída esperada
É um caractere imprimível
int ispunct(int c)
Testa se o caractere é um símbolo de pontuação.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '.'; /* Caractere de pontuação */
if(ispunct(c)) printf("É um caractere de pontuação\n");
return 0;
}
Saída esperada
É um caractere de pontuação
int isspace(int c)
Testa se o caractere é um espaço em branco.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = '\t'; /* Caractere de tabulação (espaço em branco) */
if(isspace(c)) printf("É um espaço em branco\n");
return 0;
}
Saída esperada
É um espaço em branco
int isupper(int c)
Testa se o caractere é uma letra maiúscula.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'G'; /* Caractere de letra maiúscula */
if(isupper(c)) printf("É uma letra maiúscula\n");
return 0;
}
Saída esperada
É uma letra maiúscula
int isxdigit(int c)
Testa se o caractere é um dígito hexadecimal.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'F'; /* Caractere hexadecimal */
if(isxdigit(c)) printf("É um dígito hexadecimal\n");
return 0;
}
Saída esperada
É um dígito hexadecimal
int tolower(int c)
Converte uma letra maiúscula para minúscula.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'R'; /* Caractere em letra maiúscula */
/* Converte para minúscula e imprime o resultado */
printf("A versão minúscula é: %c\n", tolower(c));
return 0;
}
Saída esperada
A versão minúscula é: r
int toupper(int c)
Converte uma letra minúscula para maiúscula.
Exemplo de uso
#include <stdio.h>
#include <ctype.h>
int main() {
char c = 'h'; /* Caractere em letra minúscula */
/* Converte para maiúscula e imprime o resultado */
printf("A versão maiúscula é: %c\n", toupper(c));
return 0;
}
Saída esperada
A versão maiúscula é: H