Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Introdução a linguagem C (Continuação) Ao final desta aula o aluno entenderá a estrutura básica de um programa feito na linguagem C/ C++ e poderá montar programas básicos com entrada e saída de dados. Operadores de Atribuição Aritmética Muitas vezes queremos alterar o valor de uma variável realizando alguma operação aritmética com ela. Como por exemplo: i = i + 1 ou val = val * 2. Embora seja perfeitamente possível escrever estas instruções, foram desenvolvidas na linguagem C, instruções otimizadas com o uso de operadores ditos operadores de atribuição aritmética. Os símbolos usados são (+=, -=, *=, /= , %=). Deste modo as instruções acima podem ser rescritas como: i += 1 e val *= 2, respectivamente. Sintaxe: A sintaxe da atribuição aritmética é a seguinte: var <operador atribuição aritmética> exp; onde var é o identificador da variável e exp é uma expressão válida. Exemplo: Observe as atribuições aritméticas abaixo e suas instruções equivalentes: Atribuição aritmética Instrução equivalente i += 1; i = i + 1; j -= val; j = j - val; num *= 1 + k; num = num * (1 + k); troco /= 10; troco = troco / 10; resto %= 2; resto = resto % 2; Operadores Incrementais Em programação existem instruções muito comuns chamadas de incremento e decremento. Uma instrução de incremento adiciona uma unidade ao conteúdo de uma variável. Uma instrução de decremento subtrai uma unidade do conteúdo de uma variável. Existem, em C, operadores específicos para realizar as operações de incremento (++) e decremento (--). Eles são genericamente chamados de operadores incrementais (Tabela 1). Instrução Equivalente ++ var var = var + 1 var ++ var = var + 1 -- var var = var - 1 var -- var = var - 1 Tabela 1 –A sintaxe dos operadores incrementais é a seguinte. onde var é o nome da variável da qual se quer incrementar ou decrementar um unidade. Observe que existem duas sintaxes possíveis para os operadores: pode-se colocar o operador à esquerda ou á direita da variável. Nos dois casos o valor da variável será incrementado (ou decrementado) de uma unidade. Porém se o operador for colocado á esquerda da variável, o valor da variável será incrementado (ou decrementado) antes que a variável seja usada em alguma outra operação. Caso o operador seja colocado à direita da variável, o valor da variável será incrementado (ou decrementado) depois que a variável for usada em alguma outra operação. Exemplo: Observe o fragmento de código abaixo e note o valor que as variáveis recebem após a execução da instrução: Valor das variáveis int a, b, c, i = 3; // a: ? b: ? c: ? i: 3 a = i++; // a: 3 b: ? c: ? i: 4 b = ++i; // a: 3 b: 5 c: ? i: 5 c = --i; // a: 3 b: 5 c: 4 i: 4 Operadores Relacionais e Lógicos A chave para a flexibilidade de um algoritmo é a tomada de decisões através da avaliação de condições de controle. Uma condição de controle é uma expressão lógica que é avaliada como verdadeira ou falsa. Uma expressão lógica é construída com operadores relacionais e lógicos. Operadores relacionais Operadores relacionais verificam a relação de magnitude e igualdade entre dois valores.l Os operados relacionais em C são os mesmos estudos anteriormente. Sintaxe: A sintaxe das expressões lógicas é:expressão_1 operador expressão_2onde expressão_1 e expressão_2 são duas expressões numéricas quaisquer, e operador é um dos operadores relacionais.Ao contrário de outras linguagens, em C não existem tipos lógicos, portanto o resultado de uma expressão lógica é um valor numérico: uma expressão avaliada verdadeira recebe o valor 1, uma expressão lógica avaliada falsa recebe o valor 0.Se os operandos forem de tipos diferentes haverá uma conversão de tipo antes da avaliação da expressão. Operadores lógicos São três os operadores lógicos de C: &&, || e !. Estes operadores possuem o mesmo significadol dos operadores lógicos Booleanos AND, OR e NOT. expr_1 && expr_2 expr_1 || expr_2 !expr onde expr_1 , expr_2 e expr são expressões quaisquer. Exemplo if(a>10 && a<20) Operador Condicional O operador condicional (?:) é usado em expressões condicionais. Uma expressão condicional pode ter dois valores diferentes dependendo de uma condição de controle. Sintaxe: A sintaxe de uma expressão condicional é: condição ? expressão_1 : expressão_2 onde expressão_1 e expressão_2 são duas expressões quaisquer, e condição é uma expressão lógica que será avaliada primeiro. Se o valor de condição for 1, isto é, verdadeiro, então a expressão condicional assumirá o valor de expressão_1. Caso contrario assumirá o valor de expressão_2. Uma expressão condicional é equivalente a uma estrutura de decisão simples. Exemplo: Observe as expressões condicionais abaixo e verifique o resultado de sua avaliação. Admita que i, j e k são variáveis tipo int com valores 1, 2 e 3, respectivamente. Expressão Valor i ? j : k 2 j > i ? ++k : --k 4 k == i && k != j ? i + j : i - j -1 i > k ? i : k 3 A estrutura básica de um programa em C/ C++ Um programa em C/ C++ consiste de uma ou mais funções. Abaixo segue um programa do que se pode chamar de o menor programa possível: void main() { } A função que compõe este programa é chamada main. Os parênteses após o nome indicam que esta é uma função. A função main deve estar presente em qualquer programa na linguagem C e é a primeira função a ser executada. Se um programa tiver apenas uma função, ela deverá receber o nome main. As chaves de abertura "{" e fechamento "}" devem compor o início e o fim do programa, respectivamente. Montando o primeiro programa Em vez de montar um programa vazio, como o apresentado acima, vamos adicionar uma instrução para que o programa faça algo. Após compilar e rodar o programa acima, a seguinte mensagem será exibida na tela: Ola Mundo! Análises sobre o 1º programa Sempre que uma função for utilizada, deve-se incluir a biblioteca que a contém. No exemplo acima, a função printf() é uma função do tipo saída de dados e, para ser executada, a linha #include <stdio.h> foi adicionada ao início do programa. O arquivo stdio.h possui declarações de funções úteis para entrada e saída de dados (std vem do inglês standard, e io vem de Input/Output, portanto significa entrada e saída padronizadas). Já a biblioteca stdlib.h inclui a função system(), que é responsável por executar comandos internos do sistema operacional ou um programa (.EXE, .COM ou .BAT). Em nosso programa estamos executando o comando PAUSE. Sempre que um programa for escrito, é importante escrever comentários a respeito do que esperamos que aconteça em cada parte do programa. Comentários iniciam-se por /* e terminam em */. Sempre que o compilador encontrar esse comando, ele desconsiderará tudo que estiver depois dele. Um comentário pode, inclusive, ter várias linhas. A linha void main() define uma função de nome main. A palavra void indica que esta função não retorna nenhum valor. O conteúdo das chaves { } será executado de forma sequencial. O primeiro comando inserido nesse código é a função printf(), que possui o argumento "Ola Mundo!" A função do printf() é para imprimir um argumento na tela. Neste caso, o \n inserido na função printf() é a constante especial chamada de constante barra invertida. Essa constante é interpretada como uma mudança de linha e não é impressa na tela. O comando system("PAUSE") congela a tela com a impressão realizada. É extremamente importante notar que todos os comandos em C terminam em ponto e vírgula (;). Referências DASGUPTA, Sanjoy; PAPADIMITRIOU, Christos; VAZIRANI, Umesh. Algoritmos. São Paulo: McGraw Hill, 2009. HEINEMAN, George T.; POLLICE, Gary; SELKOW, Stanley. Algoritmos: o guia essencial. Rio de Janeiro: Alta Books, 2009. MANZANO, André Luiz N. G.; MANZANO, Maria Izabel N. G. Estudo dirigido de informática básica. São Paulo: Érica, 2008. MANZANO, José Augusto N. G. Estudo dirigido de linguagem C. São Paulo: Érica, 2009. MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de Oliveira. Algoritmos, Lógica para desenvolvimento de programação de computadores. São Paulo: Érica, 19 ed., 2006. MIZRAHI, Victorine Viviane. Treinamento em linguagem C. São Paulo: Pearson, 2008. 2v. SCHILDT, Herbert. Mayer. C completo e total. São Paulo: Pearson, 2006. VILARIM, Gilvan. Algoritmos de programação para Iniciantes. São Paulo: Ciência Moderna, 2004.
Compartilhar