Linguagem C Parte 4 - Extra

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

Download "Linguagem C Parte 4 - Extra"

Transcrição

1 1 Linguagem C Parte 4 - Extra

2 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 e a Link Edição Conjunto de caracteres válidos Palavras Reservadas Códigos Especiais

3 3 Unidade III Sumário Linguagem C (parte 2) Estrutura de um programa em C Estrutura de dados: tipos simples de dados, constantes e variáveis Operadores e expressões Comentários Instruções de E/S Fluxo de Controle Sequencial Estruturas de Seleção ou decisão Estruturas de Repetição

4 4 Sumário Unidade III Linguagem C (parte 3) Variáveis Compostas Homogêneas» Vetores» Matrizes heterogeneas» Registro

5 5 Sumário Unidade III Linguagem C (parte 4) Caracteres Definições Funções Especificas Exemplos de Aplicação

6 6 Sumário Unidade III Linguagem C (parte 5) Modularidade Funções pré-definidas Funções do Usuário Macros

7 7 Unidade III Sumário Linguagem C (parte 6) Entrada e saida de dados via arquivos Formato texto Formato binário Exemplos de Aplicação

8 8 Sumário Linguagem C Exemplos e aplicações (LABs)

9 9 Caracteres Definições; Funções Específicas; Exemplos de Aplicação

10 10 Caracteres Caracteres é um dos tipos de dados básicos da linguagem C. Há dois tipos de caracteres em C: - sem sinal ( unsigned char) - com sinal ( signed char).

11 11 Caracteres Um caractere sem sinal nada mais é que um número natural entre 0 e 255, enquanto um caractere com sinal é um número inteiro entre -128 e 127. A distinção entre os dois tipos é, em geral, irrelevante. [Os padrões de bits dos dois tipos são os mesmos: a ] Cada caractere (de qualquer dos dois tipos) é armazenado em um byte na memória do computador.

12 12 Caracteres Para criar uma variável uc do primeiro tipo, use unsigned char uc; Para criar uma variável c do segundo tipo, use char c;.

13 13 Representação gráfica de caracteres Quando um caractere é exibido na impressora ou na tela do monitor de vídeo, ele é representado por um símbolo gráfico. No intervalo , os dois tipos de caracteres têm os mesmos símbolos gráficos. Por Exemplo: O símbolo do caractere 65 é A O símbolo do caractere 66 é B.

14 14 Representação gráfica de caracteres Os símbolos gráficos e os efeitos não gráficos dos caracteres 0 a 127 foram estabelecidos pelo American Standard Code for Information Interchange. A correspondência é conhecida como "tabela ASCII".

15 15 Representação gráfica de caracteres Os símbolos dos caracteres sem sinal 128 a 255 e os símbolos dos caracteres com sinal -128 a -1 não estão bem padronizados: cada sistema escolhe a tabela que mais lhe agrada. Uma das tabelas mais difundidas é a ISO (também conhecida como ISO Latin1). Eis uma amostra dessa tabela:

16 Representação gráfica de caracteres ISO

17 Representação gráfica de caracteres ISO

18 18 Representação gráfica de caracteres Na Tabela anterior, a última coluna dá a representação dos caracteres como constantes do tipo char. Cada caractere com sinal c no intervalo tem o mesmo símbolo gráfico que o caractere sem sinal c+256. A tabela a seguir mostra a correspondência: os caracteres que estão em uma mesma coluna da tabela têm o mesmo símbolo gráfico.

19 Representação gráfica de caracteres 19

20 20 Constantes e brancos Não é cômodo escrever as constantes do tipo char como 97, -29, 57, etc: char c, d, e; c = 97; d = -29; e = 57; É muito melhor escrever o símbolo gráfico do caractere encapsulado em aspas simples: c = 'a'; d = 'ã'; e = '9';

21 21 Constantes e brancos Para os caracteres "especiais", que têm símbolos incomuns, as constantes começam com um \. Por exemplo: '\n' é o mesmo que ASCII 10 (a letra n é a inicial de newline) '\0' é o mesmo que ASCII 0. (Nulo)

22 22 Constantes e brancos Os caracteres 9, 10, 11, 12, 13 e 32 (ou seja, '\t', '\n', '\v', '\f', '\r' e ' ') são conhecidos como brancos (= white-spaces). Muitas funções C tratam todos os brancos como se fossem ' '. É o caso, por exemplo, da função scanf.

23 23 Exercícios Escreva um programa que exiba na tela do monitor os símbolos gráficos dos caracteres 32 a 255. Qual a diferença entre 'O', '0' e '\0'? Considere o vetor inteiro Interprete esses números como caracteres. Qual o resultado?

24 24 Exercícios recomendados 1. Dada uma sequencia de caracteres terminada por um ponto., representando um texto, determinar a frequência relativa de vogais no texto (por exemplo, no texto Em terra de cego quem tem um olho é caolho, essa frequência é e16/42). 2. Dada uma frase terminada por., imprimir o comprimento da palavra mais longa. 3. Dada uma sequencia de caracteres terminada por., determinar quantas letras minusculas e maiúsculas aparecem na sequencia. 4. Dada uma frase terminada por., determinar quantas letras, quantos números e quantas palavras aparecem no texto. Por exemplo, no texto O voo GOL547 saiu com 10 passageiros. ha 5 números, 25 letras e 7 palavras.

25 25 char versus int O tipo-de-dados char pode ser automaticamente convertido em int e vice-versa. (O mesmo vale para unsigned char e int.) Seguem alguns exemplos. Em todos, x tanto pode ser uma variável do tipo char quanto uma do tipo int. 1. As atribuições x = 'A'; e x = 65; têm exatamente o mesmo efeito. O comando printf ("CHAR=%c INT=%d", x, x);, executado depois de qualquer uma das atribuições, produzirá: CHAR=A INT=65

26 26 char versus int 2. As atribuições x = '0'; e x = 48; têm o mesmo efeito. Depois de qualquer uma das atribuições, o comando printf ("CHAR=%c INT=%d", x, x); produzirá CHAR=0 INT=48 3. As atribuições x = '\0'; e x = 0; são equivalentes. Depois de qualquer uma das atribuições, o comando printf ("CHAR=%c INT=%d", x, x; produzirá CHAR= INT=0

27 27 Operações aritméticas As operações aritméticas envolvendo variáveis do tipo char e unsigned char são executadas em aritmética int (todos os operandos são previamente convertidos ao tipo int). Assim, por exemplo, se as variáveis u e v são do tipo unsigned char e valem 255 e 2 respectivamente, o valor da expressão u + v é 257.

28 28 Operações aritméticas Já as atribuições de um inteiro a um caractere são feitas módulo 256. Assim, por exemplo, se u é uma variável do tipo unsigned char e c é uma variável do tipo char então depois de: u = 256; c = 130; O valor de u será 0 O valor de c será 126 (pois 126 é o único inteiro k no intervalo tal que a diferença 130 k é um múltiplo inteiro de 256).

29 29 Biblioteca ctype.h A biblioteca ctype.h contém funções e macros para manipulação de caracteres. Utilizando as funções desta biblioteca podemos verificar se um caractere é numérico, ou se é maiúsculo, minúsculo, representa espaço em branco etc. Na listagem a seguir, podemos visualizar as principais funções de ctype.h

30 30 Biblioteca ctype.h Funções para conversão de caracteres maiúsculos e minúsculos: tolower Converte o caractere em minúsculo toupper Converte caractere minúsculo em maiúsculo.

31 31 Biblioteca ctype.h Funções para manipulação de caracteres: isalnum Verifica se o caractere é alfanumérico isalpha Verifica se o caractere é uma letra do alfabeto iscntrl Verifica se o caractere é um caractere de controle isdigit Verifica se o caractere é um digito decimal

32 32 Biblioteca ctype.h Funções para manipulação de caracteres: isgraph Verifica se o caractere tem representação gráfica islower Verifica se o caractere é minúsculo isprint Verifica se o caractere é imprimível. ispunct Verifica se o caractere é um ponto

33 33 Biblioteca ctype.h Funções para manipulação de caracteres: isspace Verificar se o caractere é um espaço em branco isupper Verifica se o caractere é uma letra maiúscula isxdigit Verifica se o caractere é um dígito hexadecimal

34 34 Biblioteca ctype.h Funções para manipulação de caracteres: Vamos elaborar um programa em linguagem C para exemplificar a utilização de algumas funções de ctype.h

35 35 /* caracter01.c Verificando se um caractere é uma letra usando a macro isalpha() */ #include <stdio.h> #include <ctype.h> int main() { char caracter; printf("digite um caracter : "); caracter = getchar(); printf("\n"); Biblioteca ctype.h Lê um caracter

36 36 Biblioteca ctype.h } if (isalpha(caracter)) // isalpha verifica se é uma letra do alfabeto printf("o caractere %c é uma letra.\n", caracter); else printf("o caractere %c não é uma letra.\n", caracter); return 0;

37 37 Biblioteca ctype.h //caracter02.c #include<stdio.h> #include<ctype.h> int main() { char letra; char num;

38 38 Biblioteca ctype.h printf("digite uma letra do alfabeto: "); scanf("%c",&letra); while (getchar()!= '\n'); // Limpando o buffer //isalpha verifica se é uma letra do alfabeto if (isalpha(letra)) { printf("\n Você digitou a letra %c \n\n",letra); //toupper transforma em maiúscula letra = toupper(letra); printf("maiúscula: %c \n\n", letra); //tolower transforma em minuscula letra = tolower(letra); printf("minuscula: %c \n\n", letra); }

39 39 Biblioteca ctype.h else { printf("você não digitou uma letra!!!\n Veja: %c\n", letra); } printf("\ninforme um numero de 0 a 9: "); scanf("%c", &num); while (getchar()!= '\n'); // Limpando o buffer //isdigit verifica se o caractere recebido é um dígito if(isdigit(num)) { printf("digito: %c \n\n", num); }

40 40 Biblioteca ctype.h else printf("você não digitou um numero!!!\n Veja: %c\n", num); } return 0;

41 41 Cadeia de caracteres (strings) Cadeias de caracteres (strings), em C, são representadas por vetores do tipo char terminadas, obrigatoriamente, pelo caractere nulo ('\0'). Portanto, para armazenarmos uma cadeia de caracteres, devemos reservar uma posição adicional para o caractere de fim da cadeia.

42 42 Cadeia de caracteres (strings) Todas as funções que manipulam cadeias de caracteres (e a biblioteca padrão de C oferece várias delas) recebem como parâmetro um vetor de char, isto é, um ponteiro para o primeiro elemento do vetor que representa a cadeia, e processam caractere por caractere, até encontrarem o caractere nulo, que sinaliza o final da cadeia. Por exemplo, o especificador de formato %s da função printf permite imprimir uma cadeia de caracteres. A função printf então recebe um vetor de char e imprime elemento por elemento, até encontrar o caractere nulo.

43 43 O código ao lado ilustra a representação de uma cadeia de caracteres. Como queremos representar a palavra UNIFEI, composta por 6 caracteres, declaramos um vetor com dimensão 7 (um elemento adicional para armazenarmos o caractere nulo no final da cadeia). O código preenche os elementos do vetor, incluindo o caractere '\0', e imprime a palavra na tela. Cadeia de caracteres (strings) //Programa Cadeia de Caracteres //string01.c #include <stdio.h> int main() { } char IES[7]; IES[0] = 'U'; IES[1] = 'N'; IES[2] = 'I'; IES[3] = 'F'; IES[4] = 'E'; IES[5] = 'I'; IES[6] = '\0'; printf("%s \n", IES); return 0;

44 44 Cadeia de caracteres (strings) Como as cadeias de caracteres são vetores, podemos reescrever o código anterior inicializando os valores dos elementos do vetor na declaração: //Programa Cadeia de Caracteres //string02.c #include <stdio.h> int main() { } char IES[ ] = {'U', 'N', 'I', 'F', 'E', 'I','\0'}; printf("%s \n", IES); return 0; A variável IES é automaticamente dimensionada e inicializada com 7 elementos.

45 45 Cadeia de caracteres (strings) A inicialização de cadeias de caracteres é tão comum em códigos C que a linguagem permite que elas sejam inicializadas escrevendo-se os caracteres entre aspas duplas. Neste caso, o caractere nulo é representado implicitamente. O código anterior pode ser reescrito da seguinte forma: //Programa Cadeia de Caracteres //string03.c #include <stdio.h> int main( ) { char IES[ ] = UNIFEI ; printf("%s \n", IES); return 0; } A variável IES é automaticamente dimensionada e inicializada com 7 elementos.

46 46 Cadeia de caracteres (strings) Consideremos as declarações abaixo: char s1[ ] = ""; char s2[ ] = "Rio de Janeiro"; char s3[81]; char s4[81] = "Rio"; A variável s1 armazena uma cadeia de caracteres vazia, representada por um vetor com um único elemento, o caractere '\0'. A variável s2 representa um vetor com 15 elementos. A variável s3 representa uma cadeia de caracteres capaz de representar cadeias com até 80 caracteres, já que foi dimensionada com 81 elementos. Esta variável, no entanto, não foi inicializada e seu conteúdo é desconhecido. A variável s4 também foi dimensionada para armazenar cadeias até 80 caracteres, mas seus primeiros quatro elementos foram atribuídos na declaração.

47 47 Leitura de caracteres e cadeias de caracteres Para capturarmos o valor de um caractere simples fornecido pelo usuário via teclado, pode-se usar a função scanf, com o especificador de formato %c. Desta forma, se o usuário digitar a letra r, por exemplo, o código associado à letra r será armazenado na variável a. O especificador %c não pula os caracteres brancos. se o usuário teclar um espaço antes da letra r, o código do espaço será capturado e a letra r será capturada apenas numa próxima chamada da função scanf. // Programa capta // Caractere simples #include <stdio.h> int main() { } char a; scanf("%c", &a); return 0;

48 48 Leitura de caracteres e cadeias de caracteres Se desejarmos pular todas as ocorrências de caracteres brancos que porventura antecedam o caractere que queremos capturar, basta incluir um espaço em branco no formato, antes do especificador. // Programa Cadeia de // Caracteres #include <stdio.h> int main() { } char a; scanf(" %c", &a); /* */ o branco no formato pula brancos da entrada return 0; Espaço

49 49 Leitura de caracteres e cadeias de caracteres Já mencionamos que o especificador %s pode ser usado na função printf para imprimir uma cadeia de caracteres. O mesmo especificador pode ser utilizado para capturar cadeias de caracteres na função scanf. No entanto, seu uso é muito limitado. O especificador %s na função scanf pula os eventuais caracteres brancos e captura uma sequência de caracteres não brancos.

50 50 Leitura de caracteres e cadeias de caracteres Consideremos o código ao lado: Devemos notar que não usamos o caractere & na passagem da cadeia para a função, pois a cadeia é um vetor (o nome da variável representa o endereço do primeiro elemento do vetor e a função atribui os valores dos elementos a partir desse endereço). // Programa Cadeia de // Caracteres //string04.c #include <stdio.h> int main() { } char cidade[81]; printf("\n\n Digite o nome de uma cidade com até 80 caracteres:\n"); scanf("%s", cidade); printf("\n\ncidade: %s\n\n", cidade); return 0;

51 51 Leitura de caracteres e cadeias de caracteres Como foi dito, o uso do especificador de formato %s na leitura é limitado, pois o código acima funciona apenas para capturar nomes simples. Se o usuário digitar Rio de Janeiro, apenas a palavra Rio será capturada, pois o %s lê somente uma sequência de caracteres não brancos.

52 52 Leitura de caracteres e cadeias de caracteres Em geral, queremos ler nomes compostos (nome de pessoas, cidades, endereços para correspondência, etc.). Para capturarmos estes nomes, podemos usar o especificador de formato %[...], no qual listamos entre os colchetes todos os caracteres que aceitaremos na leitura.

53 53 Leitura de caracteres e cadeias de caracteres Assim, o formato "%[aeiou]" lê sequências de vogais, isto é, a leitura prossegue até que se encontre um caractere que não seja uma vogal. Se o primeiro caractere entre colchetes for o acento circunflexo (^), teremos o efeito inverso (negação). Assim, com o formato "%[^aeiou]" a leitura prossegue enquanto uma vogal não for encontrada. Esta construção permite capturarmos nomes compostos.

54 54 Consideremos o código ao lado: A função scanf agora lê uma sequência de caracteres até que seja encontrado o caractere de mudança de linha ('\n'). Em termos práticos, captura-se a linha fornecida pelo usuário até que ele tecle Enter. A inclusão do espaço no formato (antes do sinal %) garante que eventuais caracteres brancos que precedam o nome serão pulados. Leitura de caracteres e cadeias de caracteres // Programa Cadeia de // Caracteres // string05.c #include <stdio.h> int main() { } char cidade[81]; printf("\n\n Digite o nome de uma \ cidade com até 80 caracteres:\n"); scanf(" %[^\n]", cidade); printf("\n\ncidade: %s\n\n", cidade); return 0; Esta \ indica Que a string continua

55 55 scanf(" %[^\n]", cidade); Leitura de caracteres e cadeias de caracteres Para finalizar, devemos salientar que o trecho de código acima é perigoso, pois, se o usuário fornecer uma linha que tenha mais de 80 caracteres, estaremos invadindo um espaço de memória que não está reservado (o vetor foi dimensionado com 81 elementos). Para evitar esta possível invasão, podemos limitar o número máximo de caracteres que serão capturados. char cidade[81];... scanf(" %80[^\n]", cidade); /*lê no máximo 80 caracteres*/...

56 56 A biblioteca string.h A biblioteca de cadeias de caracteres (strings), string.h contém funções que manipulam cadeias de caracteres, tais como: Tamanho de uma string strlen, Copia string: strcpy, Concatena string; strcat, compara string; strcmp

57 57 Exemplos de funções que manipulam cadeias de caracteres Exemplo. Comprimento da cadeia de caracteres: A saída deste programa será: A string "Rio de Janeiro" tem 14 caracteres. Salientamos o uso do caractere de escape \" para incluir as aspas na saída. // Programa Cadeia de // Caracteres // string06.c #include <string.h> #include <stdio.h> int main () { int tam; char cidade[ ] = "Rio de Janeiro"; tam = strlen(cidade); printf("a string \"%s\" tem %d \ caracteres\n", cidade, tam); return 0; }

58 58 Exemplos de funções que manipulam cadeias de caracteres Exemplo. Cópia de cadeia de caracteres: Vamos agora copiar os elementos de uma cadeia de caracteres para outra. Assumimos que a cadeia que receberá a cópia tem espaço suficiente para que a operação seja realizada.. // Programa Cadeia de // Caracteres // string07.c #include <string.h> #include <stdio.h> int main () { char origem[ ] = "Rio de Janeiro"; char destino[20]; strcpy(destino, origem); printf("destino: %s ", destino); return 0; }

59 59 Exemplo. Concatena cadeia de caracteres: Vamos agora concatenar os elementos de uma cadeia de caracteres com uma outra. Assumimos que a cadeia que receberá a outra como concatenação tenha espaço suficiente para que a operação seja realizada. Exemplos de funções que manipulam cadeias de caracteres // Programa Cadeia de Caracteres //string08.c #include <string.h> #include <stdio.h> int main () { } char cadeia1[20] = "Rio de"; char cadeia2[20] = Janeiro ; printf("cadeia1 inicial: %s \n", cadeia1); printf("cadeia2 inicial: %s \n", cadeia2); strcat(cadeia1,cadeia2); printf("cadeia1 após concatenação com \ Cadeia2: %s ", cadeia1); return 0;

60 60 Exemplo. Comparar caracteres: cadeias de Vamos comparar as duas cadeias; A função strcmp() compara a string 1 com a string 2. Se as duas forem idênticas a função retorna zero. Se elas forem diferentes a função retorna não-zero. Exemplos de funções que manipulam cadeias de caracteres // Programa Cadeia de Caracteres //string09.c #include <string.h> #include <stdio.h> int main ( ) { } char str1[100], str2[100]; printf ("Entre com uma string: "); scanf(" %[^\n]", str1); printf ("\n\nentre com outra string: "); scanf(" %[^\n]",str2); if (strcmp(str1, str2)) printf ("\n\nas duas strings são diferentes."); else printf ("\n\nas duas strings são iguais."); return 0;

61 61 Constante cadeia de caracteres Em códigos C, uma sequencia de caracteres delimitada por aspas representa uma constante cadeia de caracteres, ou seja, uma expressão constante, cuja avaliação resulta no ponteiro onde a cadeia de caracteres está armazenada. Para exemplificar, vamos considerar o trecho de código a seguir:

62 62 Constante cadeia de caracteres De forma ilustrativa, o que acontece é que, quando o compilador encontra a cadeia "Rio", automaticamente é alocada na área de constantes a seguinte sequência de caracteres: 'R', 'i', 'o', '\0' // Programa Cadeia de // Caracteres #include <string.h> #include <stdio.h> int main () { char cidade[40] strcpy (cidade, "Rio" ); printf ( "%s \n", cidade ); e é fornecido o ponteiro para o primeiro elemento desta sequência } return 0 ;

63 63 Constante cadeia de caracteres Assim, a função strcpy recebe dois ponteiros de cadeias: o primeiro aponta para o espaço associado à variável cidade e o segundo aponta para a área de constantes onde está armazenada a cadeia Rio.

64 64 Constante cadeia de caracteres Desta forma, também é válido escrever: // Programa Cadeia de // Caracteres #include <string.h> #include <stdio.h> int main () { } char *cidade; /* declara um ponteiro para char */ cidade = "Rio"; /* cidade recebe o endereco da cadeia "Rio" */ printf ( "%s \n", cidade ); return 0;

65 65 Constante cadeia de caracteres Existe uma diferença sutil entre as duas declarações abaixo: char s1[ ] = "Rio de Janeiro"; char* s2 = "Rio de Janeiro"; Na primeira, declaramos um vetor de char local que é inicializado com a cadeia de caracteres Rio de Janeiro, seguido do caractere nulo. A variável s1 ocupa, portanto, 15 bytes de memória. Na segunda, declaramos um ponteiro para char que é inicializado com o endereço de uma área de memória onde a constante cadeia de caracteres Rio de Janeiro está armazenada. A variável s2 ocupa 4 bytes (espaço de um ponteiro).

66 66 Constante cadeia de caracteres Podemos verificar esta diferença imprimindo os valores sizeof(s1) e sizeof(s2). Como s1 é um vetor local, podemos alterar o valor de seus elementos. Por exemplo, é válido escrever s1[0] = 'X'; alterando o conteúdo da cadeia para Xio de Janeiro. No entanto, não é válido escrever s2[0] = 'X'; pois estaríamos tentando alterar o conteúdo de uma área de constante.

67 67 Vetor de cadeia de caracteres Em muitas aplicações, desejamos representar um vetor de cadeia de caracteres. Por exemplo, podemos considerar uma aplicação que armazene os nomes de todos os alunos de uma turma num vetor. Sabemos que uma cadeia de caracteres é representada por um vetor do tipo char. Para representarmos uma estrutura onde cada elemento é uma cadeia de caracteres, devemos ter uma Matriz onde o número de linhas representa a quantidade de cadeias que queremos armazenar e o numero de colunas representa a maior cadeia a ser armazenda.

68 68 Vetor de cadeia de caracteres Assim, criamos um conjunto (vetor) bidimensional de char. Assumindo que o nome de nenhum aluno terá mais do que 80 caracteres e que o número máximo de alunos numa turma é 50, podemos declarar um vetor bidimensional para armazenar os nomes dos alunos char alunos[50] [81];

69 69 Vetor de cadeia de caracteres Com esta variável declarada, alunos[i] acessa a cadeia de caracteres com o nome do (i+1)-ésimo aluno da turma e, consequentemente, alunos[i][j] acessa a (j+1)-ésima letra do nome do (i+1)-ésimo aluno. Para a representação de vetores de cadeias de caracteres, optamos, em geral, por declarar um vetor de ponteiros e alocar dinamicamente cada elemento (no caso, uma cadeia de caracteres). Desta forma, otimizamos o uso do espaço de memória, pois não precisamos achar uma dimensão máxima para todas as cadeias do vetor nem desperdiçamos espaço excessivo quando temos poucos nomes grandes de alunos a serem armazenados.

70 70 Vetor de cadeia de caracteres Assim, nosso vetor com os nomes dos alunos pode ser declarado da seguinte forma: #define MAX 50 char* alunos[max];

71 71 Vetor de cadeia de caracteres Exemplo. Leitura e ordenação e impressão dos nomes dos alunos: // Programa string10.c #include <string.h> #include <stdlib.h> #include <stdio.h> #define MAX 50 #define FALSO 0 #define VERDADE 1 int main () { int i, nalu, trocou = FALSO, fim; char* alunos[max]; do { printf("digite o numero de alunos <=50: "); scanf("%d",&nalu); } while (nalu <= 0 nalu > MAX);

72 72 Vetor de cadeia de caracteres Exemplo. Leitura e ordenação e impressão dos nomes dos alunos: char nomeo[121]; char* nomed; int len; for (i=0; i<nalu; i++){ printf("digite o nome do aluno %d: ",(i+1)); scanf(" %120[^\n]",nomeo); len = strlen(nomeo); nomed = (char*) malloc ((len+1)*sizeof(char)); strcpy(nomed, nomeo); alunos[i] = nomed; }

73 73 Vetor de cadeia de caracteres Exemplo. Leitura e ordenação e impressão dos nomes dos alunos: fim = nalu; char auxordenar[121]; do { trocou = FALSO; for (i = 0; i < fim - 1; i++) { if(strcmp(alunos[i], alunos[i+1]) > 0){ strcpy(auxordenar, alunos[i]); strcpy(alunos[i], alunos[i+1]); strcpy(alunos[i+1], auxordenar); trocou = VERDADE; } } fim--; } while (trocou);

74 74 Vetor de cadeia de caracteres Exemplo. Leitura e ordenação e impressão dos nomes dos alunos: for (i = 0; i < nalu; i++) printf("%s\n", alunos[ i ]); return 0; }

75 75 Pucha! Ainda bem que acabou!

76 76 Acabou??? KKK Que nada!!! Só a Parte 4

77 77 Parte 5 Vem aí!!! Socorro!

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

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

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

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

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 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

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

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

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

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

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

CURSO 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 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 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

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

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

Curso 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. 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 mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Linguagem C Vetores, Matrizes, Strings Eliane Pozzebon Variáveis Compostas São um conjunto de variáveis veis identificadas por um mesmo nome. Homogêneas (vetores e matrizes) Heterogêneas

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

Introdução a Programação de Jogos

Introduçã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 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

Linguagem C: Introdução

Linguagem 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 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

Aula 05 -Introdução àlinguagc Programação: Estr. Dados Strings

Aula 05 -Introdução àlinguagc Programação: Estr. Dados Strings Aula 05 -Introdução àlinguagc Programação: Estr. Dados Strings OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com Caracteres Além dos tipos de dados numéricos com os quais temos trabalhado

Leia mais

INSTITUTO 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 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 mais

Capí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 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 mais

Linguagem de Programação I Vetores e Strings. Thiago Leite Francisco Barretto

Linguagem de Programação I Vetores e Strings. Thiago Leite Francisco Barretto Linguagem de Programação I Vetores e Strings Thiago Leite Francisco Barretto Vetores são matrizes unidimensionais; Uma matriz é uma coleção de

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

CURSO 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 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 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

Programaçã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 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 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

Introdução à Programação

Introduçã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 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

Programação Estruturada

Programação Estruturada Programação Estruturada Entrada e Saída. Mais sobre dados Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Saída

Leia mais

Programação: Vetores

Programaçã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 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

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

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná em C Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum; Em C todas as matrizes consistem

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

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

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

SITUAÇÃO VETORES. Imagine o seguinte problema:

SITUAÇÃO VETORES. Imagine o seguinte problema: 13/08/2014 PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO AULA 07 VETORES MATRIZES EXERCÍCIOS 1 SITUAÇÃO Imagine o seguinte problema: Crie um programa que

Leia mais

Vetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz

Vetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz Variáveis Compostas Homogêneas São conhecidas na linguagem C como matrizes. Vetores e es É um conjunto de variáveis do mesmo tipo, acessíveis com um único nome e armazenadas de forma contínua na memória.

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 à Programação C

Introdução à Programação C Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Vetores Para vários problemas precisamos de uma maneira de representar uma sequência de valores com um número

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

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

Introdução à Linguagem C Variáveis e Expressões

Introduçã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 mais

Caracteres, Vetores e Matrizes

Caracteres, Vetores e Matrizes Caracteres, Vetores e Matrizes STRINGS VETORES DE CARACTERES Para realizar processamento de texto e trabalhar com letras do alfabeto e outros caracteres como, por exemplo, símbolos de pontuação, a linguagem

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Aula 8 - Matrizes e Strings

Aula 8 - Matrizes e Strings Programação I Aula 8 - e Prof. Laura Silva de Assis Engenharia da Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2n o semestre - 2015 1

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

Métodos Computacionais em Física

Mé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 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 Objetivo Compreender a definição e dominar a implementação com strings e matrizes

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programaçã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 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

Alocação Dinâmica em C

Alocação Dinâmica em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara

Leia mais

Introdução a Computação

Introduçã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 mais

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Caracteres Além dos tipos de dados numéricos com os quais temos trabalhado

Leia mais

Caracteres e. cadeia de caracteres. IPC2 1999/2000 F. Nunes Ferreira

Caracteres e. cadeia de caracteres. IPC2 1999/2000 F. Nunes Ferreira Caracteres e cadeia de caracteres IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Caracteres e cadeia de caracteres

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

Declarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;

Declarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável; Declarando e Utilizando Ponteiros Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar

Leia mais

Índice Valor C A D E I A \0 memória

Í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 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

5. Vetores e alocação dinâmica

5. Vetores e alocação dinâmica 5. Vetores e alocação dinâmica W. Celes e J. L. Rangel 5.1. Vetores A forma mais simples de estruturarmos um conjunto de dados é por meio de vetores. Como a maioria das linguagens de programação, C permite

Leia mais

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,

Leia mais

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

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

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

Cap. 2 Expressões na linguagem C

Cap. 2 Expressões na linguagem C Programação de Computadores II Cap. 2 Expressões na linguagem C Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (24) Slides adaptados dos originais

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

4. Estruturas Fundamentais de Programação em C

4. Estruturas Fundamentais de Programação em C 4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente

Leia mais

Vetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é:

Vetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é: 4. Funções Básicas para manipulação de Strings - gets A função gets() lê uma string do teclado. Sua forma geral é: gets (nome_da_string); 187 - gets (continuação) Exemplo: Vetores e Strings 188 #include

Leia mais

Linguagem C Vetores, Matrizes e Strings

Linguagem C Vetores, Matrizes e Strings Linguagem C Vetores, Matrizes e Strings José Gustavo de Souza Paiva Vetores Também conhecidos como variáveis compostas homogêneas unidimensionais É um tipo de dado que representa um conjunto de valores

Leia mais

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte Tópicos de hoje: Programação de Computadores II Cap. Expressões na linguagem C Bits, s e Palavras Variáveis e constantes Operadores e expressões Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel.

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

A Linguagem C. A forma de um programa em C

A 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 mais

LISTA DE EXERCÍCIOS MÊS 03

LISTA DE EXERCÍCIOS MÊS 03 São José dos Campos, 21 de Maio de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto

Leia mais

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Introdução a Linguagem C GE4 Bio GE4Bio Grupo de Estudos

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 04 Linguagem de programação C Saída de dados Imprima printf Histórico da Linguagem

Leia mais

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Estruturas 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 mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Último Conteúdo Estruturas de condição Estrutura condicional simples Utilização da estrutura de condição if com expressões lógicas simples Utilização do comando if

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 6 Manipulação de strings Profa. Marina Gomes marinagomes@unipampa.edu.br 23/10/2017 Engenharia de Computação - Unipampa 1 Variáveis string Na linguagem C uma cadeia de caracteres

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

Introdução à Programação. Strings

Introdução à Programação. Strings Introdução à Programação Strings Sumário Caracteres (ASCII) Exercícios Vectores de caracteres Strings Exercícios Definição Uma string é um conjunto de caracteres armazenados num vector. Em C, o vector

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

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 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/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 mais

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

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores Aula - Tópico 1 1 Problema 1 Considere o seguinte problema: Determinar o valor de y = seno(1,5). 2 Definições Para

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres. Prof. Leonardo Barreto Campos 1

Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres. Prof. Leonardo Barreto Campos 1 Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres Prof. Leonardo Barreto Campos 1 Sumário Dados Escalares; Strings: Strings Constantes; Strings Variáveis; A função gets(); A função strcpy();

Leia mais

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando

Leia mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

Leia mais

Ponteiros. Baseado nos slides do Prof. Mauro.

Ponteiros. Baseado nos slides do Prof. Mauro. Baseado nos slides do Prof. Mauro. A memória do computador é uma sequência de bytes, na qual endereçamos cada um sequencialmente. Como vimos, uma variável é uma região da memória que reservamos para armazenar

Leia mais

Faculdade de Computação

Faculdade 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 mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais