1 Revisão da Linguagem C. 2 Modelo de um Programa Entradas são armazenadas para serem processadas...

Post on 17-Apr-2015

104 views 0 download

Transcript of 1 Revisão da Linguagem C. 2 Modelo de um Programa Entradas são armazenadas para serem processadas...

1

Revisão da Linguagem C

2

Modelo de um Programa

Entradas são armazenadas para serem processadas e gerar uma saída útil e desejada

Dados são armazenados em VARIÁVEISVARIÁVEIS– posições de memória, representadas

por um nome, que podem conter dados

– as variáveis podem conter tipos diferentes de dados

3

Variáveis e Tipos de Dados

Variáveis podem conter valores diferentes durante a execução do programa– os valores devem ser consistentes

com o tipo da variável

Alguns valores não devem ser alterados durante a execução– Constantes

4

Tipos de Dados

Cada constante, variável,

expressão ou função é de um

certo tipo– refere-se ao conjunto de valores

que pode assumir

5

Mapa Conceitual da Memória

Pilha– endereço de retorno de

funções– parâmetros para funções– variáveis globais

Heap– região de memória livre– alocação dinâmica– aplicações como lista

encadeada e árvores

Pilha

Heap

Variáveis Globais

Código do Programa

6

Tipos de Dados

A um tipo de dado estão associados:– uma representação– o tamanho de células de memória para

armazenar esta representação a área de memória onde ficará o

valor da variável tem que ter dimensões compatíveis com a sua representação

conjunto de valores que variáveis de um dado tipo podem assumir

7

Tipos de Dados

As operações exigem argumentos de um dado tipo e produzem resultados do mesmo tipo

É importante para o compilador saber o tipo de cada variável antes de empregá-la em uma operação

8

Tipos Básicos do C

São cinco os tipos de dados básicos do C:– char (1 byte)– int (2 ou 4 bytes)– float (4 bytes)– double (8 bytes)– void (nenhum)

O tamanho e a faixa destes dados dependem do processador e da implementação do compilador

9

Operadores EspeciaisOperadores & e *

&: significa “o endereço de”

*: significa “o conteúdo do endereço”Exemplo:

m = &valor; (guarda o endereço da variável valor na variável m)

v = *m; (armazena em v o conteúdo da variável localizada no endereço armazenado em m – corresponde a v=valor)

10

Comandos de Entrada/Saída

Entradascanf (“%d”, &num);

lê um dado do teclado com o formato especificado

Saída– printf (“%d”, num);

escreve na tela o conteúdo da variável com o formato especificado

11

Formatos

Para scanf e printf: %d – inteiro %l – inteiro longo %f – float %lf – double %c – caracter %s – string

Ex.: scanf(“%s %d, %f”, nome, &freq, &nota)– lê uma linha no seguinte formato

Maria 12, 7.5

Apenas para printf: \n – nova linha \r – retorno do cursor \t – TAB \b – Backspace \” – Aspas \\ – Barra \f – salto de página

12

Comandos para o Compilador #include <Nome_arquivo>

– expande o arquivo de Nome_arquivo dentro do arquivo fonte

– < >: definição da implementação– “ ”: definição do programador - permite

especificar o caminho (procura primeiro no diretório atual e depois no local padrão para bibliotecas)

#define MAX 10– define MAX como uma constante 10– substitui o texto MAX por 10– funciona como uma macro

13

Um Programa em “C”

#include …… #define ……/* protótipos de funções *//* função principal */main (){

…………}/* demais funções */

14

Estruturas Básicas de Controle

CondicionalCondicionalSE .... ENTÃO

if ( condição) {if ( condição) {

......

}}

else {else {

......

}}

15

Instruções CondicionaisExemplo:

if (x>5)y=10;

elsey=15;

que pode ser substituído por:y = x>5 ? 10 : 15;

16

Instruções Case

CASE

switch (expressão) {case constante1:

<comandos>; break;case constante2:

<comandos>; break;...default:

<comandos>;}

17

Instruções CaseExemplo:

switch nome { case "Maria":

printf (“Oi Maria!”); break;case "Paulo":

printf (“Oi Paulo!”); break;case "Monica":

printf (“Oi Monica!”); break;}

18

Comandos Básicos do C

Repetição

while ( <condição> ) { comando_1;comando_2;...comando_n;

}

19

Comandos Básicos do C

Repetição

do { comando_1;comando_2;...comando_n;

} while (<condição>);

20

Comandos Básicos do C

Repetição

for (i=1; i<=N; i++) { comando_1;comando_2;...comando_n;

};

21

Usando Tipos Se tenho que definir uma variável para

conter idades, que tipo usar?– inteiros e curtos são suficientes

É função do:– conjunto de valores que a variável

pode assumir– da precisão que se deseja no

resultado de operações

22

String de Caracteres

Uma seqüência de caracteres– não possui uma representação direta no

C– ‘\0’ no final– constantes entre aspas (no tipo caracter,

a constante deve estar entre apóstrofos)

– char a[50]– #define nome ”Maria”– char a = ‘A’;

23

String de Caracteres

Manipulação de strings– strcpy(s1,s2): copia s2 em s1– strcat(s1,s2): concatena s2 no final de

s1– strlen(s1): tamanho de s1– strcmp(s1,s2): zero de s1==s2,

negativo se s1<s2 e positivo se s1>s2

– requerem: #include <string.h>