Tipos de Dados Simples



Documentos relacionados
Estrutura de Dados Básica

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Algoritmos e Programação

Capítulo 2: Introdução à Linguagem C

INF 1005 Programação I

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Introdução à Programação

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Estruturas de entrada e saída

Variáveis e Comandos de Atribuição

Introdução a Computação

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

JSP - ORIENTADO A OBJETOS

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Roteiro 1: Dados, variáveis, operadores e precedência

20 Caracteres - Tipo char

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Algoritmos e Programação Estruturada

Componentes da linguagem C++

3 Classes e instanciação de objectos (em Java)

Conceitos Básicos de C

Folha Prática 2. Lab. 2

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Introdução à Linguagem C

INF 1005 Programação I

Linguagens de Programação I

Tipo de Dados em Linguagem C

MC-102 Aula 19 Registros

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Linguagem de Programação C. Expressões em C

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Linguagem de Programação I

Registros. Técnicas de Programação. Rafael Silva Guimarães

INF 1620 P1-10/04/02 Questão 1 Nome:

Programas simples em C

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Linguagens de Programação

Introdução à Programação

LINGUAGEM C. Estrutura básica de um programa

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

13 Números Reais - Tipo float

Introdução à Linguagem C

Linguagem de Programação em C

2. Constantes e Variáveis

Linguagem de Programação I. Orientação a Objetos em Java

Conceitos de Linguagens de Programação

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Introdução a C Tipos de Dados Variáveis Operadores

Noções sobre Objetos e Classes

Programação de Computadores I. Ponteiros

Programação em C++: Introdução

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Curso de C para Engenharias

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem de Programação C

Algoritmos e Técnicas de

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

Representação de Dados (inteiros não negativos)

O COMPUTADOR. Introdução à Computação

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Prof. Dr. Abel Gomes Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Técnicas de Programação I

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

Programação Básica em Arduino Aula 2

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Estrutura de um programa em linguagem C

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1

Criar a classe Aula.java com o seguinte código: Compilar e Executar

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO

Algoritmos e Programação

Comandos Sequenciais if else, e Switch

Programação Estruturada

Transcrição:

Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples

Objectivos: Hierarquia de tipos de dados Tipos de dados simples Tipos de dados compostos Tipos de dados definidos pelo utilizador A utilização de typedef na construção de novos tipos de dados

Taxonomia de tipos de dados Tipos de Dados void Tipos Simples Tipos Compostos Tipos Numéricos Tipos Apontadores * Tipos Enumerados Tipos Inteiros Tipos Reais enum char int float double

Classificação de tipos de dados simples (TDS) Há 3 classes de TDS: Numéricos pré-definidos: char, int, float, double pertencem ao léxico da linguagem Apontadores definidos pelo utilizador não pertencem ao léxico da linguagem requer a utilização do símbolo * Enumerados definidos pelo utilizador não pertencem ao léxico da linguagem requer a utilização da palavra reservada enum Consoante o contexto, o símbolo * pode ter as seguintes utilizações: Definição de tipos apontadores Declaração de variáveis apontadoras Operador de multiplicação Operador de valoração

Características dos TDS Atomicidade têm valor atómico Exemplo (inteiros): int x = 31; Ordem têm uma ordem ou escala Exemplo (inteiros): 20 < 31 < 35 < 36

Qualificadores de TDS Qualificadores de comprimento (nº de bytes) short long Exemplos: short int x; long float y; Qualificadores de sinal signed unsigned Exemplos: signed int w; unsigned int z;

Formatos de leitura/escrita tipo formato descrição char %c um único carácter int %d ou %i um inteiro (base decimal) int %o um inteiro (base octal) int %x ou %X um inteiro (base hexadecimal) short int %hd um inteiro curto (base decimal) long int %ld um inteiro longo (base decimal) unsigned short int %hu um short inteiro positivo unsigned int %u um inteiro positivo unsigned long int %lu um inteiro positivo longo float %f ou %e ou %E um real de precisão simples double %f ou %e ou %E um real de precisão dupla

Tipos de dados inteiros: char e int Uma variável do tipo char armazena um valor inteiro de 1 byte, podendo ser usada para guardar um carácter ou um inteiro. Exemplos: char c; c = A ; /* estas instruções são equivalentes */ c = 65; //---------------------------- char a, b; a = 5; /* a contém o valor 5 */ b = 5 ; /* b contém o valor 53 na tabela ASCII */

Formatos de dados do tipo char /* Escreve no ecrã o valor char dum carácter */ #include <stdio.h> int main() { char ch; printf( Escreva um caracter: ); scanf( %c,&ch); printf( O seu valor char = %c\n,ch); return 0; } /* Escreve no ecrã o valor inteiro dum carácter */ #include <stdio.h> int main() { char ch; printf( Escreva um caracter: ); scanf( %c,&ch); printf( O seu valor numerico = %d\n,ch); return 0; } Formato de caracteres Formato de inteiros

Tipos de dados reais: float e double O tipo de dados float é para números reais de precisão simples (4 bytes). O tipo de dados double é para números reais de precisão dupla (8 bytes). Exemplos: float x, y, z, w, t; x = 0.345; y =.67; z = 89.; w = 6.2E+5; /* notação científica: representa 6.2 x10 5 */ t = 3.5E-4; /* notação científica: representa 3.5 10-4 */ //---------------------------- double a; a = 5.23456789;

Valor de uma variável Endereço de uma variável valor de j memória endereço de j j 1 248623 #include <stdio.h> int main() { int j = 1; printf("o valor de j = %d\n",j); printf("o endereco de j = %d\n",&j); return 0; } Saída no ecrã: O valor de j = 1 O endereco de j = 248623

Tipos de dados apontadores: char*, int*, float*, double* Qualquer variável apontadora contém um valor (inteiro) que é um endereço de memória. Exemplo: float j = 1.2; float *p; p = &j; memória valor de j endereço de j j 1.2 1342167 p 1342167

Exemplo: float* valor de j memória endereço de j j 1.2 1342167 p 1342167 #include <stdio.h> int main() { float j = 1.2; float *p; } p = &j; /* atribui o endereço de j a p */ printf("o valor de j = %f\n",j); printf("o endereco de j = %d\n",p); return 0; Saída no ecrã: O valor de j = 1.2 O endereco de j = 1342167

Acesso ao valor de uma variável Há duas formas de ler (aceder a) o valor duma variável em memória: Leitura directa (ou acesso directo). Utiliza-se o nome da variável. Leitura indirecta (ou acesso indirecto). Utiliza-se operador de valoração * seguido de nome de variável apontadora. Exemplo: O acesso ao valor 1.2 de j faz-se através do uso: da variável j da variável p que aponta para j valor de j memória endereço de j j 1.2 1342167 p 1342167

Exemplo: valor de j memória endereço de j j 1.2 1342167 p 1342167 #include <stdio.h> int main() { float j = 1.2; float *p; acesso DIRECTO ao valor de j acesso INDIRECTO ao valor de j } p = &j; /* atribui o endereço de j a p */ printf("o valor de j = %f\n",j); /* acesso directo ao valor de j */ printf("o valor de j = %f\n",*p); /* acesso indirecto ao valor de j */ return 0; Saída no ecrã: O valor de j = 1.2 O valor de j = 1.2

Tipos de dados enumerados A linguagem C não tem propriamente tipos de dados enumerados pré-definidos. O que a linguagem C oferece é um operador enum que permite definir tipos de dados enumerados; por exemplo: enum cor, enum dia, etc. Às vezes, por uma questão estética, faz-se o mascaramento dum tipo de dados enumerados através da directiva typedef. Têm também uma ordem! Exemplos: enum cor {red, blue, green, yellow}; enum dia {domingo, 2f, 3f, 4f, 5f, 6f,sabado}; enum fruta {apple, orange=10, lemon}; enum boolean {FALSE, TRUE};

Exemplo: #include <stdio.h> enum boolean {FALSE,TRUE}; int main() { enum boolean b; int x=3,y=2; b = x > y; } printf( O valor de b = %d",b); return 0; Saída no ecrã: O valor de b = 1

Exemplo: c/ typedef #include <stdio.h> #typedef enum {FALSE,TRUE} boolean; int main() { boolean b; int x=3,y=2; b = x > y; } printf( O valor de b = %d",b); return 0; Saída no ecrã: O valor de b = 1

Nota importante Ao contrário de grande parte das linguagens, a linguagem C não tem explicitamente o tipo de dados boolean. Foi por isso que o criámos no exemplo anterior. No entanto, a linguagem admite expressões lógicas, e, como tal, há sempre cálculo de expressões lógicas cujo resultado é ou falso ou verdadeiro. Em C, o valor falso duma expressão lógica é o valor 0, ao passo que o valor verdadeiro é 1. É, por isto, que o resultado 1 (verdadeiro) da expressão x>y no exemplo anterior pode ser atribuído à variável b. A variável b só admite dois valores possíveis: 0 (FALSE) e 1 (TRUE).

Sumário: Classificação de tipos de dados Classificação de tipos de dados simples Características de tipos de dados simples Qualificadores de comprimento e de sinal de tipos de dados simples Tipos de dados inteiros Tipos de dados reais Inicialização de variáveis Valor de / endereço de variável Tipos de dados apontadores Acessos directo e indirecto a valor duma variável Tipos de dados enumerados A directiva typedef