Académique Documents
Professionnel Documents
Culture Documents
ESTRUTURA DO PROGRAMA
tipo fnc(tipo1,) tipo nome; main() { declaraes; comandos; } tipo fnc (arg1,) { declaraes; comandos; return valor; } /* */ function declarations declarao de variveis externas funo principal variveis locais definio de funo variveis locais corpo da funo valor de retorno comentrios
FLUXO DE CONTROLE
Final de comando Delimitador de blocos Sada de switch, for, do, while Prxima interao for, do, while Retorno de valor de funo if (condio) comando; else comando; if (condio) { comando1; comando2; } else { comando3; comando4; } switch (expr) { case const1: comando; break; case const2: comando; break; default: comando; } ; {} break continue return expresso;
PONTEIROS
Declara ponteiro ao tipo tipo * nome Ponteiro nulo NULL Objeto apontado por ponteiro *ponteiro Endereo do objeto nome &nome EXEMPLO: int x, *y; declara varivel X e ponteiro Y x = *y; ERRO: Y no inicializado!!! x = 10; inicializa X y = &x; inicializa ponteiro com endereo de x printf(%d, x); imprime o valor de x printf(%d, y); LIXO printf(%d, *y); imprime o valor apontado por y printf(%p, y); imprime o endereo contido em y
PR-PROCESSADOR
Inclui biblioteca bib Inclui arquivo bib Texto de troca Macro de troca Apaga a definio Continuao de linha #include <bib> #include "bib" #define nome texto #define nome (var) texto #undef nome \
FUNES
Declarando funes: (se uma funo possuir um tipo de retorno diferente de "void" necessrio retornar um valor utilizando o comando "return" ) tipoRetorno nomeFuno (parmetros) SEMPRE entre { } { comandos; } Chamando uma funo: int x = soma(2,2); Passagem de parmetro por valor: (a varivel declarada na lista de parmetros recebe o VALOR da varivel utilizada na chamada da funo) tipoRetorno nomeFuno (tipo par, tipo par, ...) Passagem de parmetro por referncia: (alterando a varivel do parmetro, altera tambm a varivel utilizada na chamada da funo ) (um '*' adicionado no final do tipo para representar que o parmetro uma referncia) tipoRetorno nomeFuno (tipo* par, tipo* par, ...)
ESTRUTURAS REPETIO
for (i = valor; condio; incremento) comando; while (condio) comando; do { comando; sempre entre { } } while (condio);
VETORES
int vetor[10], cont, matriz[10][3]; for (cont=0; cont<10; cont++) { printf ("\nDigite um valor inteiro: "); scanf ("%d", &vetor[cont]); } for (cont=0; cont<10; cont++) printf ("%d = %d\n", cont, vetor[cont]);
ESTRUTURAS
struct nome { declaraes; }; Cria estrutura Membro da estrutura Membro apontado pela estrutura nome da estrutura membros struct tag nome nome.membro pointer -> membro
INICIALIZAO
Inicializa qualquer tipo Inicializa vetores Inicializa strings tipo nome = valor; vetor [ ]={val1, val2, ...}; char nome [ ]="string";
STDLIB
Valor absoluto Valor absolute longo Quociente e resto Quociente e resto, longo Pseudo-aleatrio Semente aleatria Termina execuo Execuo do sistema Conversions string s double string s integer string s long abs(n) labs(n) div(n,d) ldiv(n,d) [0,RAND_MAX] rand() srand(n) exit(status) system(s)
TIME
Processador de tempo clock() Tempo calendrio corrente time() Diferena em segundos ifftime(time2,time1) Tipos aritmticos para tempo clock_t, time_t Estrutura para definer components de tempo tm tm_sec segundos depois de minutos tm_min minutes depois de hora tm_hour horas desde a meia-noite tm_mday dia do ms tm_mon ms desde janeiro tm_year anos desde 1900 tm_wday dias desde domingo tm_yday dias desde 1/janeiro tm_isdst flag para horrio de vero tempo local tempo calendrio mktime(tp) tempo string asctime(tp) tempo calendrio tempo local ctime(tp) tempo calendrio GMT gmtime(tp) tempo calendrio tempo local localtime(tp)
BIBLIOTECAS PADRO
<assert.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdio.h> <stdlib.h> <string.h> <time.h>
STRING
S e T so strings, CS e CT so constants Tamanho de S strlen(s) Copia CT para S strcpy(s,ct) Copia at N caracteres strncpy(s,ct,n) Concatena CT aps S strcat(s,ct) Concatena at N caracteres strncat(s,ct,n) Compara CS a CT strcmp(cs,ct) Compara somente N caracteres strncmp(cs,ct,n) Ponteiro para o primeiro C em CS strchr(cs,c) Ponteiro para o ltimo C em CS strrchr(cs,c) Copia N chars de CT para S memcpy(s,ct,n) Copia N chars de CT para S (sobrepor)memmove(s,ct,n) Compara N chars de CS com CT memcmp(cs,ct,n) Ponteiro para o primeiro C nos primeiros N chars de CS memchr(cs,c,n) Coloca C no primero N chars de CS memset(s,c,n)