Programação II. Strings (Cadeias de Caracteres) Bruno Feijó Dept. de Informática, PUC-Rio
|
|
- Danilo Rodrigues
- 4 Há anos
- Visualizações:
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: space 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 Exemplo: o código de 0 é e o número 0 representa o quê? R i o d e J a n e i r o Em 1963, havia apenas letras maiúsculas e números. Em 1967, adicionaram letras minúsculas e caracteres de controle (indo de 0 a 127). Em 1981, a IBM (para o primeiro IBM-PC) adicionou mais 128 caracteres (Extended Characters), principalmente para permitir textos em outros idiomas, novos sinais gráficos e símbolos. Por exemplo: Ç (128), é (130), ½ (171), (168),.... Para exibir usando o teclado: Alt+número. 0 a 31 são caracteres de controle (não imprimem), e.g. null (0), Bell (9), tab horizontal (9),....
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 u c a Podemos definir um ponteiro para um vetor char * p; p = &a[0]; ou char * p; p = a; char a[3] = 'p','u','c'; Note que *p, *(p+1) e *(p+2) são os valores p, u e c ou endereços a é o mesmo que &a[0], i.e. o endereço do 1o. elemento Qualquer expressão [] pode ser escrita com a sintaxe +. Portanto, 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 é um ponteiro constante e não pode ser alterado) (equivale a: char * const a;) Defina void f(char * a) ao invés de void f(char a[]) p 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 Lembre que a sintaxe [] faz a aritmética de endereço para você, i.e. multiplica o índice pelo tamanho do elemento, soma o offset em bytes e dereferencia o ponteiro resultante para pegar o valor desejado: a[2] *(a+2). 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 Escreva a função strlen que retorna o comprimento de um string: int strlen(char * s) // calcula comprimento de um string int n; O teste *s!= '\0' é uma expressão for (n=0; *s!= '\0'; s++) booleana (que retorna 0 se falso e diferente n++; de zero se verdadeiro). Portanto, lembrando return n; que o único caractere que tem valor zero é o terminador \0, basta verificar diretamente o valor de *s, isto é: for (n=0; *s; s++) Use while e reescreva strlen da forma mais concisa possível: int strlen(char * s) int n = 0; while (*s++) n++; return n; 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 concisa 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 se *s while ((*s++ = *t++)!= '\0') é diferente de \0 e, por fim, incrementa t e s. ; Note que após o while, s está apontando para após o \0, o que não importa para quem ou chamou a função. 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++); As formas deste slide e do slide anterior compilarão para basicamente o mesmo código com a mesma eficiência. Trata-se, muito mais, de uma questão de estilo e de uma maneira própria de falar C de um bom programador. O programador habituado com este estilo e com o uso de ponteiros vai naturalmente escrever programas de melhor qualidade e, portanto, mais eficientes.
13 Exemplo Converte String para Maiúsculas Destruindo Usando toupper, que converte um único caractere e está em <ctype.h>, escreva uma função strupper1 que converte um string para maiúsculas, destruindo a informação original que estava no string dado. #include <ctype.h> void strupper1(char * s) // destroi s for (;*s;s++) *s= toupper(*s);
14 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
15 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.
16 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';??? Tente entender os valores das variáveis e dos elementos de vetor neste programa a=puc b=puc c=puc d=puc b[1]=u 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.
17 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) char * strncpy(s,t,n) char * strcat(s,t) char * strncat(s,t,n) char * strcmp(s,t) char * strncmp(s,t,n) char * strchr(s,c) char * strrchr(s,c) char * strstr(s,t) int strlen(s) copia t para s e retorna s copia n caracteres de t para s e retorna s concatena t para o final de s e retorna s concatena n caracteres de t para s e retorna s compara s a t e retorna <0 se s<t, 0 se s==t, e >0 se s>t compara n caracteres de s com t retorna ponteiro para a 1a. ocorrência de c em s (retorna NULL se não encontrar c) retorna ponteiro para a última ocorrência de c em s retorna pointer para 1a. ocorrência do string t em 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>.
18 Leitura de Caracteres
19 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 );
20 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...
21 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
22 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
23 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 ou scanf(" %[^\n]",cidade1); scanf(" %[^\n]",cidade2); 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 Caracteres tipo char: tamanho de char = 1 byte = 8 bits = 256 valores distintos tabela de códigos: define correspondência
Leia maisProgramaçã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 maisProgramaçã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 maisMó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 maisCadeias 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 maisCaracteres 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 maisCaracteres. 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 maisProgramaçã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 maiscadeia 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 maisTratamento 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 maisINF 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 maisEstruturas 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 maisReferê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 mais3.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 maisEstruturas 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 maisEstruturas 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 maisIntroduçã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 maisMé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 mais3 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 maisComputaçã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 maisINF 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 mais6. 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 maisChar 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 maisPROGRAMAÇÃ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 maisChar 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 maisProgramaçã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 maisEstruturas 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 maisLinguagem 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 maisAula 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 maisApê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 maisAula 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 maisProgramaçã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 maisLINGUAGEM 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 maisVetores. 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 maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisINTRODUÇÃ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 maisINTRODUÇÃ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 maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia maisComputaçã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 maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres
CURSO BÁSICO DE PROGRAMAÇÃO AULA 11 Revisão Aula Anterior Vetores Cadeia de Caracteres Introdução a Linguagem C Laços de Repetição While Do-While For while() { } do { }while();
Leia mais3. 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 maisVetores 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 maisECT1203 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 mais3. 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 maisProgramação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Função Printf() Sintaxe printf( expressão de controle, argumentos); É uma função padrão para exibir uma mensagem na
Leia maisLinguagem 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 maisMétodos Computacionais em Física
Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 214-2 Variáveis indexadas (arrays) Diversos problemas requerem o uso de vetores ou matrizes: Um conjunto de dados do mesmo tipo
Leia maisCurso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.
Curso Básico de Programação Aula 11 Revisão Aula Anterior Laços de Repetição While; Do-While; For. Introdução à Linguagem C Laços de Repetição While Do-While For while () { } do {
Leia maisProgramaçã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 maisINTRODUÇÃO À LINGUAGEM C
INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) 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 maisLinguagem 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 maisLINGUAGEM 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 maisLINGUAGEM C: VARIÁVEIS E EXPRESSÕES
LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve
Leia maisEstruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1
Estruturas de Dados Módulo 2 Expressões 9/8/25 (c) Marco A. Casanova - PUC-Rio Avisos O ciclo básico alterou o horário da P2: a P2 de ED será em 2/5, das 9h às h, e não das h às 3h, como no programa original
Leia maisEstrutura 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 maisFunçõ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 maisIntrodução à Programação
Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de
Leia mais1 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 maisCURSO 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 mais1 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 maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisJ. 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 maisIntroduçã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 maisINSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Strings! Copyright 2014 IFRN Agenda O tipo char Tabela ASCII Strings Leitura Biblioteca string.h A função main
Leia maisEstruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C
Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos
Leia maisProgramaçã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 maisDisciplina 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 maisComputadores 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Índice Valor C A D E I A \0 memória
Strings em C A linguagem C não possui um tipo específico de dados Strings. Para fazer uma string, o C utiliza um vetor de caracteres, onde cada posição do vetor representa uma letra. É importante lembrar
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Leia maisProgramaçã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 maisProgramação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Leia maisAula 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 maisFundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes
Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações
Leia maisAlgoritmos 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 maisProgramação de Computadores I
Programação de Computadores I Comandos de Entrada e Saída printf() / scanf() / getchar() Gil Eduardo de Andrade Introdução Os comandos de entrada e saída permitem ao programador interagir com o usuário;
Leia maisLaborató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 maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisO 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 maisHello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
Leia maisIntrodução à Linguagem C Variáveis e Expressões
INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída
Leia maisIntrodução a Computação
Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens
Leia maisLinguagem 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 maisFaculdade de Computação
Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Leia maisProgramação II. Vetor de Tipo Estruturado e Vetor de Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Vetor de Tipo Estruturado e Vetor de Ponteiros Bruno Feijó Dept. de Informática, PUC-Rio Vetores e Tipos Estruturados Dado um tipo estruturado T (com 3 campos, por exemplo), podemos ter
Leia maisPonteiros e Alocação de Memória
Algoritmos e Estrutura de Dados I Ponteiros e Alocação de Memória Prof. Paulo Henrique Pisani fevereiro/2019 Memória Podemos entender a memória como um grande vetor de bytes devidamente endereçados: 0x1051
Leia maisINF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
Leia maisSumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Leia maisCURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C PROFESSOR : Romilson Lopes Sampaio STRINGS Não existe um tipo String em
Leia maisStrings. 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 maisDisciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo
Leia maisComandos 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 maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisA Linguagem C. A forma de um programa em C
A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de
Leia maisMais 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 maisPonteiros 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 maisProgramação I Matrizes e Strings. Prof. Carlos Alberto
Programação I Matrizes e Strings Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Matrizes Matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum;
Leia maisIntrodução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
Leia mais