Estrutura de um Programa
•	Estrutura básica do Programa (Forma Geral) :
#Include <arquivo de cabeçalho>

void main()
  {
    /*Declarações de variáveis locais*/
    /*Bloco de comandos*/
 }

Declarações
Declaração de Variáveis
<tipo de dado>  <variável 1> , .. , < variável n> ;
Atribuição
<variável 1>  =  <expressão> ;  
Funções de entrada/saída pelo console
          Entrada:
	getchar()-	entrada de um caracter;
	getch()   -  entrada de um caracter não exibido;
	getche() -  entrada de um caracter sem <enter>;
                  scanf(“string de controle”,variável); 
	gets(string)   -  entrada de string;
          Saída:
printf ( “string de controle”, variável );
puts (string) – saída para string;
putchar( ) – saída para um caracter;
Estrutura de sequência (bloco)
{
 	 instrução 1;
	 :
 	 instrução n;
}
Estruturas de seleção
•	
if ( condição)    instrução 1;
  ou
if ( condição ) 
{
  instrução 1;
  :
  instrução n;
}
        else
{
  instrução 1;
  :
  instrução n;
         }
•	Escolha ... caso  
      switch (  variável  )
      {
        case  <opção 1> :  instrução 1;
         :                          
        case  <opção n> :  instrução n;
        default:  instrução x;
      }
Estruturas de repetição
•	Repetição com teste no início (repete zero ou mais vezes)
while ( condição verdadeira )    instrução 1;
           ou
         while ( condição verdadeira ) 
{
   instrução 1;
 :
   instrução n;
 }
•	Repetição com teste no final (repete pelo menos uma vez)
do
 {
  instrução 1;
  :
  instrução n;
  } while ( condição verdadeira );
•	Repetição com variável de controle 
for (variável=início;variável= final; passo n) 
      instrução 1;
        ou
for ( variável=início;variável=final;passo n)
    {
      instrução 1;
       : 
      instrução n;
     }

Tipos de dados
Básicos
Tipo	Significado	
int	Inteiro	
char	Caracter	
Float	Ponto flutuante	
Double	Ponto flutuante com precisão dupla	
Void	Sem valor	

Operadores e Funções Matemáticas

Operações	Operadores	
Adição	+	
Subtração	-	
Multiplicação	*	
Divisão	/	
Resto	%	
Incremento	++	
Decremento	- -	

Aritméticos:

Relacionais:
Comparações	Operadores	
Igual	==	
Diferente	!=	
Maior	>	
Menor	<	
Maior ou igual	>=	
Menor ou igual	<=	

Lógicos:
Operações	Operadores	
Conjunção	&&	
Disjunção (não exclusiva)	||	
Negação	!	

Funções matemáticas:
Função	Resultado	
pow(n,x)	Potência de n elevado a x	
fmod(n,x)	Resto da divisão de n por x	
sqrt(x)	Raíz quadrada de x	
fabs(x)	Valor absoluto de x	

+

Ordem de precedência:
Parênteses mais internos	
Funções matemáticas	
! ++  --	
*  /   %	
+   -	
<      <=     >      >=	
==  !=	

--

&&  	
||	
=	

Guia de Consulta Rápida

Funções de tela

	Descrição	
void clrscr (void);	Limpa a tela	
void gotoxy (int x, int y);	Posiciona o cursor na coluna x e linha y	
void clreol (void);	Limpa a linha a partir da posição corrente do cursor	
void windows (int esquerda, int acima, int direita, int abaixo);	Cria uma janela nas posições especificadas como parâmetros	

Funções

tipo_de_retorno nome_função ( lista de parâmetros)
{
   comandos;
}

Struct

struct nome_estrutura {
                                        tipo nome_elemento_1;
                                        tipo nome_elemento_2;
                                         ...
                                        tipo nome_elemento_n;
                                     } variáveis_estrutura;

Matriz

tipo nome_variável [dimensão 1] [dimensão 2] ... [dimensão n];

Ponteiro

tipo *nome_variável_ponteiro;

onde:
tipo = qualquer tipo válido em C;
nome_variável_ponteiro = identificador da variável ponteiro

Constantes

const tipo lista_de_variáveis;

onde:
tipo = qualquer tipo válido em C;
lista_de_variáveis = lista de identificadores separados por virgula(,).

Comandos de Desvio

Comando	Descrição	
return expressão;	retorno da função	
continue;	retorna ao início do laço	
break;	desvia para o final do laço	

Funções de Arquivo

fopen(char *nome_arquivo, char *modo)	Abre arquivo	
 fclose (FILE *f)	Fecha arquivo	
 remove (char *nome_arquivo)		
 fwrite(void *buffer, int num_bytes, int count, FILE *f)	Grava registro dentro do arquivo	
fread(void *buffer, int num_bytes, int count, FILE *f)	Lê registro dentro do arquivo	
 rewind(FILE *f)	Posiciona o arquivo no começo	
 feof(FILE *f)	Checa fim de arquivo	
 fseek(FILE *F, long num_bytes, int origem)	Procura um registro no arquivo	
 fprintf(FILE *f, char *string_control, ...)	Imprime no arquivo	
fscanf( FILE *f, char *string_control, ....)	Lê do arquivo