Você está na página 1de 18

10/02/2012

Programação Estruturada em C
Profa. Cristiane

A linguagem C foi desenvolvida na década de 70.

Ela se popularizou rapidamente devido a sua velocidade,


segurança e eficiência.

1
10/02/2012

Podemos desenvolver desde um simples sistema tradicional


como folha de pagamento, contabilidade, etc, até programa
de sistema (sistema operacional, aplicativo, gerenciador de
banco de dados, etc)

Resumo Histórico:
• 1966 – BCPL (Martin Richard)
• 1970 – B (Ken Thompson)
• 1972 – C (Dennis Ritchie e Ken Thompson)
• 1978 – C K & R (Kernigham e Ritchie)
• 1983 – C padrão ANSI – órgão americano de padronização. O
padrão ANSI definiu o conteúdo e a forma da biblioteca padrão C.
• 1985 – C++ (é o C projetado para suportar orientação a objetos)

2
10/02/2012

Um programa em C utiliza bibliotecas e funções.

Um programa precisa ter necessariamente uma função principal


(main), que define onde é iniciada a execução do programa.

Veja o programa abaixo:

#include <stdio.h> /* diretiva de entrada e saída */


#include <stdlib.h> /* diretiva de conversões de números, dentro outras
coisas*/

int main() /* começa o programa */


{
printf("Exemplo 1"); /* primeira linha mostra em tela a frase: Exemplo 1 */
System(“pause”);

// Este programa exibe uma mensagem na tela


}

3
10/02/2012

Uma linguagem de programação pode ser compiladora ou


interpretadora. O que as distingue é a forma com que elas executam o
programa.
• O interpretador lê o código-fonte do programa linha a linha,
executando-as em seguida.
• Já o compilador lê o programa inteiro e o converte em código-objeto.
O compilador une (processo de link) os códigos objetos (seu programa,
bibliotecas necessárias) e gera o arquivo executável.

•Existem vários compiladores C, como DEV-C++, Visual C++, Turbo C.

Arquivo fonte Arquivo fonte


Arquivo biblioteca
...

Arquivo objeto Arquivo objeto


Arquivo objeto

Linkedição

Arquivo Executável

4
10/02/2012

Biblioteca

Uma biblioteca é uma coleção de funções.

Um arquivo de biblioteca armazena o nome de cada função, o


código-objeto da função, mais as informações necessárias para o
processo de linkagem. Quando um programa referencia uma
função, o linkeditor procura essa função na biblioteca e adiciona
o seu código ao programa.

5
10/02/2012

Arquivo de Cabeçalho

Cada função definida em linguagem C tem seu respectivo arquivo


de cabeçalho, ou seja, se você utilizar uma função de entrada e
saída (se usar a função scanf(), por exemplo), terá que incluir seu
respectivo arquivo de cabeçalho (stdio.h) no início do programa.
Esse arquivo possui a definição de tipo e o protótipo da função.

6
10/02/2012

As diretivas instruem o compilador dentro do código-fonte do


programa em C.

As diretivas iniciam com o símbolo # e cada diretiva deve ser


escrita em linha distinta.

As diretivas do padrão C ANSI a serem usadas são: #include,


#define.

#include
Instrui o compilador a ler outro arquivo-fonte e adiciona
(compilando-o) ao arquivo que contém a diretiva.
Exemplo:
#include “stdio.h”
#include “conio.h”

7
10/02/2012

#define

Define um identificador (constante simbólica) e uma string que


substitui o identificador toda vez que o mesmo for encontrado no
código-fonte.

Exemplo:
#define texto “exemplo”

#include <stdio.h>
#define escreva printf
#define texto “\n Programação de Computadores”

int main()
{
escreva(texto);
}

Ao ser executada a diretiva define, o compilador substitui a


palavra escreva no programa por printf e a palavra texto
substitui por “\n Programação de Computadores”.

8
10/02/2012

Variável é uma posição de memória que é usada para armazenar um


valor. Durante um programa, é necessário guardar informações para
serem usadas posteriormente. Esses valores serão guardados em
variáveis.

Por exemplo: Temos 2 notas de um aluno e precisamos calcular a


média. Podemos criar uma variável que guardará o valor da média:
media = (nota1 * nota2) / 2.

Esse valor guardado em memória pode ser alterado a qualquer


momento no programa.

Cada dado será armazenado numa posição de memória diferente. Essas


posições precisam ser identificadas, ou seja, precisam ter um nome
definido.

Vamos supor a memória sendo a figura abaixo, onde cada célula possui
tamanho de 1 byte (8 bits)

9
10/02/2012

Os nomes de variáveis devem ser bem próximos ao contexto real em que estão
contidas.
Existem algumas regras para declarar uma variável. Em C utilizamos as
seguintes regras:

- o primeiro caracter deve ser uma letra ou um sublinhado;


- o nome pode ser formado por números, mas não na primeira posição;
- o nome da variável não pode ter caracteres especiais ou espaço, com exceção
do _ (underline);
- as letras maiúsculas e minúsculas são tratadas diferentemente, portanto
media é diferente de MEDIA;
- o nome da variável não pode ser igual a uma palavra reservada da linguagem.

10
10/02/2012

São palavras que tem um significado especial para a


linguagem.

auto, break, case, if, for, while, continue, return,


const,....

C entende tais palavras apenas em letras minúsculas

A declaração da variável deve ser feita antes de sua utilização. Pode ser
declarada:

- dentro de uma função (variável local)  só é vista dentro dessa função.


- fora de uma função (variável global)  é vista por todo o programa.
-ou como parâmetro formal;

tipo_de_variável nome_da_variável, nome_da_variável;

11
10/02/2012

float salário;

int num_filhos;

char sexo;

float porc_aumento = 5.5; -- pode ser atribuído um conteúdo à variável


quando ela está sendo declarada;

int qtde_pao, qtde_leite; -- pode ser declarada mais de uma variável do


mesmo tipo ao mesmo tempo;

Quando nos referimos a um dado que não pode ser alterado temos uma
constante, que significa constantemente o mesmo valor (valor fixo).
Dentro de um programa podem existir várias constantes, como por exemplo, o
ano atual, o valor do PI.

Exemplos: const int data_atual = 1990;


const float PI = 3.1416;

Neste último exemplo, o programa irá criar uma variável chamada PI, com o
valor 3.1416, que não poderá ser modificada pelo programa.

12
10/02/2012

Os operadores aritméticos da linguagem C são +, -, *, / e %. O ponto (.)


representa separador decimal e a vírgula (,) separador de milhar.

Módulo é o operador resto da divisão e somente deve ser usado com número
inteiros. Ex.: 5 % 2 = 1

13
10/02/2012

Em C podemos usar um operador de atribuição, de forma a simplificar a


programação:

Num = num + 2 pode ser escrito da seguinte maneira: num +=2


Neste exemplo o operador += acrescenta 2 ao valor da variável num e armazena
a variável num.

Pode ser usado qualquer operador aritmético desta forma: num-=2, num*=2,
num/=2,num%=2

A função printf() realiza a saída de dados em vários formatos, de acordo com a


configuração feita pelo programador.
O protótipo da função está no arquivo de cabeçalho STDIO.H.
Com esta função é possível exibir mensagens na tela, resultados de cálculos,
endereços de memória, etc.

Estrutura: printf(“string de controle”, lista_de_argumentos);

14
10/02/2012

Estrutura: printf(“string de controle”, lista_de_argumentos);

Na string de controle é definido como o conteúdo será exibido na tela, desde


caracteres fixos e variáveis (usando-se o comando de formato - %) e os
caracteres de controle (usando o símbolo \).

Deve haver o mesmo número de argumentos e de comandos de controle.

15
10/02/2012

Exemplos:

printf(“%.1f”,1910.10)

printf(“%c”,sexo)

printf(“\nO valor do salario eh %.2f”, salario);

16
10/02/2012

A função scanf() é usada para fazer entrada de dados.

Ela lê os dados e os converte para o formato interno apropriado. O protótipo


desta função está no arquivo de cabeçalho STDIO.H.

Estrutura: scanf(“string de controle”,&lista de argumentos);

•Primeiro deve-ser definir o tipo de variável para o valor a ser recebido.


•Deve ser colocado o operador & (endereço) antes de cada uma das
variáveis da lista de argumentos.
•Deve ser colocado o mesmo número de argumentos e de string de
controle.

17
10/02/2012

Exemplos:

float nota1, nota2;

scanf(“%f”,&nota1);
scanf(“%f”,&nota2);

char sexo;
scanf(“%s”,&sexo);

Vamos programar!!

18

Você também pode gostar