Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC) 1 Índice Bibliotecas Função main() Variáveis Operadores Funções I/O Estruturas de seleção e repetição UDESC – Prof. Kariston Pereira 2 “Esqueleto” Básico Programa C UDESC – Prof. Kariston Pereira 3 Bibliotecas UDESC – Prof. Kariston Pereira 4 Bibliotecas Sintaxe: #include <biblioteca> Onde biblioteca é o nome da biblioteca que se deseja incluir. A declaração deve acontecer no início do programa! Bibliotecas comumente utilizadas: stdio.h – funções I/O conio.h – funções básicas interface stdlib.h – funções SO ctype.h – funções p/ manipulação de caracteres string.h – funções p/ manipulação de strings math.h – funções matemáticas UDESC – Prof. Kariston Pereira 5 Função main() UDESC – Prof. Kariston Pereira 6 Função main() Uma função é um bloco de construção ou uma sub-rotina isolada em que ocorrem atividades do programa. A função main() é a função principal de um programa. Todos os programas, obrigatoriamente, devem possuir uma função main(); é nela que se inicia a execução do programa. UDESC – Prof. Kariston Pereira 7 Recebendo argumentos (parâmetros) Um programa pode receber informações, ditas argumentos (parâmetros), quando executados. Estes argumentos são enviados à função main(): int main(int argc, char *argv[]) argc contém a quantidade de argumentos e argv a lista de argumentos. Observação: isto é opcional! UDESC – Prof. Kariston Pereira 8 Declaração Variáveis (1/2) UDESC – Prof. Kariston Pereira 9 Declaração Variáveis (2/2) Sintaxe: <tipo de dado> <nome>; Exemplo: int numero; Regras para definição de variáveis: O nome de uma variável deve iniciar com uma letra ou com o caractere underline (_). O nome de uma variável não pode ser uma palavra reservada. Atentar ao fato de que a linguagem C é case sensitive. Lembrar de sempre iniciar uma variável. UDESC – Prof. Kariston Pereira 10 Tipos de Dados Primitivos UDESC – Prof. Kariston Pereira 11 Variáveis Globais X Locais Globais: definidas fora de todas as funções do programa (antes de main). São válidas em todo o programa. São alocadas quando o programa é iniciado, e removidas somente ao término da execução do programa. Locais: definidas no início de um bloco de código limitado por alguma estrutura de controle (ou função). São válidas somente no bloco em que foram definidas. São alocadas somente quando o bloco é executado, e removidas assim que o bloco é finalizado. UDESC – Prof. Kariston Pereira 12 Operadores UDESC – Prof. Kariston Pereira 13 Operadores Aritméticos e de Atribuição + Soma (inteira e ponto flutuante) - Subtração ou Troca de sinal (inteira e ponto flutuante) * Multiplicação (inteira e ponto flutuante) / Divisão (inteira e ponto flutuante) % Resto de divisão (de inteiros) ++ Incremento (inteiro e ponto flutuante) -- Decremento (inteiro e ponto flutuante) UDESC – Prof. Kariston Pereira 14 Operadores Relacionais > >= < <= == != Maior do que Maior ou igual a Menor do que Menor ou igual a Igual a Diferente de UDESC – Prof. Kariston Pereira 15 Operadores Lógicos && AND (E) || OR (OU) ! NOT (NÃO) UDESC – Prof. Kariston Pereira 16 Funções Saída de Dados UDESC – Prof. Kariston Pereira 17 Funções Saída de Dados puts(): Apresenta apenas constantes. printf(): Apresenta constantes variáveis segundo “%” vinculado. e conteúdo de Sintaxe: printf(<string de controle>, <lista de argumentos>); É possível formatar a apresentação de uma variável na função printf(). Apresenta apenas duas casas após a vírgula: Exemplo: printf(“A média é %.2f”, media); UDESC – Prof. Kariston Pereira 18 Lista de Códigos Código Significado %d inteiro %f float %c caracter %s string %% coloca na tela um %% UDESC – Prof. Kariston Pereira 19 Funções para Entrada de Dados UDESC – Prof. Kariston Pereira 20 Funções para Entrada de Dados scanf(): Lê qualquer tipo de variável segundo “%” vinculado. Necessidade do operador “&” antes do nome da variável. Sintaxe: scanf(<string de controle>, <lista de argumentos>); Os códigos usados na string de controle são os mesmos da função printf; gets(): Lê apenas caracteres. getch() / getche(): Criam efeito de pause, obrigando o usuário a informar um caractere para continuar o programa (só para Windows) UDESC – Prof. Kariston Pereira 21 Comentários UDESC – Prof. Kariston Pereira 22 Comentários Comentários são textos livres, não interpretados, que tem por objetivo facilitar o entendimento de um código de programa. São explicações, lembretes ou dicas sobre uma instrução ou conjunto de instruções. Em C, os comentários são identificados pelos caractéres // ou delimitados por /* */ UDESC – Prof. Kariston Pereira 23 Considerações Gerais Todas as instruções de um programa em C devem ser finalizadas pelo caractere “;” Exceção apenas para comandos onde haja a formação de um bloco { } Os caracteres { } poderão ser suprimidos de dentro do bloco se existir apenas uma instrução ou estrutura de seleção/repetição. UDESC – Prof. Kariston Pereira 24 Comando de Seleção - Se O comando Se em pseudocódigo é representado em C por: Sintase: if (<condição>) <declaração_1>; else <declaração_2>; Se a declaração tiver mais de um comando, deve estar dentro de um bloco {}. UDESC – Prof. Kariston Pereira 25 Exemplo 1 – if-else UDESC – Prof. Kariston Pereira 26 Exemplo 2 – if-else UDESC – Prof. Kariston Pereira 27 Comando de Seleção – Escolha (1/2) O comando Escolha em pseudocódigo é representado em C por: switch(<variável>) { case <constante_1>: <declaração_1>; break; case <constante_2>: <declaração_2>; break; ... default <declaração_default>; } UDESC – Prof. Kariston Pereira 28 Comando de Seleção – Escolha (2/2) Podemos falar uma analogia entre o switch e a estrutura if-else-if; O switch não aceita expressões, apenas constantes como case; O switch testa a variável e a declaração cujo case corresponda ao valor atual da variável; A declaração default será executada apenas se a variável não for igual a nenhuma constante; O comando break faz com que o switch seja interrompido assim que um dos case seja executado. UDESC – Prof. Kariston Pereira 29 Exemplo - Switch UDESC – Prof. Kariston Pereira 30 Comando de Repetição Enquanto O comando Enquanto é representado em C por: Sintaxe: while(<condição>) <declaração>; O while é executado enquanto a condição for verdadeira; UDESC – Prof. Kariston Pereira 31 Exemplo - While UDESC – Prof. Kariston Pereira 32 Comando de Repetição – Repita ... até O comando repita-até é representado em C por: Sintaxe: do { <declaração>; } while (<condição>); O do-while é executado enquanto a condição for verdadeira; O “;” é obrigatório no final da declaração. UDESC – Prof. Kariston Pereira 33 Exemplo – do-while UDESC – Prof. Kariston Pereira 34 Comando de Repetição – Para ... faça O comando para-faça é representado em C por: Sintaxe: for (<inicialização>; <condição>; <incremento>) declaração; <inicialização>: Inicia a variável contador <condição>: Testa a condição de parada do contador <incremento>: Incrementa ou decrementa automaticamente o contador a cada iteração Exemplo: for (cont = 1; cont < 100; cont++) {...} UDESC – Prof. Kariston Pereira 35 Exemplo – For UDESC – Prof. Kariston Pereira 36