Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação I Ciência da Computação Cornélia Janayna Programa em C • Programação – Conjunto de instruções – Algoritmo – Codificar • Linguagens de Alto Nível – Independente de máquina • Compiladores – Tradução do código Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Programa em C Caracteres especiais Programa em C /*Comentários*/ Variáveis Declaração de variáveis Exemplos: Declaração: Variáveis #include <stdio.h> //declaração de variáveis globais // ---------------- Funçao main()------------------- int main(void) { //declaração das variáveis locais da main() return(0); } // ------------------------------------------------- void funcao1(variáveis locais de parâmetros) { // declaração das variáveis locais da função1 { // declaração das variáveis locais no bloco } return; } Variáveis Nomes de variáveis : • Descri]vo daquilo que vai armazenar • Não deve ser todo escrito em maiúsculo • Caso use mais de uma palavra, u]lizar underscore ou diferença entre minúsculas maiúcsulas. • Não usar underscore ou números para iniciar • Exemplos: Variáveis Atribuição: • Uma variável poderá der iniciada com um valor através de uma operação de atribuição; • Exemplo: Tipos Inteiros: • Armazena valores numéricos sem parte fracionária; • Valores: 2, -13, + 564; • Declaração: int num; • Operações sobre inteiros Tipos Inteiros: o formato de escrita de um inteiro na função prin+ é %d. • Tipos INTEIROS • O formato de escrita de um inteiro na função prin+ é %d. Tipos Inteiros e variações:o tamanho em bytes de um inteiro varia de arquitetura, 2 ou 4 bytes. Prefixos que garantem o tamanho: short, long. Tipos • Inteiros e variações: O formato na função prinl é %hd e %ld. Tipos • Inteiros e variações: com sinal, sem sinal. Tipos • Inteiros e variações: Tipos • Reais: valores inteiros com parte fracionária. • Float : armazemam 4 bytes • Double: armazemam 8 bytes Tipos • Reais: O formato na função prinl é %f. Tipos • Reais: Operações Tipos • Caracteres: armazena um único caractere em um byte. • O formato na função prin+ é %c. Tipos • Caracteres: podem ser u]lizados códigos na Tabela ASCII: • Exemplo Tipos • Cas]ng: alteração do ]po anteriormente declarado: Tipos • Formatos e Tipos - Resumo Testes, Condicionais, Seleções • Valores Lógicos – Verdadeiro e Falso – Em C o valor lógico FALSO é representado por 0 (ZERO) – Tudo que seja diferente de 0 (ZERO) representa o valor lógico VERDADEIRO • Exemplos: – FALSO : 0 – VERDADEIRO : 2, -3, 150.54, 0.003 • Os valores lógicos resultam, normalmente, de afirmações que são analisadas e cuja avaliação determina se a afirmação é verdadeira ou falsa. Testes, Condicionais, Seleções • Os valores lógicos resultam, normalmente, de afirmações que são analisadas e cuja avaliação determina se a afirmação é verdadeira ou falsa. • Exemplo: – A terra é quadrada (FALSO) – O gelo apresenta-se no estado sólido. (VERDADEIRO) – O valor 20 é superior ao valor a 14. (VERDADEIRO) – O valor 20 é superior ao valor 30. (FALSO) Testes, Condicionais, Seleções • IF – ELSE – SINTAXE: • COMO FUNCIONA: – A condição é avaliada; – Se o resultado da condição for verdadeiro,executa a instrução1; – Se o resultado da condição for falso, executa a instrução2 (caso exista o else). Testes, Condicionais, Seleções • IF – ELSE Testes, Condicionais, Seleções • IF – ELSE • Em C o valor de uma variável pode ser aproveitado pelo programador como valor lógico, u]lizando-o como FALSO (caso 0) ou VERDADEIRO (caso seja diferente de 0). Testes, Condicionais, Seleções • Bloco de Instruções • U]lizar instruções entre {}. Testes, Condicionais, Seleções • IF-ELSE encadeados (aninhados) – Quando o teste de uma condição não é suficiente para tomar a decisão. Testes, Condicionais, Seleções • IF-ELSE encadeados – Sempre que existem istruções if-else encadeadas, cada componente else pertence sempre ao úl]mo if (que ainda não tenha um else associado). • No código anterior, o esle pertence ao if (b>10) e não ao primeiro if Testes, Condicionais, Seleções • IF-ELSE encadeados – Sempre que existem istruções if-else encadeadas, cada componente else pertence sempre ao úl]mo if (que ainda não tenha um else associado). • Para que o esle pertença ao primeiro if Testes, Condicionais, Seleções • OPERADORES RELACIONAIS Testes, Condicionais, Seleções • OPERADORES RELACIONAIS • Uma expressão relacional que contenha um operador relacional devolve sempre como resultado o valor lógico VERDADE (1) ou FALSO (0). Testes, Condicionais, Seleções • OPERADORES RELACIONAIS • Exemplo: Testes, Condicionais, Seleções • OPERADORES LÓGICOS • Duas ou mais expressões lógicas: único valor lógico. Testes, Condicionais, Seleções • OPERADORES LÓGICOS Duas ou mais expressões lógicas: único valor lógico. Testes, Condicionais, Seleções • OPERADORES LÓGICOS Duas ou mais expressões lógicas: único valor lógico. Testes, Condicionais, Seleções • OPERADORES LÓGICOS Duas ou mais expressões lógicas: único valor lógico. Testes, Condicionais, Seleções • OPERADORES LÓGICOS Duas ou mais expressões lógicas: único valor lógico. Testes, Condicionais, Seleções • PRECEDÊNCIA DOS OPERADORES LÓGICOS E RELACIONAIS – A DIRAÇÃO DA SETA INDICA A MAIOR PRECENDÊNCIA Testes, Condicionais, Seleções • OPERADOR ? – SINTAXE • FUNCIONAMENTO – A condição é avaliada. – Se o resultado for VERDADE, o resultado de toda a expressão é o valor devolvido por expressão1; – Se o resultado for FALSO, o resultado de toda a expressão é o valor devolvido por expresão2. Testes, Condicionais, Seleções • OPERADOR ? – SINTAXE Testes, Condicionais, Seleções • SWICTH – A Tomada de decisões com enúmeras possibilidades. Em geral, maior que 2. Reduz o uso de if-elses encadeados. – SINTAXE: Testes, Condicionais, Seleções • SWICTH Laços • While, Do While, For – - – - – - Laços • While – Sintaxe – A condição é avaliada; – Se FALSA, o laço termina e o programa con]nua na instrução imediatamente depois do while; – Se VERDADEIRA, é executada a instrução (ou bloco de instruções); Laços • While – Sintaxe Laços • While – Sintaxe Laços • While – Sintaxe Laços • While – Sintaxe Laços • While Laços • For – Sintaxe – Funcionamento 3 4 Laços • For – Funcionamento 1. O código em cargas iniciais é executado uma única vez; 2. A condição é avaliada; 3. Se a condição for FALSA, o laço termina e o programa con]nua na instrução imediatamente a seguir. 4. Se a condição for VERDADEIRA, a instrução é executada. 5. Depois da execução da instrução, é executada a pós-instrução. 6. Voltar aoponto2. 3 4 Laços • For Laços • For Laços • For – Um laço for – Sempre poderá ser reescrito como um laço while Laços • Do…while – Sintaxe – Funcionamento: 1. A instrução é executada; 2. A condição é avaliada; 3. Se for VERDADE, volta-se ao ponto 1; 4. Se for FALSA, termina o laço e o programa con]nua na instrução seguinte ao laço. Laços Laços • RESUMO Laços • Break – Termina o laço, o programa con]nua na instrução imediatamente posterior ao laço. Laços • Con]nue – A instrução con]nue passa o lanço para a próxima iteração. Laços • Con]nue – A instrução con]nue passa o lanço para a próxima iteração. Laços • Aninhados Laços • Aninhados Laços • Infinitos Operadores - - e ++ Operadores - - e ++ • Diferença entre ++x e x++ Atribuição Composta • Reduzir código • Exemplos Funções e Procedimentos CaracterísPcas de uma função 1. Nome único, para invocá-la; 2. Pode ser invocada a par]r de outras funções; 3. Realizar uma única tarefa bem definida; 4. Não interessa como funciona, interessa o resultado, sem efeitos colaterais; 5. Código independende do resto do programa, genérico para que seja reu]lizado; 6. Pode receber parâmetros que alteram seu comportamento; 7. Uma função pode retornar, para a en]dade que a invocou, um valor como resultado. • Algumas funções conhecidas: prinl, getchar, scanf… Funções e Procedimentos CaracterísPcas de uma função Funções e Procedimentos Nomenclatura de uma função • Obedece às regras para nomemclatura de variáveis; • Não deve ter nomes de variáveis ou de outras funções; • Deve especificar aquilo que a função faz. Funções e Procedimentos Como funciona uma função • Só é executada quando é invocada; • O progama que a invoca é temporariamente "suspenso” ; • O programa pode enviar argumumentos, que são armazenados em variáveis locais, chamadas de parâmetros. • Após o término da execução de uma função, ela pode devolver um valor. Funções Funções não genéricas: • Três funções que fazem a mesma tarefa, escrever linhas de caracteres, mudando apenas a quan]dade. • Apenas uma função genérica seria suficiente Funções e Procedimentos Função genérica: Funções e Procedimentos Funções Funções e Procedimentos Argumentos e parâmetros • Os ]pos dos argumentos precisam ser informados entre parênteses, separados por vírgula, logo após o nome da função; • Quando se invoca uma função os ]pos dos parâmetros devem coincidir com os dos arqumentos: • O número e a ordem de parâmetros passados deve coincidir com dos argumentos. Funções e Procedimentos Corpo da Função: • O corpo de uma função tem que se seguir imediatamente ao cabeçalho da função, e é escrito entre chaves; • O cabeçalho de uma função nunca deve ser seguido de ponto-e-vírgula; • Pode-se escrever qualquer instrução ou conjunto de instruções; • Não se pode definir funções dentro de funções; • Se pode invocar outras funções; Funções e Procedimentos RETURN: • A instrução return permite terminar a execução de uma função e voltar ao programa que a invocou; • Return na função main faz com que o programa termine. Funções e Procedimentos Funções que retornam um valor: • É possível que uma função seja responsável por realizar uma determinada tarefa e que, uma vez terminada essa tarefa, devolva um único resultado. • Este resultado poderá ser armazenado numa variável ou aproveitado por qualquer instrução. • A devolução de um resultado é feita através da instrução return, seguida do valor a ser devolvido. • Após a instrução return pode ser colocada qualquer expressão válida em C. Funções e Procedimentos Funções que retornam um valor: Funções e Procedimentos Funções que retornam um valor: • Uma função pode ser invocada dentro de outra função: Funções e Procedimentos Funções e procedimentos • Funções podem ser invocadas dentro de a]buição: • Funções podem ser invocadas dentro de uma função: • Como se invoca um procedimento, sem valor de retorno: Funções e Procedimentos VOID • A palavra reservada void permite indicar que uma função não devolve qualquer ]po; Funções e Procedimentos Procedimentos • Uma função que “retorna” void é chamada de procedimento; • A instrução return termina a execução da função (procedimento), e o controle do programa é devolvido ao local onde a função (procedimento) foi invocada. Funções e Procedimentos ProtóPpos • Um bom hábito de programação é colocar, sempre, os protó]pos das funções no início dos programas; • Os protó]pos indicam ao compilador qual a estrutura das funções que serão declaradas; Funções e Procedimentos Variáveis locais • Variáveis podem ser declaradas dentro do corpo de uma função; • Tais variáveis são conhecidas apenas dentro da prórpia função; • São denominadas variáveis locais; • Devem ser declaradas antes de qualquer instrução; • Depois de terminada a execução de uma determinada função, todas as suas variáveis locais são destruídas. Funções e Procedimentos Variáveis locais
Compartilhar