CCO 016 / COM 110 Fundamentos de Programação

Documentos relacionados
Introdução à Linguagem C

Linguagem C Princípios Básicos (parte 1)

Treinamento Olimpíada Brasileira de Informática

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

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

Linguagem C: Introdução

Ambiente de desenvolvimento

Disciplina de Algoritmos e Programação

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

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

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

A Linguagem C. A forma de um programa em C

Introdução à Computação MAC0110

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Linguagem C

Estrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores

Introdução à Programação em C

Programação: Vetores

4. Estruturas Fundamentais de Programação em C

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

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Algoritmos e Linguagem de Programação em C. Professor: Bernard Cardoso Oliveira

Linguagem C. Eliane Pozzebon

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Elementos de programação em C

Estrutura de Programas e Tipos de Dados Simples

Introdução a Linguagem C

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

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

Slides trabalhados durante a quinta aula

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Introdução a Programação na Linguagem C.

Introdução à Computação (IC) Linguagem C: Variáveis e Constantes

1ª Lista de Exercícios

Métodos Computacionais

Algoritmos RESUMO - LINGUAGEM C

ITENS FUNDAMENTAIS Programando em C++

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

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

11 - Estrutura de um programa em C

Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Funções de Entrada e Saída

Unidade 5: Introdução à Programação com C/C++

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Algoritmos I Aula 13 Linguagem de Programação Java

Disciplina de Algoritmos e Programação

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

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

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

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

Introdução à Linguagem C

Métodos Computacionais. Strings (Vetor de Caracteres)

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

Algoritmos. Para encontrar a raiz de uma equação quadrática, são necessários alguns passos detalhados:

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

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

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Curso de C para Engenharias

100 Exercícios Teóricos não resolvidos

Lógica de Programação I. Gilson de Souza Carvalho

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

Apêndice B. Cadeias de Caracteres (Strings)

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

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012

Introdução à Programação C

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

C Operadores e Expressões

Introdução da Linguagem C

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Algoritmo e Programação Matemática

Revisão C++ - Parte 1

Modulo 9: Você define como éo dado... Struct e typedef

Introdução a linguagem C. Introdução à Programação 06/07

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

3 O Primeiro Programa em C. Unesp Campus de Guaratinguetá

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Modulo 2 Leitura, Escrita e IF

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Elementos de programação em C

Linguagem C. Operadores

Vetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:

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

1 Exercícios com ponteiros

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS

Curso básico de JavaScript Aula 2

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Conceitos Básicos de Algoritmos

Aula 12- Variáveis e valores reais

Modularidade - Fun ções e Procedimentos

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

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

Transcriçã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 C 1972 primeira versão de C criada por Dennis Ritchie nos laboratórios Bell. 1960 surgimento da linguagem ALGOL 60, que gerou a linguagem C. 1967 surgiu CPL (Combined Programming Language) nas universidades de Londres e Cambridge com o objetivo, segundo a equipe do projeto, de "trazer ALGOL à terra", ou "manter contato com a realidade de um computador real". Ainda em 1967, em Cambridge, Martin Richards criou o BCPL (Basic CPL), uma simplificação do CPL, tentando manter apenas as "boas coisas do CPL".

Histórico da Linguagem C 1970 Ken Thompson, chefe da equipe que projetou o UNIX para o PDP11 do Bell Labs, implementou um compilador para uma versão mais reduzida do CPL. Batizou a linguagem de B. Tanto BCPL quanto B mostravam-se muito limitadas, prestando-se apenas para certas classes de problemas. Por muitos anos (aproximadamente 10) a sintaxe (formato) tida como padrão da linguagem C foi aquela fornecida com o UNIX versão 5.0 do Bell Labs. Em 1985, ANSI (American National Standards Institute) estabeleceu um padrão oficial de C o chamado "C ANSI".

Características da Linguagem C Portalibilade Modularidade Recursos de baixo nível Geração de código eficiente Simplicidade Facilidade de uso Pode ser usada para os mais variados propósitos Indicada para escrever compiladores, editores de textos, bancos de dados, etc.

Etapas da Geração de um Programa em C Escrita do módulo fonte C através de um editor de texto: vi, emacs, pico, gedit, bloco de notas, etc. Os programas devem sempre ter a extensão.c Pré-processamento (fonte expandido) Compilador (gera objeto) Lincagem (gera executável)

#include <stdio.h> int main ( ) { // saida do programa Programa inicial printf ( Fiz meu primeiro programa em C\n ); } return 0;

Detalhes a serem observados includes Comentários Inicio e fim do programa ( chaves ) Fim das instruções ( ponto e virgula )

Inteiro int Flutuante float Caracter char Cadeia char [ nn ] Definição de variáveis

#include <stdio.h> int main ( ) { // definicao das variaveis int x, soma_valores; Tipo inteiro } return 0;

Tipo flutuante #include <stdio.h> int main () { // definicao das variaveis float x, soma_valores; } return 0;

Tipo caracter #include <stdio.h> void main ( ) { // definicao das variaveis char x, primeira_letra; } return 0;

Tipo cadeia #include <stdio.h> int main ( ) { // definicao das variaveis char x[10], nome_pessoa[30]; } return 0;

Atribuição de valores à variáveis Algoritmo variável valor Linguagem C variável = valor;

Exemplo inteiro #include <stdio.h> int main ( ) { // definicao das variaveis int x; // atribuicao dos dados x = 569; } return 0;

#include <stdio.h> int main ( ) { // definicao das variaveis float x; // atribuicao dos dados x = 569.87; Exemplo flutuante } return 0;

#include <stdio.h> int main ( ) { // definicao das variaveis char x; // atribuicao dos dados x = g ; Exemplo caracter } return 0;

Exemplo cadeia Diferentemente dos outros tipos, o tipo cadeia não pode ter atribuição direta; Esta atribuição somente poderá ser realizada através de funções da biblioteca da linguagem C; Todas as vezes que esta biblioteca é usada, a seguinte declaração é necessária: #include <string.h>

Funções de cadeia A seguir algumas das funções que poderão ser usadas com o tipo cadeia: strcpy ( a, b ) copia a cadeia b na cadeia a strcmp ( a, b ) compara a cadeia a com a cadeia b ( se forem iguais o strcat ( a, b ) resultado é igual a zero ) concatena a cadeia b com a cadeia a guardando o resultado na cadeia a

Exemplo 1 #include <stdio.h> #include <string.h> int main ( ) { // definicao das variaveis char x[10], y[5], t[20]; // atribuicao dos dados strcpy ( x, Maria ); strcpy ( y, sol ); } strcpy ( t, x ); strcat ( y, x ); return 0;

Saída de dados Saída de dados compreende a operação de externar uma informação, ou seja, mostrar ao usuário o conteúdo de uma ou mais variáveis num programa. Os dispositivos disponíveis para a execução desta tarefa são: o monitor de vídeo, a impressora, um arquivo.

Em linguagem algorítmica tem-se: imprima ( informação ) Esta informação pode ser o conteúdo de uma variável, um texto, um caractere ou um valor numérico.

Exemplo 7 inteiro soma_valor, media_idades soma_valor 45 media_idades 92 - mostrando o resultado numa única linha de saída: imprima ( soma_valor, media_idades )

Saída visualizada O computador mostrará no monitor de vídeo as seguintes informações: 45 92

Ou ainda, mostrando cada valor de variável em linhas separadas de saída: imprima ( soma_valor ) imprima ( media_idades )

Saída visualizada 45 92

Ou ainda, identificando os valores mostrados: imprima ( soma do valor:, soma_valor ) imprima ( media das idades =, media_idades )

Saída visualizada soma do valor: 45 media das idades = 92

Formato dos dados Tanto para saída quanto para a entrada de dados, é necessário definir-se a forma como os dados serão manuseados; Isto é feito utilizando-se a declaração de formato dos dados; Em linguagem C esta formatação deve estar inclusa nas declarações de entrada e de saída dos dados;

Códigos de formatos Para cada variável do programa é necessário que se defina o formato correspondente ao tipo definido para ela; Este formato das variáveis é definido com os códigos de formato

Tipo inteiro: %[n]d n significa o tamanho do campo, ou seja, quantos dígitos tem o numero incluindo o sinal ( positivo ou negativo ) o sinal [ ] significa que a informação é opcional Tipo flutuante: %[n.t]f t significa o tamanho do campo decimal n significa o tamanho do campo, ou seja, quantos dígitos tem o numero incluindo o ponto decimal, o campo t e o sinal do numero Tipo caracter: %c Tipo cadeia : %s

Tabela de códigos de formato (%) Código Formato %c Um caracter (char) %d Um número inteiro decimal (int) %i O mesmo que %d Número em notação científica com o %e "e"minúsculo Número em notação científica com o %E "e"maiúsculo %f Ponto flutuante decimal Escolhe automaticamente o melhor entre %f %g e %e Escolhe automaticamente o melhor entre %f %G e %E

Tabela de códigos de formato (%) Código Formato %o Número octal %s String %u Decimal "unsigned" (sem sinal) %x Hexadecimal com letras minúsculas %X Hexadecimal com letras maiúsculas %% Imprime um % %p Ponteiro

Controle da impressão Todas as linhas de saída necessitam do controle da impressão Isto é feito utilizando-se o caractere especial: \n Observar que isto só é válido para a impressão de dados e não para a entrada.

Este caractere pode ser colocado: No inicio do comando de saída; No meio No fim ; A colocação do caractere de controle de saída na instrução de impressão indica que a informação será impressa e em seguida o computador fica disponível para imprimir nova informação na linha seguinte à que acabou de ser impressa;

A não colocação do caractere de controle de impressão na instrução de saída indica que a próxima informação será impressa na mesma linha da impressão anterior; Numa instrução de saída, pode-se colocar quantos \n forem necessários;

Quando colocado no inicio da instrução de saída, cada \n indica uma linha em branco, antes da impressão da informação; Quando colocado no fim da instrução de saída, cada \n indica uma linha em branco, após a impressão da informação; Quando colocado no meio da instrução de saída, [q] \n indica ( q 1) linhas em branco, entre as informações impressas;

Saída de Dados A saída de dados que aprendemos era: imprimi() Para a linguagem C usaremos a printf(). Essa é uma função da linguagem e para utilizá-la precisamos da biblioteca stdio.h.

Saída de dados 1 Saída simples algoritmo: imprima ( x ) em linguagem C: printf ( %d\n, x ); //x x sendo inteiro

Visualização da saída Suponha que na variável inteira x esteja armazenado o valor 569 A saída terá a seguinte aparência: 569

Programa em C #include <stdio.h> int main() { int x; //declaração da variável x x = 569; //atribuição do valor na variável printf ( %d, x); //Impressão do dado return 0; }

Programa em C #include <stdio.h> int main() { int x; x = 569; printf ( %d\n, x); return 0; } #include <stdio.h> int main() { int x; x = 569; printf ( x = %d\n, x); return 0; } Qual a diferença dos 3 printf's?

Saída de dados 2 algoritmo: x 569 imprima ( x =, x ) em linguagem C: x = 569; printf ( x = %5d\n, x );

Visualização da saída A saída terá a seguinte aparência: ( a linha tracejada não aparece na saída, é só para guiá-la ) = = = = = = = x = 5 6 9

Saída de dados 3 #include <stdio.h> int main ( ) { // definicao das variaveis int x, soma_valores; // atribuicao dos dados x = 569; soma_valores = -5409; } // saida dos dados printf ( valor de x\n ); printf ( x = %5d\n, x ); printf ( valor da soma dos valores\n ); printf ( soma dos valores = %10d\n, soma_valores ); return 0;

Visualização da saída A saída terá a seguinte aparência: valor de x x = 569 ( 2 espaços em branco antes do numero ) valor da soma dos valores soma dos valores = -5409 ( 5 espaços em branco antes do numero )

// saida dos dados Outra alternativa printf ( valor de x\n\n ); printf ( x = %5d\n, x ); printf ( \n\n\nvalor da soma dos valores\n ); printf ( \n\nsoma dos valores = %10d, soma_valores );

Visualização da saída Os valores numéricos nos inícios das linhas não fazem parte da saída, são apenas para guiar o leitor: 1) valor de x 2) 3) x = 569 4) 5) 6) 7) valor da soma dos valores 8) 9) 10) soma dos valores = -5409

// saida dos dados Outra alternativa printf ( valor de x\n\nx = %5d\n, x ); printf ( \n\n\nvalor da soma dos valores\n\n\nsoma dos valores = %10d, soma_valores );

Tipo Flutuante Saída simples algoritmo: x 569.26 imprima ( x ) em linguagem C: x = 569.26; printf ( %f\n, x );

Visualização da saída A saída terá a seguinte aparência: 569.260000

Outra alternativa printf ( valor de x = %10.4f\n, x );

Visualização da saída A saída terá a seguinte aparência: = = = = = = = = = = ( linha de referencia ) valor de x = 5 6 9. 2 6 0 0

Tipo caracter Saída simples algoritmo: x g imprima ( x ) em linguagem C: x = g ; printf ( %c\n, x );

Visualização da saída A saída terá a seguinte aparência: g

Outra alternativa // definicao das variaveis char letra_1, letra_2; // atribuicao dos valores letra_1 = g ; letra_2 = h ; // saida dos resultados printf ( letra 1 = %c\n, letra_1 ); printf ( letra 2 = %c\n, letra_2 );

Visualização da saída A saída terá a seguinte aparência: letra 1 = g letra 2 = h

Outra alternativa A mesma saída poderia ser obtida através da seguinte declaração: printf ( letra 1 = %c\n letra 2 = %c\n, letra_1, letra_2 );

Tipo cadeia Saída simples algoritmo: x Unifei imprima ( x ) em linguagem C: strcpy ( x, Unifei ); printf ( %s\n, x );

Visualização da saída A saída terá a seguinte aparência: Unifei

Outra alternativa #include <stdio.h> #include <string.h> int main ( ) { // definicao das variaveis char nome_1[20], nome_2[5], nome_3[30]; // atribuicao dos dados strcpy ( nome_1, Universidade ); strcpy ( nome_2, EFEI ); strcpy ( nome_3, nome_1 ); strcat ( nome_3, nome_2 );

// saida dos dados printf ( nome 1 = %s\n, nome_1 ); printf ( nome 2 = %s\n, nome_2 ); printf ( nome 3 = %s\n, nome_3 ); } return 0;

Visualização da saída A saída terá a seguinte aparência: nome 1 = Universidade nome 2 = EFEI nome 3 = UniversidadeEFEI

Constantes de barra invertida Constante Significado \n Nova Linha \ Aspas \ Apóstofro \0 Nulo (0 decimal) \\ Barra Invertida \t Tabulação Horizontal (tab) \a Alerta (beep) \b Retorno do Cursor

Estrutura básica de um programa em C Observando o programa acima podemos perceber que existem duas formas de comenta-lo. O primeiro é utilizando duas barras // que comenta todo o código contido naquela linha e não há necessidade de fecha-la. O segundo é usando os caracteres /* e */ que comentam todas as instruções localizadas entre eles. Quando comentamos uma instrução estamos na realidade impedindo que elas sejam compiladas.

Treinamento Faço um programa em C que imprima tenha o cabeçario. ----------------------------------------------------------------- Nome: (seu nome) Matricula: (sua matricula) Curso: (seu curso) -----------------------------------------------------------------

Treinamento Faço um programa em C que imprima ------------------------------------------------------------------ ------------------------------------------------------------------

Treinamento Faço um programa em C que imprima ------------------------------------------------------------------ x = 35 x = 35 x = 35 ------------------------------------------------------------------

Treinamento Faço um programa em C que imprima: 35 35 35 035 0035

Estudo Visite os sites: https://www.codingunit.com/printf-format-specifiers-form at-conversions-and-formatted-output https://www.tutorialspoint.com/c_standard_library/c_funct ion_printf.htm http://www.cplusplus.com/reference/cstdio/printf/ http://homepages.dcc.ufmg.br/~rodolfo/aedsi-2-10/printf_s canf/printfscanf.html http://www.w3resource.com/c-programming-exercises/basi c-declarations-and-expressions/c-programming-basic-exe rcises-3.php #

What happens in the program? #include <stdio.h> int main ( ) { // Saída } printf( \troberto\n\\\/\ ); return 0;