Buscar

12 Introdução a linguagem C parte 2 de 2

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.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais