1 Revisão da Linguagem C. 2 Modelo de um Programa Entradas são armazenadas para serem processadas...
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, ¬a)– 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>