08/07/2008 – Linguagem – C – Aula 02

Propaganda
Aula 2 ­ C
Prof. André Luis Meneses Silva
[email protected]
strufs.wordpress.com
Agenda

Bibliotecas C++

Curiosidades sobre #define
Bibliotecas C++
Biblioteca
Aplicações
assert.h
Utilizada para debug
ctype.h
Utilizada para teste e conversão de caracteres
float.h
Define os valores máximos e mínimos relacionados a um float.
limits.h
Define características dos demais tipos primitivos
locale.h
Utilizado para trabalhar com informações de localização
math.h
Define um conjunto de funções matemáticas
Bibliotecas C++
Biblioteca
Aplicações
stdarg.h
Macros para lidar com argumentos de funções
stdio.h
Define funções de I/O
stdlib.h
Define funções de conversão, funções matemáticas, funções que lida com a memória
string.h
Define funções para manipular strings
time.h
Define funções e estruturas para manipular tempo.
math.h
Define um conjunto de funções matemáticas
assert.h

Métodos:


void assert(int expression);
exemplo_assert;
ctype.h

Métodos

int isalnum(int character);

int isalpha(int character);

int iscntrl(int character);

int isdigit(int character);

int isgraph(int character);

int islower(int character);

int isprint(int character);

int ispunct(int character);
ctype.h


Métodos

int isspace(int character);

int isupper(int character);

int isxdigit(int character);

int tolower(int character);

int toupper(int character);
exemplo_ctype
float.h

Define uma série de constantes para float:

FLT_ROUNDS


FLT_RADIX


Define a representação da base do expoente.
FLT_MANT_DIG, DBL_MANT_DIG, LDBL_MANT_DIG

Define o meio de arredondar um número
Define o número de dígitos em um número
float.h

FLT_MIN_EXP, DBL_MIN_EXP, LDBL_MIN_EXP


FLT_MAX, DBL_MAX, LDBL_MAX


Valor máximo de ponto flutuante.
FLT_MIN, DBL_MIN, LDBL_MIN

O menor valor negativo de um expoente.
Menor valor de ponto flutuante.
limits.h

Define os limites das demais variáveis.

CHAR_BIT


SCHAR_MIN, SCHAR_MAX


Valores mínimos e máximos de um char com sinal.
CHAR_MIN, CHAR_MAX


Número de bits em um byte.
Valores mínimos e máximos de um char (com ou sem sinal)
UCHAR_MAX

Valor máximo de char sem sinal.
limits.h

SHRT_MIN, SHRT_MAX, USHRT_MAX


INT_MIN, INT_MAX, UINT_MAX


Valor mínimo e máximo do int e valor máximo do unsigned int.
LONG_MIN, LONG_MAX, ULONG_MAX

Valor mínimo e máximo do short e valor máximo do unsigned short.
Valor mínimo e máximo do long e valor máximo do unsigned long.
locale.h

Funções

char *setlocale(int category, const char *locale); 
Modifica ou lê informações dependentes de localização

category


LC_ALL
Modifica tudo

LC_CTYPE Modifica funções de caractere.

LC_MONETARY

LC_NUMERIC Modifica informações de ponto decimal

LC_TIME
Modifica informações monetárias
Modifica informações relativa ao tempo.
locale

“C” → Modifica locale para as configurações de C

“” → Modifica locale para as configurações do S.O.
locale.h

lconv *localeconv(void); 
Fornece uma estrutura lconv para representar as configurações locais atuais.

struct lconv;

exemplo_locale;
math.h

double acos(double x), double asin(double x), double atan(double x);


double cos(double x); double sin(double x); double cosh(double x); double sinh(double x);

Arco coseno, arco seno e arco tangente
Cosseno, seno, cosseno hiperbólico e seno hiperbólico.
math.h

double tan(double x); double tanh(double x); double exp(double x);


double log(double x); double log10(double x);


Log natural e log10
double pow(double x, double y);


Tangente, tangente hiperbólico e e^x.
x ^ y
double sqrt(double x);

Raiz quadrada;
math.h

double ceil(double x);


double fabs(double x);


Função chão
double fmod(double x, double y);

Valor absoluto
double floor(double x);


Função teto
Resto da divisão entre x e y.
stdarg.h


Definem métodos para manipular funções cujo número de parâmetros é desconhecido.
void va_start(va_list ap, last_arg); 

type va_arg(va_list ap, type); 
Inicializa ap para uso com as macros va_arg e va_end.
Itera nos parâmetros.
stdarg.h

void va_end(va_list ap); 
Uso obrigatório, faz com que uma função com va_start retorne.

typedef va_list 
exemplo_stdarg
stdio.h

Definem as funções de I/O 
int printf(const char *format, ...);

d, I → 
o → unsigned octal

u → unsigned em decimal

x → usingned em hexadecimal

f →

e, E → número com expoente 
C → char. 
s

inteiro com sinal
double
→ ponteiro para array (usado para string)
p → Imprime o valor de um ponteiro
stdio.h

int sprintf(char *str, const char *format, ...);


int scanf(const char *format, ...);


Escreve em uma string.
Lê da entrada padrão
exemplo_printf_scanf
stdio.h

Outras funções para manipular o I/O padrão:

int getchar(void); 

char *gets(char *str); 

Escreve um único caractere;
int puts(const char *str); 

Captura uma string
int putchar(int char); 

Captura um único caractere
Escreve uma string;
exemplo_put_get;
stdio.h

Muitas outras funções

Manipulação de arquivos:

fclose, fflush, fgetpos, fopen, fread, freopen, fseek, fsetpos, ftell, fwrite, remove, rename, rewind, setbuf, setvbuf, tmpfile, fgetc, fgets, fputc, fputs, getc, etc.
stdlib.h

Funções

double atof(const char *str); int atoi(const char *str); long int atol(const char *str); 

void *malloc(size_t size); 


Aloca uma região de memória e retorna um ponteiro para esta região.
void free(void *ptr); 
Transforma um alfa em double, int ou long int, respectivamente.
Desaloca a região de memória alocada anteriormente.
exemplo_atof_alloc;
stdlib.h

void abort(void);


int atexit(void (*func)(void)); 

Faz com que a função seja chamada quando o programa termina normalmente.
void exit(int status); 
Causa interrupção anormal do programa.
Causa o fim normal do programa. stdlib.h

char *getenv(const char *name); 

int system(const char *string); 

Busca as variáveis do ambiente e retorna o valor apontado por ela.
Chamada ao sistema operacional.
exemplo_environment;
stdlib.h



void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)
(const void *, const void *)); exemplo_qsort_bsearch
stdlib.h

int abs(int x); 

int rand(void); 

Número randômico
void srand(unsigned int seed); 
Valor absoluto
Semente
string.h

void *memcpy(void *str1, const void *str2, size_t n); 
char *strcat(char *str1, const char *str2); 
int strcmp(const char *str1, const char *str2);

char *strcpy(char *str1, const char *str2); 
size_t strlen(const char *str); time.h

time_t


char *asctime(const struct tm *timeptr); 

Tipo para representar tempo.
Retorna um ponteiro para uma string que representa o dia e o tempo da estrutura timeptr.
exemplo_time_01
time.h

clock_t


clock_t clock(void); 

Tipo para representar tempo com maior precisão.
Retorna o tempo do processador.
exemplo_time_02;
Referências

The C Library Reference Guide

http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
Download