int isalnum (int c)

OBSERVAÇÃO: o valor retornado, quando diferente de zero, não é especificado no padrão da linguagem e, portanto, pode depender de qual compilador e versão são usados, bem como do sistema operacional.

Recebe: um argumento inteiro, cujo valor seja um caractere (ou seja, possa ser representado como um unsigned char) ou o valor EOF.

Retorna: um valor diferente de zero caso o caractere seja alfanumérico ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO isalnum()

#include <stdio.h>
#include <ctype.h>

int main() {
	char c;
	int resultado;

	c = '1';
	resultado = isalnum(c);
	printf("resultado: %d\n", resultado);

	c = 'G';
	resultado = isalnum(c);
	printf("resultado: %d\n", resultado);

	c = 'k';
	resultado = isalnum(c);
	printf("resultado: %d\n", resultado);

	c = '+';
	resultado = isalnum(c);
	printf("resultado: %d\n", resultado);
	return 0;

}	
									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			resultado: 1
			resultado: 1
			resultado: 1
			resultado: 0
									
								

int isalpha(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isalpha() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: 1 caso seja uma letra do alfabeto maiúscula, 2 caso seja minúscula, 0 caso não esteja no alfabeto.

OBSERVAÇÃO: dependendo da IDE que você está usando, o valor de retorno para o caractere alfanumérico, tanto maiúsculo quanto minúsculo, pode ser diferente de 1, entretanto, sempre será zero caso não seja alfanumérico.

Exemplo de uso da função:

//EXEMPLO isalpha()

#include <stdio.h>											
#include <ctype.h>

int main()
{
   char c;
   c = 'I';
   printf("letra maiuscula presente no alfabeto retorna: %d\n", isalpha(c));

   c = 'i';
   printf("letra minuscula presente no alfabeto retorna: %d\n", isalpha(c));

   c=',';
   printf("caractere não presente no alfabeto retorna: %d\n", isalpha(c));

   return 0;
}
	
											
Saída do terminal:
											
			>clang-7 -pthread -lm -o main main.c
			>./main
			letra maiuscula presente no alfabeto retorna: 1
			letra minuscula presente no alfabeto retorna: 2
			caractere não presente no alfabeto retorna: 0
											
										

int iscntrl(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que iscntrl() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso seja um caractere de controle (códigos de 0 a 31 na tabela ASCII) ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO iscntrl()

#include <stdio.h>
#include <ctype.h>

int main() {
	char c;
	int resultado;
   
	  c = '1';
	  resultado = iscntrl(c);
	  printf("resultado: %d\n", resultado);
   
	  c = 'G';
	  resultado = iscntrl(c);
	  printf("resultado: %d\n", resultado);
   
	  c = 'k';
	  resultado = iscntrl(c);
	  printf("resultado: %d\n", resultado);
   
	  c = '\n';
	  resultado = iscntrl(c);
	  printf("resultado: %d\n", resultado);
   
	  return 0;
   
   }	
									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			resultado: 0
			resultado: 0
			resultado: 0
			resultado: 1
									
								

int isdigit(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isdigit() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero quando o caractere recebido é um dígito de 0 a 9 ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO isdigit()

#include <stdio.h>
#include <ctype.h>

int main()
{
   char c;
   c='7';
   printf("caractere numerico: %d\n", isdigit(c));

   c='=';
   printf("caractere nao numerico: %d", isdigit(c));

   return 0;
}
		
									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			caractere numerico: 1
			caractere nao numerico: 0
									
								

int isgraph(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isgraph() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso seja um caractere que possa ser imprimido (exceto o espaço) ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO isgraph()

#include <stdio.h>
#include <ctype.h>

int main()
{
   char c;
    int resultado;

    c = '!';
    resultado = isgraph(c);
    printf("resultado = %d\n", resultado);

    c = ' ';
    resultado = isgraph(c);
    printf("resultado = %d\n", resultado);

    c = '9';
    resultado = isgraph(c);
    printf("resultado = %d\n", resultado); 

    return 0;
}

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			resultado = 1
			resultado = 0
			resultado = 1
									
								

int islower(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que islower () receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso o caractere seja uma letra minúscula ou zero caso contrário.

Exemplo de uso da função:
									
//EXEMPLO islower()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c='i'; //letra minúscula
    printf("%d\n", islower(c));
 
    c='S';
    printf("%d\n", islower(c));
 
     c='*';
    printf("%d\n", islower(c));
 
     c='p'; //letra minúscula
    printf("%d\n", islower(c));
 
    return 0;
}
	
									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			1
			0
			0
			1
									
								

int isprint(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isprint() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso seja um caractere imprimível (incluindo o espaço) ou zero caso contrário.

Os caracteres imprimíveis são: ! ” # $ % & ’ ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; = < > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] _ a b c d e f g h i j k l m n o p q r s t u v w x y z { } ~

Exemplo de uso da função:
									
//EXEMPLO isprint()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c=' '; //imprimível
    printf("%d\n", isprint(c));
 
    c='S'; //imprimível
    printf("%d\n", isprint(c));
 
     c='*'; //imprimível
    printf("%d\n", isprint(c));
 
     c='\n'; //não imprimível
    printf("%d\n", isprint(c));
 
    return 0;
}

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			1
			1
			1
			0
									
								

int ispunct(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que ispunct() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso seja um sinal de pontuação (qualquer caractere imprimível que não seja espaço ou alfanumérico) ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO ispunct()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c=' '; //não é pontuação
    printf("%d\n", ispunct(c));
 
    c='S'; //não é pontuação
    printf("%d\n", ispunct(c));
 
     c='*'; //é pontuação
    printf("%d\n", ispunct(c));
 
     c='.'; //é pontuação
    printf("%d\n", ispunct(c));
 
    return 0;
}
 

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			0
			0
			1
			1
									
								

int isspace(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isspace() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso seja um espaço ou um caractere de mudança de linha (‘\n’), de retorno de carro (‘\r’), de mudança de página (‘\f’), ou de tabulações horizontal (‘\t’) ou vertical (‘\v’) ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO isspace()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c=' ';
    printf("%d\n", isspace(c));
 
    c='i';
    printf("%d\n", isspace(c));
 
     c='\n';
    printf("%d\n", isspace(c));
 
     c='\r';
    printf("%d\n", isspace(c));
 
    return 0;
}

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			1
			0
			1
			1
									
								

int isupper(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isupper() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de um caso seja uma letra maiúscula (A a Z) ou 0 caso contrário.

Exemplo de uso da função:
									
//EXEMPLO isupper()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c = 'G'; //maiúsculo
    printf("%d\n", isupper(c));
 
    c = 'i';
    printf("%d\n", isupper(c));
 
    c = '\n';
    printf("%d\n", isupper(c));
 
    c = 'M'; //maiúsculo
    printf("%d\n", isupper(c));
 
    return 0;
}

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			1
			0
			0
			1
									
								

int isxdigit(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que isxdigit() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: um valor diferente de zero caso o caractere seja um dígito de um número hexadecimal ou 0 caso contrário.

Caracteres hexadecimais: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

Exemplo de uso da função:
									
//EXEMPLO isxdigit()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c = 'A'; //hexadecimal
    printf("%d\n", isxdigit(c));
 
    c = 'f'; //hexadecimal
    printf("%d\n", isxdigit(c));
 
    c = 'P'; // não hexadecimal
    printf("%d\n", isxdigit(c));
 
    c = ' '; //não hexadecimal
    printf("%d\n", isxdigit(c));
 
    return 0;
}

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			1
			1
			0
			0
									
								

int tolower(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que tolower() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

Retorna: caso o argumento da função seja uma letra maiúscula, retorna sua versão em letra minúscula; caso contrário o próprio argumento é retornado sem modificações.

Exemplo de uso da função:
									
//EXEMPLO tolower()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c='A'; //maiúsculo
    printf("%c\n", tolower(c));
 
    c='M'; //maiúsculo
    printf("%c\n", tolower(c));
 
     c='/'; // não maiúsculo
    printf("%c\n", tolower(c));
 
     c='f'; //não maiúsculo
    printf("%c\n", tolower(c));
 
    return 0;
}

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			a
			m
			/
			f
									
								

int toupper(int c)

Recebe: um único argumento (caractere) que será convertido para inteiro. Mesmo que toupper() receba um inteiro como argumento, o caractere é passado para a função. Internamente, o caractere é convertido em seu valor ASCII para a verificação.

OBSERVAÇÃO: se o argumento for char, a chamada deve usar typecast: toupper((unsigned char)c), por conta da conversão de signed char para int (problema com o sinal).

Retorna: caso o argumento da função seja uma letra minúscula, retorna sua versão em maiúscula; caso contrário o próprio argumento é retornado sem modificações.

Exemplo de uso da função:
									
//EXEMPLO toupper()

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
 
    c='r'; //minúsculo
    printf("%c\n", toupper(c));
 
    c='i'; //minúsculo
    printf("%c\n", toupper(c));
 
     c='*'; //não minúsculo
    printf("%c\n", toupper(c));
 
     c='G'; //não minúsculo
    printf("%c\n", toupper(c));
 
    return 0;
}
 

									
								
Saída do terminal:
									
			>clang-7 -pthread -lm -o main main.c
			>./main
			R
			I
			*
			G