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



Documentos relacionados
INF 1005 Programação I

Tabela ASCII de caracteres de controle

INF 1007 Programação II

20 Caracteres - Tipo char

Curso de C para Engenharias

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Strings. Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h.

Estrutura de Dados Básica

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Programação e Sistemas de Informação

String em C++ Verificando o tamanho da string

MC-102 Aula 17 Strings e Matrizes

Exemplos. char c; int i=67;... c= A ; c=c+1; if (c== B )... c=i; i=c; i++; if (i>= C )...

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

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

Estruturas de Dados Aula 6: Cadeias de Caracteres

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

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Estrutura de um programa em linguagem C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INF 1005 Programação I

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

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

Estruturas de entrada e saída

Introdução à Programação

Linguagens de Programação I

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

Aluísio Eustáquio da Silva

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

1 Introdução. 2 Algumas funções úteis para lidar com strings

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Resumo da Matéria de Linguagem de Programação. Linguagem C

Um processo sob UNIX ocupa uma área de memória formada basicamente por 3 partes:

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Comandos Sequenciais if else, e Switch

Cadeias de Caracteres (Strings)

Tipos agregados. Tipos estruturados

Manipulação de Arquivos

14.1 Vetor - Problemas

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

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Manipulação de Arquivos

Fundamentos de Programação

MC-102 Aula 19 Registros

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

ALGORITMO I VARIÁVEIS INDEXADAS

INF 1005 Programação I lista 12

Módulo 7 Cadeias de Caracteres

Introdução a Computação

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

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

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

1 Resumo: Strings e vetores de caracteres. Departamento de Ciência da Computação IME/USP

Curso de C. Procedimentos e Funções. 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1

Componentes da linguagem C++

14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

Busca. Pesquisa sequencial

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

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

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Programação de Computadores I. Ponteiros

Tipos de Dados Simples

Caracteres e Cadeias de Caracteres

V - Lista de Exercícios de SO e Lab. 1-) Escreva um programa em C para criar um arquivo texto, com informações fornecidas pelo usuário não formatadas.

Conceitos de Linguagens de Programação

Algoritmos e Programação

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }

Arquivos. Em relação ao Scilab, existem alguns tipos de arquivos que podem ser lidos, criados ou modificados.

Curso de Linguagem C

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

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

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

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Curso de C: uma breve introdução

SCC-210 Algoritmos Avançados

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

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

Conceitos básicos da linguagem C

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

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

Prof. Esp. Adriano Carvalho

Estruturas de Repetição

17 - Funções e Procedimentos em C Programação Modular

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

Linguagem de Programação C

13 Números Reais - Tipo float

Computação II Orientação a Objetos

prim = A ; prim = &A[0];

Algoritmos e Programação Estruturada

Transcrição:

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

Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char ** argv) { char letra; letra = 'A'; printf( letra=%c\n, letra); } 2

Variáveis na linguagem C: tipo char O tipo char representa um também um número inteiro de 1 byte (-128 a 127) int main(int argc, char ** argv) { char c; c = 0; printf( c=%d\n, c + 1); } 3

Variáveis na linguagem C: tipo char Quando se usa uma variável char para guardar um caractere, ela guarda é seu código ASCII: int main(int argc, char ** argv) { char c; c = 65; printf( c = %c (%d)\n, c, c); c = 'A'; printf( c = %c (%d)\n, c, c); } 4

Variáveis na linguagem C: tabela ASCII 5

Variáveis na linguagem C: strings Strings são representadas como vetores de caracteres A variável string é declarada da seguinte forma: char nome[32]; // variável nome com capacidade 32 O tamanho do vetor corresponde a quantos caracteres pode ter a string Isto é a capacidade da variável string, não o comprimento do texto ali guardado! O texto guardado na variável pode ter comprimento variável Usa-se o caractere nulo (valor 0 numérico) para marcar o final do texto 6

Variáveis na linguagem C: strings Exemplo de uso de strings: #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char nome[32]; } printf( Digite um nome: ); scanf( %s, nome); // repare que com strings não se usa o operador & printf( Nome informado: %s\n, nome); printf( Comprimento da string: %d\n, strlen(nome)); printf( Primeira letra do nome: %c\n, nome[0]); printf( Última letra do nome: %c\n, nome[strlen(nome) 1]); 7

Variáveis na linguagem C: strings Outro exemplo de uso de strings: #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char * nome ; // Qual a capacidade da string??? int len; } nome = Manuel ; // uma constante... printf( Variável nome=%s\n, nome); len = strlen(nome); printf(... e %s tem %d caracteres\n, nome, len); printf( Último caractere é: \ %c\ (codigo %d)\n, nome[len], nome[len]); 8

Variáveis na linguagem C: strings A variável string pode ser declarada também assim: char * nome[32]; // variável nome com capacidade 0 Neste caso, a variável string não tem memória alocada! Por enquanto, não pode guardar caracteres A capacidade de armazenamento pode ser definida depois (em tempo de execução), dependendo da necessidade 9

Variáveis na linguagem C: strings Exemplo de uso de strings: #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char * nome ; // Qual a capacidade da string??? char aux[128]; int len; } scanf( %s, aux); nome = strdup(aux); // gera uma cópia do conteúdo de aux printf( Variável nome=%s\n, nome); 10

Variáveis na linguagem C: funções para strings char * strncat(s1, s2, n): concatena até n caracteres da string s2 ao final da string s1 Repare que s1 deve ter capacidade para receber esses n caracteres adicionais!!! char * strncpy(s1, s2, n): copia até n caracteres da s2 para s1 int strlen(s1): devolve o tamanho da string s1 int strncmp(s1, s2, n): compara os n primeiros caracteres de s1 e s2. O resultado é 0 se forem iguais, negativo se s1 for alfabeticamente menor que s2, e positivo caso contrário char * strdup(char * s1): gera uma cópia da string s1 11

Variáveis na linguagem C: funções para strings int snprintf(s1, n, formato, arg1,...): igual ao printf, mas o texto gerado é gravado na variável string s1 (no máximo n caracteres). char *strstr(s1, s2): localiza a primeira ocorrência de s2 dentro de s1 12

Variáveis na linguagem C: exemplos com strings Concatena duas strings (nome e sobrenome): #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char nome[32], sobrenome[32], nomecompleto[64]; } scanf( %s, nome); scanf( %s, sobrenome); strncpy(nomecompleto, nome); strncat(nomecompleto,, 1); strncat(nomecompleto, sobrenome, 32); printf( Nome informado: %s\n, nomecompleto); printf( Comprimento da string: %d\n, strlen(nomecompleto)); 13

Variáveis na linguagem C: exemplos com strings Concatena duas strings, mas usando snprintf : #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char nome[32], sobrenome[32], nomecompleto[64]; } scanf( %s, nome); scanf( %s, sobrenome); snprintf(nomecompleto, 64, %s %s, nome, sobrenome); printf( Nome informado: %s\n, nomecompleto); printf( Comprimento da string: %d\n, strlen(nomecompleto)); 14

Variáveis na linguagem C: exemplos com strings Verifica se senha digitada é válida: #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char senha[32]; char tentativa[32]; } strncpy(senha, Cfacil ); printf( senha: ); scanf( %s, tentativa); if (strncmp(senha, tentativa, 32) == 0) printf( Acesso autorizado\n ); else printf( Acesso negado!!!\n ); 15

Variáveis na linguagem C: exemplos com strings Compara duas strings lidas, e mostra-as em ordem alfabética: #include <string.h> #include <stdio.h> int main(int argc, char ** argv) { char nome1[32], nome2[32]; int comparacao; } scanf( %s, nome1); scanf( %s, nome2); comparacao = strncmp(senha, tentativa, 32); if (comparacao >= 0) printf( %s, %s\n, nome1,nome2); else printf( %s, %s\n, nome2, nome1); 16

Variáveis na linguagem C: exercícios com strings Faça um programa que leia o nome e sobrenome de uma pessoa, e armazene-o numa variável segundo estes formatos: i) Nome Sobrenome ii) Sobrenome, Nome iii) Sobrenome, Inicial_do_Nome Faça um programa que leia o nome de um arquivo e a partir dele gere seu caminho completo (desde a raiz). Assuma que o arquivo esteja: i) No diretório atual ii) No diretório /tmp 17

Variáveis na linguagem C: exercícios com strings Faça um programa que leia o caminho completo de um arquivo, e verifique se esse arquivo está dentro de um dos seguintes diretórios: i) /tmp ii) /home/aluno iii) diretório atual Faça um programa que leia três nomes pelo teclado, e informe o primeiro e o último em ordem alfabética. Faça um programa que leia três nomes pelo teclado, e informe o primeiro e o último por ordem de tamanho. 18

Variáveis na linguagem C: exercícios com strings Faça uma função que verifique se um determinado caractere de uma string é letra maiúscula, minúscula, ou não é uma letra. Faça então um programa para testá-la. Faça um programa que leia uma frase pelo teclado e pesquise se essa frase contém as palavras-chaves: para, de, com. Modifique o programa anterior para que as palavras-chaves encontradas sejam substituídas por palavras equivalentes com letras maiúsculas. Faça um programa que localize uma palavra dentro de uma frase, e remova-a. Faça um programa que localize uma palavra dentro de uma frase, e insira uma outra palavra na sua frente. 19

Variáveis na linguagem C: exercícios com strings Faça um programa que localize uma palavra dentro de uma frase, e a ponha entre parênteses. Faça um programa que troque a primeira e segunda palavras de lugar. 20