• Nenhum resultado encontrado

INTRODUÇÃO À PROGRAMAÇÃO AULA 06: LINGUAGEM DE PROGRAMAÇÃO C

N/A
N/A
Protected

Academic year: 2022

Share "INTRODUÇÃO À PROGRAMAÇÃO AULA 06: LINGUAGEM DE PROGRAMAÇÃO C"

Copied!
33
0
0

Texto

(1)

INTRODUÇÃO À PROGRAMAÇÃO

AULA 06: LINGUAGEM DE PROGRAMAÇÃO C

Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

(2)

O QUE É UMA VARIÁVEIS DO TIPO

ENDEREÇO?

(3)

• É uma variável que armazena endereços de memória.

– Chamada de ponteiro

• Para declarar um ponteiro temos a seguinte forma:

<tipo_ponteiro> *<nome_variável>

ESTRUTURA DE UM PROGRAMA EM C VARIÁVEIS DO TIPO ENDEREÇO

Quando um ponteiro é declarado ele aponta para um lugar de memória indefinido. Por isso, devemos sempre inicializar um ponteiro antes de utilizá-lo.

(4)

• Para saber a posição de memória (endereço) de uma variável basta usar o operador &.

int c = 10;

int *p;

p = &c; // agora o ponteiro p pode ser utilizado

ESTRUTURA DE UM PROGRAMA EM C VARIÁVEIS DO TIPO ENDEREÇO

Para atribuir um valor válido a um ponteiro podemos atribuir um endereço de memória de uma variável declarada.

(5)

int c = 10;

int *p;

p = &c; // agora o ponteiro p pode ser utilizado

ESTRUTURA DE UM PROGRAMA EM C VARIÁVEIS DO TIPO ENDEREÇO

Para alterar o valor da variável c usando o ponteiro p basta usar o operador * (*p, equivale a variável c).

*p = 12;

(6)

int main(){

int n, v;

int *p;

n = 5;

p = &n;

v = *p;

return 0;

}

ESTRUTURA DE UM PROGRAMA EM C

VARIÁVEIS DO TIPO ENDEREÇO

(7)

int main(){

int n, *p;

n = 50;

p = &n;

*p = 100;

}

ESTRUTURA DE UM PROGRAMA EM C

VARIÁVEIS DO TIPO ENDEREÇO

(8)

É POSSÍVEL FAZER OPERAÇÕES COM

PONTEIRO?

(9)

• Atribuição

– Se temos dois ponteiros, p1 e p2, e quisermos que p1 aponte para o mesmo endereço de p2, basta fazer:

P1 = p2

– Para a variável apontada por p1 ter o mesmo conteúdo da variável apontada por p2, basta fazer:

*p1 = *p2

ESTRUTURA DE UM PROGRAMA EM CA

OPERAÇÕES COM PONTEIROS

(10)

• Incremento e decremento

– Quando incrementamos um ponteiro ele passa a pontar para o próximo endereço do tipo o qual o ponteiro aponta.

p++

– O decremento funciona de forma semelhante.

p--

ESTRUTURA DE UM PROGRAMA EM CA OPERAÇÕES COM PONTEIROS

Para incrementar e decrementar o conteúdo das variáveis para as quais os ponteiros apontam basta faz:

(*p)++

(11)

• Comparação

– Para saber se dois ponteiros são iguais ou diferentes basta usar

== e !=

– Os operadores do tipo >, <, >= e <= são usados para comparar qual ponteiro aponta para uma posição mais alta na memória.

p1 == p2;

p1 > p2;

ESTRUTURA DE UM PROGRAMA EM CA

OPERAÇÕES COM PONTEIROS

(12)

BIBLIOTECA PADRÃO

(13)

• A linguagem C disponibiliza um conjunto de bibliotecas (conjunto de funções) para serem incorporadas a um programa C.

• As funções dessas bibliotecas são declaradas em um arquivo-cabeçalho.

– Os arquivos-cabeçalho são organizados por finalidade ou área de aplicação.

ESTRUTURA DE UM PROGRAMA EM C

BIBLIOTECA PADRÃO

(14)

• Os arquivos-cabeçalhos das bibliotecas são incluídos ao programa através da diretiva de pré-processamento

#include

– Para incluir arquivos-cabeçalhos do sistema (criados durante a instalação do compilador) as diretivas são referenciadas entre chaves angulares (< >).

– Os arquivos-cabeçalhos do usuário (desenvolvidos pelo programador) são referenciados através de aspas duplas (“ “).

ESTRUTURA DE UM PROGRAMA EM C

BIBLIOTECA PADRÃO

(15)

FUNÇÕES DE ENTRADA E SAÍDA

(16)

• A linguagem C disponibiliza uma biblioteca padrão de entrada e saída chamada stdio.h

– Std = standard (padrão)

– Io = input/output (entrada/saída)

– As funções da biblioteca stdio.h estão associadas a entrada e saída padrão do sistema computacional.

Teclado

Monitor

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÕES DE ENTRADA E SAÍDA

(17)

FUNÇÃO DE SAÍDA

(18)

• A função de saída do stdio.h é chamada de printf

– A função printf imprime mensagens e valores diretamente na saída padrão

– As mensagens impressas devem ser especificadas entre aspas duplas (sequência de caracteres)

printf(<sequencia_caracteres>);

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(19)

• Quando existe a necessidade de imprimir valores de um tipo básico, a biblioteca stdio.h oferece as diretivas de impressão para formatar tipos básicos em uma sequência de caracteres.

– As diretivas de impressão são incluídas na sequência de caracteres através do caractere %

printf(“<sequência_caractere>[%[<tamanho>.<precisão>]<esp ecificação_formato>]”, [lista_valores])

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(20)

• Especificadores de formato (inteiro)

– Usadas para imprimir valores inteiros

ESTRUTURA DE UM PROGRAMA EM CA FUNÇÃO DE SAÍDA

Especificador Descrição

%d, %i O argumento correspondente deve ser do tipo inteiro. E o valor será impresso como um inteiro no formato decimal.

%O O argumento deve ser do tipo inteiro sem sinal. O valor será impresso como um inteiro não sinalizado no formato octal.

%U O argumento deve ser do tipo inteiro sem sinal. O valor será impresso como um inteiro não sinalizado no formato decimal.

%x, %X O argumento deve ser do tipo inteiro sem sinal. O valor será impresso como um inteiro não sinalizado no formato hexadecimal.

(21)

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(22)

• Especificadores de formato (ponto flutuante)

– Usadas para imprimir valores reais

ESTRUTURA DE UM PROGRAMA EM CA FUNÇÃO DE SAÍDA

Especificador Descrição

%f, %F O argumrnto deve ser do tipo real de ponto flutuante. E o valor será impresso como um número real de ponto flutuante no formato decimal.

%e, %E O argumento deve ser do tipo real de ponto flutuante. O valor será impresso como um real de ponto flutuante no formato científico.

%g, %G O argumento deve ser do tipo real de ponto flutuante. O valor será impresso como um real de ponto flutuante no formato da diretiva F ou E, dependendo da precisão.

%a, %A O argumento deve ser do tipo real de ponto flutuante. P valor será impresso no formato hexadecimal.

(23)

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(24)

• Nas diretivas %f e %e, os valores são arredondados, sendo a quantidade de dígitos da parte fracionária determinada pela precisão (6 dígitos sem precisão).

• Na diretiva %g os zeros da parte fracionária são removidos.

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(25)

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(26)

• Especificadores de formato (caractere)

– Usadas para imprimir valores reais

ESTRUTURA DE UM PROGRAMA EM CA FUNÇÃO DE SAÍDA

Especificador Descrição

%c O argumento correspondente deve ser do tipo inteiro. E o valor é convertido no tipo caractere sem sinal e imprime o caractere

%s O argumento deve ser um ponteiro do tipo caractere que aponta para uma cadeia de caracteres. E apenas a quantidade de caracteres especificada pela precisão é impressa, e se a precisão não é fornecida é impressa toda a

cadeia.

(27)

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE SAÍDA

(28)

• Especificadores de formato (caractere %)

– Usadas para imprimir o caractere %

ESTRUTURA DE UM PROGRAMA EM CA FUNÇÃO DE SAÍDA

Especificador Descrição

%% Essa diretiva não possui argumentos correspondente. O caractere % é impressp

(29)

• Constantes de barra invertida

– Tabela simplificada

ESTRUTURA DE UM PROGRAMA EM CA FUNÇÃO DE SAÍDA

Especificador Descrição

\n Nova linha

\” Aspas

\’ Apóstofro

\0 Nulo (zero decimal)

\\ Barra invertida

\t Tabulação

\a Alerta (beep)

\b Retorno do cursor

(30)

FUNÇÃO DE ENTRADA

(31)

• A função de entrada do stdio.h é chamada de scanf

– A função scanf é o modo mais simples de ler um valor do teclado e armazená-lo em uma variável

scanf(<especificador_formato>, &<variável>);

ESTRUTURA DE UM PROGRAMA EM CA

FUNÇÃO DE ENTRADA

(32)

• Especificadores de formato

– Tabela simplificada de especificadores de formato

ESTRUTURA DE UM PROGRAMA EM CA FUNÇÃO DE ENTRADA

Especificador Descrição

%c Um caractere, para armazenar o valor em uma variável do tipo char

%d Um número inteiro decimal, para armazenar o valor em uma variável do tipo int

%f Um número de ponto flutuante decimal, para armazenar o valor em uma variável do tipo ponto flutuante.

%s Uma string, para armazenar em variáveis que possam armazenar strings.

(33)

Referências

Documentos relacionados

As solicitações se rão expostas pontualmente e estruturadas nos eixos: condições de trabalho, expansão, gestão democrática, infraestrutura, qualidade de ensino,

Desta forma, a qualidade higiênico-sanitária das tábuas de manipulação dos Laboratórios de Técnica Dietética, Tecnologia de Alimentos e Gastronomia e das

Para essa discussão, selecionamos o programa musical televisivo O fino da bossa, apresentado por Elis Regina e Jair Rodrigues, na TV Record de São Paulo, entre os anos de 1965 e

A conguração adotada é de um elemento injetor bipropelente central com razão de mis- tura (vazão de massa de oxidante dividida pela vazão de massa do combustível) de 2; seis

Corograpliiu, Col de Estados de Geografia Humana e Regional; Instituto de A lta C ultura; Centro da Estudos Geográficos da Faculdade de Letras de Lisboa.. RODRIGUES,

Os caçadores tinham estendido uma grossa corda ligada a uma rede, no caminho por onde o leão costumava passar, de maneira que, quando o leão tropeçou na corda, a rede caiu-- lhe em

Quero ir com o avô Markus buscar a Boneca-Mais-Linda-do-Mundo, quero andar de trenó, comer maçãs assadas e pão escuro com geleia (17) de framboesa (18).... – Porque é tão

Pretendeu-se com este trabalho, investigar o que é necessário para se desenvolver um ensino em Educação Física que considere os valores morais como fundamentais para a