Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ambientes para programação Programação em C IDE – Ambiente Integrado para Desenvolvimento Windows - Compilador MinGW (GCC Windows) e Code Blocks. Instalação integrada disponível através do link: http://www.codeblocks.org/downloads Linux - no terminal digite: sudo aptitude install build-essential codeblocks Comandos básicos ● Compilar e rodar o programa: F9 ● Identar automaticamente o código: ● Menu Plugins → Source Code Formatter ● Completar código: ● ctrl+espaço (códigos existentes) ● ctrl+j (códigos configurados em abreviações) – Novas abreviações podem ser incluídas através do Menu: Settings → Editor → Abreviations Programação utilizando o editor de texto e um terminal embutido Editor: gedit ● Configurações principais: ● Menu Editar → Preferências (Plugins, marcar terminal embutido) ● Menu Ver → Painel Inferior (para visualizar o terminal embutido) ● Completar código: ● Inicia a escrever o comando + TAB ● Novos códigos: – Podem ser incluídas através do Menu: Ferramentas → gerenciar trechos ou manage snippets Introdução Programação em C 6 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Compiladores e interpretadores Portanto ✔ A maneira de se comunicar com o computador é através de um programa. ✔ A única linguagem entendida pelo computador é a LINGUAGEM DE MÁQUINA. Todos os programas que se comunicam com a máquina devem estar em linguagem de máquina. 7 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Interpretadores 1. Lê a primeira instrução do programa 2. Verifica a consistência de sua sintaxe 3. Converte para linguagem de máquina 4. Executa a instrução 5. Segue para a próxima instrução e repete as etapas 1-4 até que termine todas as instruções ou encontre um erro. Erros: 0 8 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Compiladores 1. Lê a primeira instrução do programa 2. Verifica a consistência de sua sintaxe 3. Converte para linguagem de máquina 4. Segue para a próxima instrução e repete as etapas 1-3 até que termine todas as instruções ou encontre um erro 5. Ao final, gera um programa em disco (código objeto) com as instruções já traduzidas 6. O linkeditor agrega as rotinas necessárias em linguagem de máquina e gera um arquivo executável, o qual pode ser executado diretamente pelo sistema operacional Erros: 0 9 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Como criar um programa executável 1. Digitar o programa com um editor de textos 2. Gravar o programa em disco dando um nome a ele com extensão .c Ex.: primeiro.c 3. Compiliar o código-fonte de acordo com seu compilador Ubuntu: gcc primeiro.c -o NomeArquivoExecutavel 10 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Como executar um programa 1. Digitar o seguinte comando no terminal ./nomeArquivoExecutavel Exemplo: ./primeiro 11 Linguagens de Programação Instituto de Ciência e Tecnologia Origem de C está associada ao sistema Unix ✔ Histórico: – 1970: Ken Thompson desenvolve B, baseada em BCPL, para o primeiro Unix no DEC PDP-7 – 1972: Dennis Ritchie projeta a linguagem C, baseada na linguagem B. – 1988: o American National Standard Institute (ANSI) define o padrão ANSI C ✔ É considerada uma linguagem de nível médio ✔ É “case sensitive”, ou seja, interpreta como diferentes letras maiúsculas de minúsculas Linguagem C Histórico Variáveis e tipos de dados Programação em C 13 Linguagens de Programação Instituto de Ciência e Tecnologia ✔ Como armazenar em um programa os dados de entrada, fornecidos pelo usuário? ✔ O que fazer com os resultados das operações? ✔ Variáveis são elementos que estão associados a posições de memória, cujo objetivo é o armazenamento informações. ✔ ...por tempo suficiente ao seu processamento Linguagem C Variáveis e tipos de dados 14 Linguagens de Programação Instituto de Ciência e Tecnologia Uma constante tem valor fixo e invariável ✔ ' z ' : caractere ✔ “ teste ” : cadeia de caracteres ✔ 5 : constantes numéricas (número decimal inteiro) ✔ 5.2 : constante numérica (número decimal fracionário) ✔ 03 : constante numérica (número octal) ✔ 0x3 : constante numérica (número hexadecimal) Linguagem C Constantes 15 Linguagens de Programação Instituto de Ciência e Tecnologia Uma variável é uma posição da memória cujo conteúdo pode ser modificado durante a execução de um programa, devendo ser-lhe associados um identificador e um tipo. Linguagem C Variáveis 16 Linguagens de Programação Instituto de Ciência e Tecnologia Identificador: nome escolhido pelo programador que faz referência a elementos tais como as variáveis 1.Regras para a definição de identificadores: – Na formação do identificador só podem ser utilizados: dígitos, letras (tanto maiúsculas quanto minúsculas) e o caractere de sublinhado ( _ ) – O identificador deve começar sempre com uma letra ou caractere de sublinhado 2.• Apenas os 31 primeiros caracteres são considerados na escrita de um identificador. Linguagem C Identificadores 17 Linguagens de Programação Instituto de Ciência e Tecnologia • Em C, há diferença entre maiúsculo e minúsculo – Exemplo: – Nome ≠ nome ≠ NOME • Não pode ser empregar qualquer uma das palavras reservadas à linguagem C como identificadores Linguagem C Identificadores 18 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Palavras-chaves em C(ANSI) auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while 19 Linguagens de Programação Instituto de Ciência e Tecnologia Exemplos de nomes de variáveis: Linguagem C Variáveis Corretos Soma Teste1 Media_Ari _sizeint Incorretos 1Soma Teste! Media..Ari _size-int 20 Linguagens de Programação Instituto de Ciência e Tecnologia O tipo de uma variável define os valores que ela pode assumir e as operações que podem ser realizadas com ela ✔ Descreve a natureza da informação • Ex: – variáveis tipo int recebem apenas valores inteiros – variáveis tipo float armazenam apenas valores reais Linguagem C Tipos de dados 21 Linguagens de Programação Instituto de Ciência e Tecnologia ✔ char: um byte que armazena o código de um caractere do conjunto de caracteres local ✔ int: um inteiro cujo tamanho depende do processador, tipicamente 16 , 32 ou 64 bits ✔ float: um número real com precisão simples ✔ double: um número real com precisão dupla Linguagem C Tipos de dados básicos em C 22 Linguagens de Programação Instituto de Ciência e Tecnologia • Os modificadores alteram algumas características dos tipos básicos para adequá-los a necessidades específicas • Modificadores: – signed: indica número com sinal (inteiros e caracteres) – unsigned: número apenas positivo (inteiros e caracteres) – long: aumenta abrangência (inteiros e reais) Linguagem C Modificadores de Tipos 23 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Abrangência de dados: 16 bits Tipo Bit Bytes Abrangência char 8 1 -128 a 127 unsigned char 8 1 0 a 255 int 16 2 -327680 a 32767 unsigned int 16 2 0 a 65535 long int 32 4 -2.147.483.648 a 2.147.483.647 float 32 4 3.4E-38 a 3.4E+38 double 64 8 1.7E-308 a 1.7+308 void 0 0 Sem valor 24 Linguagens de Programação Instituto de Ciência e TecnologiaEm C todas as variáveis devem ser declaradas! ✔ A declaração de uma variável segue o modelo: TIPO_VARIÁVEL lista_de_variáveis ✔ Ex: int x, y,z; float g; unsigned int u; char c = 'A' ; /* variável definida e iniciada*/ char s[ ] = “vetor de caracteres” Linguagem C Declaração de variáveis 25 Linguagens de Programação Instituto de Ciência e Tecnologia 1. Locais 2. Parâmetros Formais 3. Globais Linguagem C Localização das Variáveis Operadores Programação em C 27 Linguagens de Programação Instituto de Ciência e Tecnologia • Correspondem a símbolos simples ou combinados que representam operações de natureza: aritmética, relacional ou lógica. • Podem ser classificados também quanto a quantidade de elementos sob os quais incidem, i.e., unários, binários ou ternários. Linguagem C Operadores 28 Linguagens de Programação Instituto de Ciência e Tecnologia • Representam as operações aritméticas básicas Linguagem C Operadores Aritméticos Operação Operador Adição + Subtração - Multiplicação * Divisão / Resto % Incremento ++ Decremento -- 29 Linguagens de Programação Instituto de Ciência e Tecnologia • Estabelecem relações/comparações Linguagem C Operadores Relacionais Operação Operador Igualdade == Diferença != Maior > Maior ou Igual >= Menor < Menor ou Igual <= 30 Linguagens de Programação Instituto de Ciência e Tecnologia • Estabelecem relações/comparações Linguagem C Operadores Lógicos Operação Operador Negação ! Conjunção && Disjunção || 31 Linguagens de Programação Instituto de Ciência e Tecnologia • Forma geral: variavel = expressão ou constante • Armazena o conteúdo dado a direita no elemento dado à esquerda • Múltiplas atribuições – C permite a atribuição de mais de uma variável em um mesmo comando: x = y = z = 0; Linguagem C Operador de Atribuição (de variável) 32 Linguagens de Programação Instituto de Ciência e Tecnologia • Expressões são compostas por: – Operandos: a, b, x, Meu_dado, 2... – Operadores: +, -, %, ... – Pontuação: ( ) – Funções: pow(), sqrt(), ... • Ex: X 14 x + y (x + y)*z + w – v ( -b + sqrt(delta) ) / 2*a Linguagem C Expressões 33 Linguagens de Programação Instituto de Ciência e Tecnologia • Expressões retornam um valor: x = 5 + 4 /* retorna 9 */ • esta expressão atribui 9 a x e retorna 9 como resultado da expressão ((x = 5 + 4) == 9) /* retorna verdade = 1 */ • na expressão acima, além de atribuir 9 a x, o valor retornado é utilizado em uma comparação Linguagem C Expressões 34 Linguagens de Programação Instituto de Ciência e Tecnologia • A ordem em que uma expressão é avaliada depende da prioridade dos operadores e da pontuação • Expressões podem aparecer em diversos pontos de um programa – comandos /* x = y; */ – parâmetros de funções /* sqrt(x + y); */ – condições de teste /* if (x == y) */ Linguagem C Expressões 35 Linguagens de Programação Instituto de Ciência e Tecnologia • Quando uma variável de um tipo é atribuída a uma de outro tipo, o compilador automaticamente converte o tipo da variável a direita de “=” para o tipo da variável a esquerda de “=” • Ex: int i; char ch; float f; ch = i; /* ch recebe 8 bits menos significativos de x */ i = f; /* x recebe parte inteira de f */ f = ch; /* f recebe valor 8 bits convertido para real */ f = i; /* idem para inteiro i */ Linguagem C Conversão de tipos Estrutura básica Programação em C 37 Linguagens de Programação Instituto de Ciência e Tecnologia main() Primeira função a ser executada { Inicia o corpo da função } Termina o corpo da função Todo programa, escrito na linguagem C, deve apresentar uma função principal chamada main, que define todo o corpo do programa ✔ A função main deve existir em algum lugar do programa e marca o ponto de início da execução do mesmo Linguagem C Estrutura básica de um programa em C 38 Linguagens de Programação Instituto de Ciência e Tecnologia #include<stdio.h> main() { printf(“Primeiro programa!”); } Linguagem C Instruções de um programa 39 Linguagens de Programação Instituto de Ciência e Tecnologia // Comentário de uma linha /* Comentário de mais de uma linha* / Linguagem C Comentários em C 40 Linguagens de Programação Instituto de Ciência e Tecnologia • Empregados para que o sistema forneça, em um dispositivo de saída, as mensagens e resultados de seu processamento. • O dispositivo padrão de saída é o monitor. • A linguagem C oferece alguns comandos de saída,mas o que apresenta propósito mais geral é o printf. Linguagem C Comandos de saída 41 Linguagens de Programação Instituto de Ciência e Tecnologia • Sintaxe: printf(“Mensagem”, lista de variáveis); • Funcionamento: – O comando escreve a mensagem dada no dispositivo padrão de saída, realizando a substituição das máscaras de formatação encontradas pelas respectivas variáveis dadas na lista subsequente à mensagem. – O dispositivo padrão é dado pela variável stdout ✔ Biblioteca necessária: include<stdio.h> Linguagem C O comando printf 42 Linguagens de Programação Instituto de Ciência e Tecnologia Caracteres que não podem ser obtidos diretamente do teclado para dentro do programa são escritos em C como a combinação do sinal \ (barra invertida) com outros caracteres: \a bip \b backspace \n nova linha \r return \t tabulação horizontal \’ apóstrofe \” aspas \\ barra invertida Linguagem C Constantes do tipo char 43 Linguagens de Programação Instituto de Ciência e Tecnologia • Símbolo de por cento seguido de uma letra: • %c Caractere • %d Inteiros com sinal • %u Inteiros sem sinal • %f Números reais • %e Notação científica • %x Números em hexadecimal • %s Cadeia de caracteres (strings) Linguagem C Máscaras de formatação 44 Linguagens de Programação Instituto de Ciência e Tecnologia • Saída formatada printf(). Ex: – O trecho abaixo: int i = 10; float r = 3.1514; char s[] = “Curso inicial”; /* cadeia de caracteres */ printf(“Inteiro: %d, Real: %f, String: %s”,i,r,s); – Produz: Inteiro: 10, Real: 3.151400, String: Cuso inicial Linguagem C Exemplo 45 Linguagens de Programação Instituto de Ciência e Tecnologia • Utilizado para receber dados fornecidos pelo usuário (dados de entrada) e armazená-los na memória principal (em variáveis) • Os dados são fornecidos ao sistema por meio de um dispositivo de entrada, cuja configuração dada como padrão é o teclado. • A linguagem C oferece vários comandos de entrada, cada qual mais indicado para uma situação em particular. • O principal comando de entrada é o scanf Linguagem C Comandos de entrada 46 Linguagens de Programação Instituto de Ciência e Tecnologia • Sintaxe: scanf(“formato”, &variável); • Funcionamento: – O comando coleta as informações dadas no dispositivo padrão de entrada, interpretando as informações segundo a máscara de formatação e armazenando na(s) respectiva(s) variável(is) dada(s) subsequentemente ao formato. – O dispositivo padrão é dado pela variável stdin Linguagem C O comando scanf 47 Linguagens de Programação Instituto de Ciência e Tecnologia scanf(“expressão de controle”, lista de argumentos); A expressão de controle pode conter: ✔ Especificadores de formato (são precedidos por %) ✔ Caracteres de espaço em branco ( espaço, tabulação, enter) ✔ Caracteres de espaço não branco Linguagem C Sintaxe da funçãoscanf 48 Linguagens de Programação Instituto de Ciência e Tecnologia • Entrada formatada scanf(). – Ex: int i; float r; char str[10]; scanf(“%d”,&i); scanf(“%f”,&r); scanf(“%s”,&str); – Ou ainda: int dia, mes, ano; scanf(“%d/%d/%d”, &dia, &mes, &ano); Linguagem C Exemplo 49 Linguagens de Programação Instituto de Ciência e Tecnologia Linguagem C Especificadores de formato da função scanf Código: %c %d %i %f %o %x %s %[ ] Significado: Lê um único caractere Lê um inteiro decimal Lê um inteiro decimal Lê um número em ponto flutuante Lê um número octal Lê um número hexadecimal Lê um string (conjunto de caracteres) Busca por um conjunto de caracteres Exercícios Programação em C Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50
Compartilhar