Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio

Tamanho: px
Começar a partir da página:

Download "Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio"

Transcrição

1 Programação II Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio

2 Caracteres tipo char: tamanho de char = 1 byte = 8 bits = 256 valores distintos tabela de códigos: define correspondência entre caracteres e códigos numéricos exemplo: ASCII alguns alfabetos precisam de maior representatividade... alfabeto chinês tem mais de 256 caracteres!

3 Caracteres Código ASCII Códigos ASCII de alguns caracteres (sp representa espaço) (os 32 primeiros caracteres e o último são códigos de controle) rs us sp! " # $ % & ' 40 ( ) * +, -. / : ; 60 < = A B C D E 70 F G H I J K L M N O 80 P Q R S T U V W X Y 90 Z [ \ ] ^ _ ` a b c 100 d e f g h i j k l m 110 n o p q r S t u v w 120 x y z ~ del o código de 0 é e o número 0 representa o quê? Exemplo: R i o d e J a n e i r o

4 Caracteres códigos de controle Códigos ASCII de alguns caracteres de controle No. Código Nome: descrição White Spaces em C 0 nul null: nulo \0 7 bel bell: campainha \a 8 bs backspace: volta e apaga um caractere 9 ht tab: tabulação horizontal \t 10 nl newline ou line feed: muda de linha \n 13 cr carriage return: volta ao início da linha 127 del delete: apaga um caractere \b escape sequences são também chamados de white spaces porque eles não são exibidos na tela Em C, o código 10, na realidade, muda de linha e vai para o início. O código 13 apenas volta para o início. O seguinte trecho de programa: char n = 10; char c = 13; printf("abcdef%cghij%c,,\n",n,c); imprime: abcdef,,ij

5 Constante de Caractere Constante de caractere: É um caractere envolvido com aspas simples: a, 0,... exemplo: 'a' representa uma constante de caractere 'a' resulta no valor numérico associado ao caractere a char c = 'a'; printf("%d %c\n", c, c); printf imprime o conteúdo da variável c usando dois formatos: com o formato para inteiro, %d, imprime 97 com o formato de caractere, %c, imprime a (código 97 em ASCII)

6 Exercício Conversão de Caractere para Maiúscula int toupper(int c) converte c em letra maiúscula. Requer <ctype.h>. Implemente a sua versão int paramaiuscula(int c): int paramaiuscula(int c) if (c >= 'a' && c <= 'z') // verifica se e minuscula c = (c - 'a') + 'A'; // converte return c;

7 Vetor (array) de caracteres Exemplo de um vetor de 3 caracteres char a[3]; a[0] = 'p'; a[1] = 'u'; a[2] = 'c'; Os elementos do vetor estão em endereços contíguos de memória a p Podemos definir um ponteiro para um vetor char * p; p = &a[0]; u c ou ou char * p; p = a; endereços char a[3] = 'p','u','c'; a é o mesmo que &a[0], i.e. o endereço do 1o. elemento Note que *p, *(p+1) e *(p+2) são os valores p, u e c Note que são equivalentes: *(p+2) p[2] *(a+2) a[2] p++; está correto, mas a++; e a = p; não!! (pois nome de vetor não é variável). Array não é ponteiro!!! Defina void f(char * a) ao invés de void f(char a[]) p a p u c

8 String (Cadeia de Caracteres) Um string é um vetor de caracteres com um terminador o terminador é o caractere '\0' cujo valor numérico é 0 maneiras de definir um string: como array: char a[4] = 'p','u','c','\0'; ou char a[] = "puc"; usando ponteiro: Na memória: a p u como array: c \ char * a = "puc"; usando ponteiro: OBS: se você usar printf("abcdef\0gh\n"); a impressão ignora g, h e \n: abcdef Escrever funções que manipulam strings é basicamente passear com o ponteiro e interromper quando o terminador é encontrado. Veja o exemplo a seguir. a p u c \

9 Strings Exemplo de função strlen int strlen(char * s) // calcula comprimento de um string int n; for (n=0; *s!= '\0'; s++) n++; return n; ou, de uma forma ainda mais concisa: int strlen(char * s) int n = 0; while (*s++) n++; return n; O teste *s!= '\0' é uma expressão Booleana (que retorna 0 se falso e diferente de zero se verdadeiro). Portanto, lembrando que o valor numérico de \0 é zero, basta verificar o valor de *s, isto é: for (n=0; *s; s++) Se você acha isto estranho, o que você acha que acontece com: if (0) printf( ola ); Resposta: ola nunca será impresso. Troque 0 por 5, -5 ou 2-7 para imprimir o ola. // testa *s e depois incrementa s

10 Strings Exemplo de função stringcopy Função stringcopy(s,t) que copia t para s. A solução abaixo requer o cuidado de finalizar o s. void stringcopy(char * s, char *t) for(;*t;t++,s++) *s = *t; *s = '\0'; // finaliza s

11 Strings função stringcopy mais eficiente void stringcopy(char * s, char * t) // copia t para s versao 1 while ((*s = *t)!= '\0') s++; t++; ou void stringcopy(char * s, char * t) // copia t para s versao 2 Primeiro copia *t para *s, depois verifica while ((*s++ = *t++)!= '\0') se *s é diferente de \0 e, por fim, ; incrementa t e s ou void stringcopy(char * s, char * t) // copia t para s versao 3 while (*s++ = *t++) ; Note que nestas soluções, o terminador é sempre copiado.

12 Strings outras soluções para stringcopy void stringcopy(char * s, char * t) while (*t) *s++ = *t++; *s = '\0'; ou void stringcopy(char * s, char * t) do *s++ = *t; while(*t++);

13 Constante de String Constante de cadeia de caracteres: representada por seqüência de caracteres delimitada por aspas duplas comporta-se como uma expressão constante, cuja avaliação resulta no ponteiro para onde a cadeia de caracteres está armazenada

14 Constante de String... define um string literal (constante de string): char s1[] = "Rio de Janeiro"; s1 é um array (vetor) de char, inicializado com a cadeia Rio de Janeiro, seguida do caractere nulo s1 ocupa 15 bytes de memória é válido escrever s1[0]='x, alterando o conteúdo da cadeia para Xio de Janeiro, pois s1 é um vetor, permitindo alterar o valor de seus elementos char* s2 = "Rio de Janeiro"; s2 é um ponteiro para char, inicializado com o endereço da área de memória onde a constante Rio de Janeiro está armazenada s2 ocupa 4 bytes (espaço de um ponteiro) não é válido escrever s2[0]='x, pois não é possível alterar um valor constante. String literals são tipicamente armazenados em memória readonly. Assim, se um ponteiro é inicializado com o endereço de um string literal, qualquer tentativa de modificação dá erro de access violation. No primeiro caso, o string literal inicializa o array criando uma cópia do string literal no espaço alocado estaticamente para o array s1.

15 Strings e Manipulação de Memória int main(void) char a[] = "puc"; char * b = "puc"; char c[] = 'p','u','c','\0'; char * d; char m[4]; char * n = (char *)malloc(4*sizeof(char)); d = a; printf("a=%s b=%s c=%s d=%s\n", a,b,c,d); printf(" b[1]=%c *(b+1)=%c\n",b[1],*(b+1)); a[1] = 'a'; // o que daria: b[1] = 'a'; e *(b+1) = 'a';??? a=puc b=puc c=puc d=puc b[1]=u Tente entender cada passo strcpy(m,b); m[1] = 'a'; strcpy(n,b); n[1] = 'a'; c[1] = 'a'; d[1] = 'a'; a=pac m=pac n=pac c=pac printf("a=%s m=%s n=%s c=%s d=%s\n", a,m,n,c,d); return 0; *(b+1)=u // b[1] = 'a'; // ERRO! // *(b+1) = 'a'; // ERRO! d=pac Obs: a não é uma variável e não poderíamos fazer a++. Mas podemos fazer d++. Note que b é variável.

16 Exercício Converte String para Maiúsculas Usando toupper, escreva uma função strupper que converte um string para maiúsculas. Faça uma versão que destrói o string dado e outra que o preserva. #include <ctype.h> #include <stdlib.h> #include <string.h> void strupper1(char * s) for (;*s;s++) *s= toupper(*s); char * strupper2(char * s) char * p, * r; p = (char *)malloc(strlen(s)+1); // +1 for '\0' r = p; // para guardar o p inicial if (p!=null) for (;*p=*s;s++,p++) // for (;*s;s++,p++), faca *p='\0' antes do return *p = toupper(*s); return r;

17 Exercício Duplica String Escreva uma função strdup que recebe um string e o guarda em uma área de memória segura obtida dinamicamente. Pode usar funções da biblioteca. #include <stdlib.h> #include <string.h> char * strdup(char * s) char * p; p = (char *)malloc(strlen(s)+1); // +1 para \0 if (p!= NULL) strcpy(p,s); return p;

18 Exercício Compara Strings Escreva uma função strcompara que recebe os strings s e t e retorna negativo, zero ou positivo se s é alfabeticamente menor que, igual a ou maior que t. Dica: a subtração de dois caracteres é uma maneira de compará-los. Versão de ponteiro: Versão de índice de array:

19 Exercício Concatena Strings Escreva uma função void strconcatena que concatena t no final de s, supondo que s é grande o suficiente. Versão de ponteiro: Versão de índice de array:

20 Biblioteca de Funções de Strings As funções de string requerem #include <string.h> Algumas das funções mais usadas estão listadas abaixo (onde s e t são char *, c é um int convertido para char, e n é int. char * strcpy(s,t) copia t para s e retorna s char * strncpy(s,t,n) copia n caracteres de t para s e retorna s char * strcat(s,t) concatena t para o final de s e retorna s char * strncat(s,t,n) concatena n caracteres de t para s e retorna s char * strcmp(s,t) compara s a t e retorna <0 se s<t, 0 se s==t, e >0 se s>t char * strncmp(s,t,n) compara n caracteres de s com t char * strchr(s,c) retorna ponteiro para a 1a. ocorrência de c em s (retorna NULL se não encontrar c) char * strrchr(s,c) retorna ponteiro para a última ocorrência de c em s char * strstr(s,t) retorna pointer para 1a. ocorrência do string t em s int strlen(s) retorna comprimento de s O tipo int usado acima (e.g. n e strlen) é, na realidade, o tipo size_t. Dependendo da implementação, size_t é unsigned int ou unsigned long. Para uma programação absolutamente segura, ou você faz um cast para unsigned long ou usa o tipo size_t provido pelo <stddef.h>.

21 Soluções Usando Índice de Array

22 Strings função strlen versão índice de array int strlen(char * s) // calcula comprimento de um string int n; for (n=0; s[n]; n++) ; return n; ou, de uma forma menos eficiente (mais uma variável e comparando com \0 ): int strlen(char * s) int i; int n = 0; /* contador */ for (i=0; s[i]!= '\0'; i++) n++; return n;

23 Strings função stringcopy versão índice array void stringcopy(char * s, char * t) // copia t para s int i; for (i=0; s[i] = t[i]; i++) ; Observe que, no for acima, t[i] é primeiro copiado para s[i] e depois s[i] é testado. Isto é equivalente a for (i=0; (s[i]=t[i])!= \0 ; i++). Uma versão menos eficiente seria: void stringcopy(char * s, char * t) int i; for (i=0; t[i]!= '\0'; i++) s[i] = t[i]; s[i] = '\0'; // fecha o string

24 Leitura de Caracteres

25 Leitura de Caracteres e Strings com scanf Especificadores de formato definem o comportamento do scanf scanf com o especificador de formato %c lê o valor de um único caractere fornecido via teclado para pular todos os caracteres brancos antes do caractere: um espaço em branco no formato, antes do especificador Cuidados com scanf char a,b;... scanf("%c",&a); carriage return (\n), assim como qualquer caractere branco (\n, \t,...) é caracter válido e será usado na próxima leitura. Uma solução é usar o fflush para limpar o stream de input (e.g. stdin): char a, b; scanf("%c",&a); scanf("%c",&b); // b ='\n' scanf(" %c",&a); char a, b; scanf("%c",&a); fflush(stdin); scanf("%c",&b); scanf é uma função pesada e mal comportada para caracteres e strings (porém bem comportada para números), o que exige atenção. Para caracteres, há programadores que recomendam getchar (mais leve e rápida). fflush em input stream tem efeito indefinido no ANSI C, ameaçando compatibilidade. Uma alternativa é evitar scanf e fflush para caracteres; neste caso opte por controlar tudo, e.g.: char a; Alternativa pior: scanf(" %c",&b); a = getchar(); while (getchar()!='\n );

26 Leitura de Caracteres e Strings com scanf cuidados com scanf e formato %c: não pula os caracteres brancos caractere branco = espaço (' '), tabulação ('\t') ou nova linha ('\n') se o usuário teclar um espaço antes da letra: o código do espaço será capturado a letra será capturada apenas na próxima chamada de scanf para pular todos os caracteres brancos antes do caractere: basta incluir um espaço em branco no formato, antes do especificador char a;... scanf(" %c", &a); //branco no formato pula brancos da entrada...

27 Leitura de Caracteres e Strings com scanf scanf com o especificador de formato %s lê uma cadeia de caracteres não brancos pula os eventuais caracteres brancos antes da cadeia exemplo: char cidade[81];... scanf("%s", cidade);... &cidade não é usado pois a cadeia é um vetor o código acima funciona apenas para capturar nomes simples se o usuário digitar Rio de Janeiro, apenas Rio será capturada, pois %s lê somente uma seqüência de caracteres não brancos

28 Leitura de Caracteres e Strings com scanf scanf com o especificador de formato %[...] %[...] lista entre os colchetes todos os caracteres aceitos na leitura %[^...] lista entre os colchetes todos os caracteres não aceitos na leitura exemplos: %[aeiou] lê seqüências de vogais leitura prossegue até encontrar um caractere que não seja uma vogal %[^aeiou] lê seqüências de caracteres que não são vogais leitura prossegue até encontrar um caractere que seja uma vogal

29 Exemplo: Leitura de Caracteres e Strings com scanf lê uma seqüência de caracteres até que seja encontrado o caractere de mudança de linha ('\n') captura linha fornecida pelo usuário até que ele tecle Enter inclusão do espaço no formato garante que eventuais caracteres brancos que precedam a cadeia de caracteres sejam descartados char cidade[81];... scanf(" %[^\n]", cidade);... também pode ser usado " %[^\n]s OBS: se, na leitura de um segundo string, você não usar o branco antes do %, isto fará com que o scanf capture os caracteres brancos deixados na leitura anterior e coloque um string inesperado na variável scanf(" %[^\n]",cidade1); scanf("%[^\n]",cidade2); use scanf(" %[^\n]",cidade1); scanf(" %[^\n]",cidade2); ou scanf("%[^\n]",cidade1); getchar(); scanf("%[^\n]",cidade2);

Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio Caracteres tipo char: tamanho de char = 1 byte = 8 bits = 256 valores distintos tabela de códigos: define correspondência

Leia mais

Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio Caracteres tipo char: tamanho de char = 1 byte = 8 bits = 256 valores distintos tabela de códigos: define correspondência

Leia mais

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos Referências Programação de Computadores II Cap. 7 Cadeias de Caracteres Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo 7 Livro: Waldemar

Leia mais

3 Cadeias de Caracteres

3 Cadeias de Caracteres INF1007: Programação 2 3 Cadeias de Caracteres 05/03/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Caracteres Cadeias de caracteres Leitura de caracteres e cadeias de caracteres Exemplos de funções que

Leia mais

Programação de Computadores II. Cap. 7 Cadeias de Caracteres

Programação de Computadores II. Cap. 7 Cadeias de Caracteres Programação de Computadores II Cap. 7 Cadeias de Caracteres Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais

Leia mais

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2 Programação de Computadores II Cap. 7 Cadeias de Caracteres 1/2 Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos

Leia mais

Módulo 7 Cadeias de Caracteres

Módulo 7 Cadeias de Caracteres Estruturas de Dados Módulo 7 Cadeias de Caracteres 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora

Leia mais

Cadeias de Caracteres (Strings)

Cadeias de Caracteres (Strings) INF1005: Programação 1 Cadeias de Caracteres (Strings) 02/05/10 (c) Paula Rodrigues 1 Tópicos Caracteres Cadeias de caracteres Leitura de caracteres e cadeias de caracteres Funções que manipulam cadeias

Leia mais

Caracteres e Cadeias de Caracteres

Caracteres e Cadeias de Caracteres Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor

Leia mais

Caracteres. Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos

Caracteres. Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos Exemplo: Tabela ASCII Alguns alfabetos precisam de maior

Leia mais

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo cadeia de caracteres (string) INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br cadeia de caracteres (string) tópicos caracteres cadeia de caracteres referência Capítulo

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

Tratamento de Caracteres

Tratamento de Caracteres Tratamento de Caracteres Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan A tabela ASCII Se os computadores manipulam apenas números, como eles podem armazenar os caracteres de um nome

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Estruturas de Dados Aula 6: Cadeias de 28/03/2010

Estruturas de Dados Aula 6: Cadeias de 28/03/2010 Estruturas de Dados Aula 6: Cadeias de Caracteres 28/03/2010 Caracteres Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis

Leia mais

Estruturas de Dados Aula 6: Cadeias de Caracteres

Estruturas de Dados Aula 6: Cadeias de Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres Caracteres Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis Códigos

Leia mais

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação Algoritmos e Lógica de Programação Linguagem de Programação C Linguagem C Entrada e Saída de dados Reinaldo Gomes reinaldo@cefet-al.br Fluxo de Saída Padrão Saída Formatada: ( ) Tem a função de

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

Estruturas de Dados. Profa. Juliana Pinheiro Campos

Estruturas de Dados. Profa. Juliana Pinheiro Campos Estruturas de Dados Profa. Juliana Pinheiro Campos Vetores Forma mais simples de estruturar um conjunto de dados. Exemplo: int p[10]; // vetor de inteiros com 10 elementos Reserva de um espaço de memória

Leia mais

Linguagem C: strings. Prof. Críston Algoritmos e Programação

Linguagem C: strings. Prof. Críston Algoritmos e Programação Linguagem C: strings Prof. Críston Algoritmos e Programação String Uma string é um vetor de caracteres (texto) char nome [tamanho]; O texto que vamos gravar em uma string não precisa ocupar todos os caracteres

Leia mais

21 Strings. 21.1 O que são strings? 21.2 Leitura de Strings. Ronaldo F. Hashimoto e Carlos H. Morimoto

21 Strings. 21.1 O que são strings? 21.2 Leitura de Strings. Ronaldo F. Hashimoto e Carlos H. Morimoto 21 Strings Ronaldo F. Hashimoto e Carlos H. Morimoto Oobjetivodestaaulaéintroduziroconceitodestrings. Aofinaldessaaulavocêdeverásaber: Descrever o que são strings. Descrever a distinção entre strings evetoresdecaracteres.

Leia mais

Métodos Computacionais. Strings (Vetor de Caracteres)

Métodos Computacionais. Strings (Vetor de Caracteres) Métodos Computacionais Strings (Vetor de Caracteres) Em C, o tipo char : Caracteres é usado para representar caracteres pode armazenar valores inteiros (em 1 byte), representando assim, 256 valores distintos

Leia mais

Char e Strings de Caracteres

Char e Strings de Caracteres Caracteres Caracteres ocupam 1 byte (8 bits) na memória e são declarados com o tipo char. Declaração: /* variáveis simples */ char a, b; char x = a ; /* vetores */ char y[12]; char z[26] = { abcdefghijklmnopqrstuvwxyz

Leia mais

6. Cadeia de caracteres

6. Cadeia de caracteres 6. Cadeia de caracteres W. Celes e J. L. Rangel 6.1. Caracteres Efetivamente, a linguagem C não oferece um tipo caractere. Os caracteres são representados por códigos numéricos. A linguagem oferece o tipo

Leia mais

Programação II. Tipos Estruturados. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Tipos Estruturados. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Tipos Estruturados Bruno Feijó Dept. de Informática, PUC-Rio Dados Compostos Até agora tipos simples: char, int, float,. Necessidade por dados compostos, por tipos estruturados Ex.: pontos

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Cadeias de caracteres (strings) Caracteres Definição e manipulação de strings Vetor de strings Parâmetros

Leia mais

Laboratório de Programação 02

Laboratório de Programação 02 Laboratório de Programação 02 Tipos Agregados Homogêneo e String Prof. Carlos Eduardo de Barros Paes Prof. Julio Arakaki Departamento de Computação PUC-SP Variáveis Compostas São um conjunto de variáveis

Leia mais

Char e Strings de Caracteres

Char e Strings de Caracteres Atualizado em 27/08/2009 Caracteres Caracteres ocupam 1 byte (8 bits) na memória e são declarados com o tipo char. Declaração: char a, b; char x = a ; char y[12]; char z[26] = { abcdefghijklmnopqrstuvwxyz

Leia mais

Introdução a Programação. Strings (Vetor de Caracteres)

Introdução a Programação. Strings (Vetor de Caracteres) Introdução a Programação Strings (Vetor de Caracteres) Tópicos da Aula Hoje aprenderemos a manipular vetores de caracteres (Strings) Caracteres em C Entrada/Saída de caracteres Funções que manipulam caracteres

Leia mais

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Strings Prof: Luciano Barbosa Recapitulando: Vetores Representar uma coleção de variáveis de um mesmo tipo em uma dimensão Ex: float notas[5]; ou float notas[5] = {2.5,3.2,1.9,4.1,2.0};

Leia mais

Aula 3/4: Vetores/Matrizes e Ponteiros

Aula 3/4: Vetores/Matrizes e Ponteiros Carlos Henrique/Introdução C++ Aula 3/4: Vetores/Matrizes e Ponteiros Funções: Função main (int argc, char ** argv) Recursão Vetores/Matrizes/Strings Vetor (Matriz Unidimensional) Gerando um ponteiro para

Leia mais

Tabela ASCII de caracteres de controle

Tabela ASCII de caracteres de controle Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:

Leia mais

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA INFORMÁTICA BÁSICA Conceitos c++ Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e O r g a n i z a ç ã o d e A l g o r i t m o s D e m e t r i o s. c o u t i n h o @

Leia mais

Apêndice B. Cadeias de Caracteres (Strings)

Apêndice B. Cadeias de Caracteres (Strings) Apêndice B. Cadeias de Caracteres (Strings) Até agora, quando desejávamos indicar o número de elementos existentes em um vetor qualquer, utilizávamos uma variável inteira, digamos tam, para armazenar tal

Leia mais

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Vetores e Alocação Dinâmica Bruno Feijó Dept. de Informática, PUC-Rio Vetores (arrays) Vetor: estrutura de dados definindo um conjunto enumerável Exemplo: v = vetor de inteiros com 10 elementos

Leia mais

Vetores. Vetores. Vetores. Vetores. Vetores. Algoritmos e Lógica de Programação. Vetores

Vetores. Vetores. Vetores. Vetores. Vetores. Algoritmos e Lógica de Programação. Vetores Algoritmos e Lógica de Programação Linguagem C Conceitos Básicos (Matriz Unidimensional) Conjunto de elementos de um mesmo tipo Elementos são referenciados por um único nome e individualizados pela posição

Leia mais

Linguagem C Parte 4 - Extra

Linguagem C Parte 4 - Extra 1 Linguagem C Parte 4 - Extra 2 Sumário Revisão Requisitos Sobre Linguagem de Programação Tipos de Linguagens Linguagem C (parte 1) Histórico Características Compiladores X Interpretadores A Biblioteca

Leia mais

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos

Leia mais

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Vetores e Alocação Dinâmica Bruno Feijó Dept. de Informática, PUC-Rio Vetores (arrays) Vetor: estrutura de dados definindo um conjunto enumerável Exemplo: v = vetor de inteiros com 10 elementos

Leia mais

Programação II. Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio Bubble Sort Bubble Sort Ordem Crescente Apenas de interesse didático e de referência A idéia é ir comparando dois vizinhos e trocando

Leia mais

Vetores II. Strings Leitura e exibição Biblioteca string.h Operações com Strings. Matrizes Definição de Acesso Operações com Matrizes

Vetores II. Strings Leitura e exibição Biblioteca string.h Operações com Strings. Matrizes Definição de Acesso Operações com Matrizes Strings Leitura e exibição Biblioteca string.h Operações com Strings Matrizes Definição de Acesso Operações com Matrizes Utilidade da String Facilidade de manipulação de um grande conjunto de caracteres

Leia mais

Vetores, Matrizes e String

Vetores, Matrizes e String Vetores, Matrizes e String Escola CDI Professor: Paulo Marcos Trentin O que é um Vetor? Conhecido também como matriz unidimensional, é uma variável que pode conter vários valores do mesmo tipo de dado.

Leia mais

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

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks

Leia mais

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido

Leia mais

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

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

Leia mais

Exercícios de revisão da Linguagem C

Exercícios de revisão da Linguagem C Universidade Federal de Santa Maria Prof. Cesar Tadeu Pozzer Disciplina: Estruturas de Dados 10/08/2009 Exercícios de revisão da Linguagem C Implemente soluções para os seguintes problemas. Teste as soluções

Leia mais

AULA 3 Alocação dinâmica de memória: Ponteiros

AULA 3 Alocação dinâmica de memória: Ponteiros UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 3 Alocação dinâmica de memória: Ponteiros Estrutura de Dados 1 Variáveis X Ponteiros VARIÁVEL - Estrutura para armazenamento

Leia mais

1 Exercícios com ponteiros

1 Exercícios com ponteiros Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Oitava Aula Prática - 29 de outubro de 2010 O objetivo desta aula prática é exercitar ponteiros e funções. 1 Exercícios com ponteiros

Leia mais

LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS

LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS Prof. André Backes DEFINIÇÃO String Sequência de caracteres adjacentes na memória. Essa sequência de caracteres, que pode ser uma palavra ou frase Em outras palavras,

Leia mais

Aula 3 Constantes e funções de E/S

Aula 3 Constantes e funções de E/S Programação I Aula 3 e funções de E/S Prof. Laura Silva de Assis e Prof. Luis Carlos Retondaro Engenharia de Computação 2o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Structs 1. Utilizando estrutura, fazer um programa em C que permita

Leia mais

MC-102 - Teste de Mesa e Comandos Repetitivos

MC-102 - Teste de Mesa e Comandos Repetitivos MC-102 - Teste de Mesa e Comandos Repetitivos Elaborado por Raoni Teixeira e Editado por Danillo Roberto Pereira Instituto de Computação Unicamp Primeiro Semestre de 2013 Introdução Introdução Pode acontecer

Leia mais

Laboratório de Programação II

Laboratório de Programação II Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;

Leia mais

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

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings) Computação 2 Aula 3 Vetores de caracteres (strings) Diego Addan diegoaddan@gmail.com Vetor de caracteres (Strings) Uma cadeia de caracteres, mais conhecida como string, é uma seqüência de caracteres (letras

Leia mais

Tutorial Extra sobre C. Felipe Santos da Silva

Tutorial Extra sobre C. Felipe Santos da Silva Tutorial Extra sobre C Felipe Santos da Silva 1 Sumário 1 stdlib.h 3 2 Struct 5 3 Funções 7 4 Recursão 10 2 1 stdlib.h Exemplo 1.1. Convertendo cadeias de caracteres em números. #include

Leia mais

Tipos Abstratos de Dados (TAD)

Tipos Abstratos de Dados (TAD) Instituto de C Tipos Abstratos de Dados (TAD) Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Módulos e Compilação em separado

Leia mais

J. L. Rangel 1. Escreva um programa em C que lê três números inteiros do teclado, e imprime os três números em ordem crescente.

J. L. Rangel 1. Escreva um programa em C que lê três números inteiros do teclado, e imprime os três números em ordem crescente. Estruturas de Dados Lista 1: soluções J. L. Rangel 1. Escreva um programa em C que lê três números inteiros do teclado, e imprime os três números em ordem crescente. #include int leint(void)

Leia mais

Linguagem de Programação C

Linguagem de Programação C Algoritmos e Lógica de Programação Linguagem C Entrada e Saída de dados Reinaldo Gomes reinaldo@cefet-al.br Linguagem de Programação C 1 Fluxo de Saída Padrão Saída Formatada: printf ( ) Tem a

Leia mais

Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011

Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011 Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

Introdução a Funções

Introdução a Funções Introdução a Funções Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y z Fig I f(x) = x 2 x = 2 f(x) = 4 x z = f(x,y) = x 2 +y

Leia mais

1 Exercícios com ponteiros

1 Exercícios com ponteiros Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática

Leia mais

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Unidade 01-a Algoritmos e Programação Seção 1.1 Visualg 2 Formato do Visualg algoritmo nome do algoritmo // Função: // Autor: // Data:

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 1 Tópicos introdução à linguagem C vetores não ordenados ordenação vetores ordenados listas ligadas pilhas /

Leia mais

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para

Leia mais

Strings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.

Strings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos. Introdução Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos. 1 definições Uma string é uma sequência, um conjunto, ou uma cadeia de caracteres.

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c

Leia mais

Ponteiros e Tabelas. K&R: Capítulo 5

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

Representações de caracteres

Representações de caracteres Representações de caracteres Sistemas de Numeração A necessidade de contar é algo que acompanha o ser humano desde tempos imemoriais. Sistemas de Numeração Usando o polegar para indicar em cada dedo a

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.5. Vetores 3.5.1. Vetores 3.5.2. Strings 3.5.3.

Leia mais

Introdução à Ciência da Computação scc-120

Introdução à Ciência da Computação scc-120 ICMC USP 1.semestre/2011 Introdução à Ciência da Computação scc-120 Aula : Variáveis em C Profa. Roseli Romero mailto: rafrance@icmc.sc.usp.br Slides cedidos pela profa. Renata Fortes Variáveis variáveis

Leia mais

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos: CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta

Leia mais

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico

Leia mais

Programação Orientada a Objeto Java

Programação Orientada a Objeto Java Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

Aula 3:Introdução à Linguagem C

Aula 3:Introdução à Linguagem C MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA CAMPUS JOINVILLE DEPARTAMENTO DO DESENVOLVIMENTO DO ENSINO

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! ALGORITMOS E ESTRUTURAS DE DADOS I DCC/UFMG Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! Pedro O.S. Vaz de Melo May 29, 2013 1 DESCRIÇÃO DO PROBLEMA O objetivo deste trabalho

Leia mais

Linguagem C Entrada/Saída (console)

Linguagem C Entrada/Saída (console) Linguagem C Entrada/Saída (console) Objetivos Nos artigos anteriores foram utilizadas as funções scanf() e printf(), porém não entramos em maiores detalhes. Agora estudaremos essas e outras funções de

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

Programação II. Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio Busca em Vetor Problema: Entrada: vetor v com n elementos elemento d a procurar Saída m se o elemento procurado está em

Leia mais

Mais sobre Ponteiros em C

Mais sobre Ponteiros em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Mais sobre Ponteiros em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho CURSO BÁSICO DE PROGRAMAÇÃO AULA 15 Revisão Vetores e Matrizes Trabalho Definição: Introdução a Linguagem C Vetores Estrutura que permite armazenar um conjunto de dados do mesmo tipo na mesma variável;

Leia mais

Funções de Entrada e Saída

Funções de Entrada e Saída inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã

Leia mais

Módulo 8 Tipos Estruturados

Módulo 8 Tipos Estruturados Estruturas de Dados Módulo 8 Tipos Estruturados 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus

Leia mais

Linguagem de Programação I. Aula 11 Strings

Linguagem de Programação I. Aula 11 Strings Linguagem de Programação I Aula 11 Strings Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração

Leia mais

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013 Estrutura de Dados Cadeia de Caracteres Roberto Araujo Ago/2013 Estrutura de Dados O que é uma estrutura de dados? É um arranjo pré-definido de um ou mais pedaços de dados Ex: Ex: Os carateres 'u', 'v',

Leia mais

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. e saída Biblioteca stdio.h Comandos Função scanf() Função gets() Função getchar() Material cedido pelo prof. Daniel Callegari scanf() Rotina de entrada que lê todos os tipos de dados. Protótipo: int scanf(const

Leia mais

Referências. Linguagem C. Tipos de variáveis em XC8. Tipos de variáveis. Tipos de variáveis em XC 8 Exemplo. Radicais numéricos em C

Referências. Linguagem C. Tipos de variáveis em XC8. Tipos de variáveis. Tipos de variáveis em XC 8 Exemplo. Radicais numéricos em C Referências Linguagem C Jun Okamoto Jr. Kernighan, Brian W. and Ritchie, Dennis M. The C Programming Language (ANSI C); Prentice Hall; 2ª Edição; 1988 Microchip Technology Inc. MPLAB XC8 C Compiler User

Leia mais

9. Tipos Abstratos de Dados

9. Tipos Abstratos de Dados 9. Tipos Abstratos de Dados R. Cerqueira, W. Celes e J.L. Rangel Neste capítulo, discutiremos uma importante técnica de programação baseada na definição de Tipos Abstratos de Dados (TAD). Veremos também

Leia mais

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação,

Leia mais

Programação II. Vetores Bidimensionais e Vetores de Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Vetores Bidimensionais e Vetores de Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Vetores Bidimensionais e Vetores de Ponteiros Bruno Feijó Dept. de Informática, PUC-Rio Array (Vetor) Bidimensional 0 0 1 2 3 4 5 6 7 8 14 1 2 Array (Vetor) Bidimensional vs Ponteiros Quando

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS Código BCD; Comparação entre BCD e Binário; Circuitos Digitais para BCD; Código Gray; Código ASCII; Detecção de erros pelo método de Paridade O que é um Código?

Leia mais

O que é um apontador em C (type pointer in C)?

O que é um apontador em C (type pointer in C)? O que é um apontador em C (type pointer in C)? Um apontador é uma variável que contém um endereço de outra variável. int x = 10;//variável inteira iniciada com o valor 10 int *px = &x;//variável apontadora

Leia mais