• Nenhum resultado encontrado

1Entrada-Saida-Decisao

N/A
N/A
Protected

Academic year: 2021

Share "1Entrada-Saida-Decisao"

Copied!
41
0
0

Texto

(1)

Linguagem C

Introdução: sintaxe, entrada e saída e

estruturas de decisão

Prof. Marcelo R. Zorzan Prof. Moacir P. Ponti Jr

(2)

Agenda

Linguagem C – Introdução:

 Caracteres válidos;  Funções;  Comentários;  Comando de atribuição;  Declaração de variáveis; 

Revisão;

Exercícios.

(3)

Normas Gerais: Caracteres Válidos

Um programa-fonte em C é um texto não

formatado escrito em um editor de textos

usando um o conjunto padrão de caracteres ASCII.

 Abaixo estão os caracteres utilizados em C:

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0

(4)

A Função

main()

A função

main()

é o ponto de início da

execução do programa e deve existir em

algum lugar dentro do seu programa.

Exemplo:

int main(void) {

(5)

Declaração de Variáveis

char, ...

as variáveis devem ser declaradas no

inicio de cada bloco de programa.

Tipos de Variáveis:

char (literal/string)int (inteiro)

float (real de precisão simples)double (real de precisão dupla)  e outras que serão vistas.

(6)

Declaração de Variáveis

A declaração de uma variável consiste em

um

tipo

e um

identificador

.

 O tipo determina o espaço de memória que

deverá ser alocado;

 O identificador permitirá que ela seja

referenciada no restante do programa.

Ex.:

(7)

Declaração de Variáveis

 Identificadores:

 Todo identificador deve iniciar-se com letra

(maiúscula ou minúscula) e ser composto exclusivamente por letras, dígitos e sublinhas;

 Faz distinção de letras maiúsculas e minúsculas;  Não podem ser utilizadas palavras reservadas;  Ex.:

char tecla_x, opcao; int x1, y2, z3;

(8)

Tipos de Variáveis do padrão ANSI

0 a 4.294.967.295 4 bytes

unsigned int

O mesmo que int. 4 bytes signed int -32.767 a 32.767 2 bytes short int 0 a 65.535 2 bytes

unsigned short int

- a + 2.147.483.647 4 bytes int -127 a 127 1 byte signed char 0 a 255 1 byte unsigned char -127 a 127 1 byte char Escala Espaço Tipo

(9)

Tipos de Variáveis do padrão ANSI

1.8 e-19 a 1.8 e+19 8 bytes double 1.2 e-24 a 1.2 e+24 10 bytes long double 2.4e-09 a 2.4e+09 4 bytes float 0 a 4.294.967.295 4 bytes

unsigned long int

O mesmo que long int. 4 bytes

signed long int

-2.147.483.647 a 2.147.483.647 4 bytes long int Escala Espaço Tipo

(10)

Strings em C

Uma string em C é um vetor de caracteres

terminando com um caracter nulo;

 Este caractere nulo é o \0, usado para

descrever o final da string;

 Exemplo:

char string1[8] = "Teste";

e e s t \0 T 4 1 2 3 5 6 7 0

(11)

 A função printf() é uma das funções de E/S

que podem ser usadas em C. Os parênteses significam que realmente estamos utilizando uma função. Argumentos são as informações existentes entre os parênteses.

 Sintaxe:

printf("Expr. de controle", valores);

 Exemplo:

int main(void) {

printf("Este é um argumento!");

(12)

Outro exemplo:

int main(void) {

printf("Este e’ o numero dois: %d", 2); }

O programa imprimirá na tela:

Este e’ o número dois: 2

(13)

Imprimindo cadeia de caracteres:

int main(void) {

printf("Dia %d de %s e’\nferiado!", 7, "setembro"); }

O programa imprimirá na tela:

Dia 7 de setembro e’ feriado!

(14)

 Especificadores de Formato:

um número real de precisão simples ou dupla.

%f, %lf

um número inteiro longo em base decimal.

%ld

um número inteiro em base decimal sem sinal.

%u

um número inteiro em octal, decimal ou Hexadecimal.

%o, %d, %x

um único caracter.

%c

(15)

A Função

printf()

 Caracteres de Controle:

 Os caracteres de controle utilizados com a função

printf( ) são:

exibe aspas simples.

\’

o cursor retrocede para o início da linha.

\r

o cursor avança para próxima marca de tabulação.

\t

exibe aspas duplas.

\”

o cursor avança para uma nova linha.

\n

Alimentação de formulário (FF).

\f

o cursor retrocede uma coluna.

\b

soa o alarme do microcomputador (beep)

(16)

Comando de Atribuição

=

O comando de atribuição é utilizado para

atribuir valores ou operações a variáveis,

sendo representado por

=

(sinal de

igualdade)

 Ex.:

cep = 19200000; sexo = ‘M’;

(17)

Variáveis de ponto flutuante

 Corresponde aos números reais (aproximadamente)

Exemplo:

int main(void)

{

float tempo = 27.24566;

printf("O tempo e': %f", tempo);

printf("\nO tempo e': %3.2f", tempo); }

Resultado:

(18)

A Função

scanf()

scanf()

 A função scanf() permite que um valor seja lido do

teclado e armazenado numa variável;

 Sua sintaxe consiste de uma cadeia de formatação

seguida de uma lista de argumentos, indicando o endereço de uma variável:

scanf("formatação", arg1, arg2,..., argn);

 Ex.:

int idade; char sexo;

O caracter & indica o endereço da variável na

(19)

A Função

scanf()

– Exemplo

#include <stdio.h> int main(void) { int nr; char palavra[5];

printf("Entre com um numero:");

scanf("%d", &nr);

printf("Entre com uma palavra de 5 letras:");

scanf("%s", &palavra);

printf("Numero = %d \t Palavra = %s\n", nr, palavra);

(20)

O operador de endereço

&

 Um endereço é uma posição de memória:

 Um endereço é o nome que o computador utiliza para

identificar a variável;

 Toda variável ocupa uma certa localização na

memória;  Exemplo: int main(void) { int num; num = 2;

printf(“Valor=%d, endereco=%u”, num, &num);

O token num devolve o valor 2.

A expressão &num devolve o endereço do primeiro byte onde num está armazenado.

(21)

Operadores Matemáticos

Obtém o resto da divisão de x por y. x % y % incrementa o conteúdo de x. x++ ++ decrementa o conteúdo de x. x

--Obtém o quociente da divisão de x por y.

x / y

/

Multiplica o conteúdo de x pelo conteúdo de y.

x * y

*

Subtrai o conteúdo de y do conteúdo de x. x – y -Soma o conteúdo de x ao de y. x + y + Comentário Exemplo Operador

(22)

Operadores de Incremento (

++

) e

Decremento (

--

)

 O operador (++) incrementa de um seu operando e (--)

decrementa de um.

 Analisando os seguintes casos:

k = 3*n++;

k = 3*++n;

PRIMEIRO n é multiplicado por 3;DEPOIS o resultado é atribuído a k;FINALMENTE n é incrementado de 1.

PRIMEIRO n é incrementado de 1;DEPOIS n é multiplicado por 3;

(23)

Operadores de Incremento (

++

) e Decremento

(

--

)

 Exemplo: int main(void) { int num=0;

printf(“%d e’ um bom numero\n”, num); printf(“%d e’ um bom numero\n”, num++); printf(“%d e’ um bom numero\n”, num); return 0;

}

 Resultado:

0 e’ um bom numero 0 e’ um bom numero 1 e’ um bom numero

(24)

Operadores de Incremento (

++

) e Decremento

(

--

)

 Exemplo anterior modificado:

int main(void) {

int num=0;

printf(“%d e’ um bom numero\n”, num); printf(“%d e’ um bom numero\n”, ++num); printf(“%d e’ um bom numero\n”, num); return 0;

}

 Resultado:

0 e’ um bom numero 1 e’ um bom numero

(25)

Operadores Matemáticos de

Atribuição

equivale a x = x % y. x %= y %= equivale a x = x / y. x /= y /= equivale a x = x * y. x *= y *= equivale a x = x - y. x –= y -= equivale a x = x + y. x += y += Comentário Exemplo Operador

(26)

Estruturas Condicionais

 Estrutura Condicional – if  Operadores Relacionais  Exemplo  Exercício  Operadores Lógicos

 Operador Lógico OU (||) – exemplo  Operador Lógico E (&&) – exemplo

 Estrutura Condicional - switch

 Switch – break  Exercício;

 Operador condicional ternário ?:  Revisão

(27)

Estrutura Condicional -

if

A estrutura

if

é usada quando queremos que

algo seja executado dependendo de uma

condição.

 Exemplo: num caixa automático de banco, um

cliente tenta sacar dinheiro

Tentativa de saque Saldo <= 0Se Imprimir(“Saldo Insuficiente”) Imprimir(“Saldo Positivo”) Falso Verdadeiro

(28)

Estrutura Condicional -

if

/* verifica se o saldo

e menor ou igual a zero */ if (saldo <= 0)

{

printf("Saldo Insuficiente"); //avisa o cliente }

else {

printf("Saldo Positivo"); }

(29)

Operadores Relacionais

 São operadores utilizados para comparação:

Menor ou igual <= Maior ou igual >= Menor < Maior > Não igualdade != Igualdade == Descrição Operador

(30)

Operadores Relacionais – Exemplo

#include <stdio.h> int main(void)

{

int idade1;

printf("Entre com a idade");

scanf("%d", &idade1); if (idade1 >= 18)

{

printf("Maior de dezoito anos"); }

(31)

Operadores Lógicos

 Usados para combinar afirmativas,

principalmente ao testar condições.

E && OU || Descrição Operador

(32)

Operador Lógico OU (||) - exemplo

/* verifica se um aluno foi reprovado,

dependendo da média e do número de faltas */

/* se media for menor que 6 OU faltas for maior que 20 */

if ( (media < 6) || (faltas > 20) ) {

printf("Aluno Reprovado"); }

else {

printf("Aluno Aprovado"); }

(33)

Operador Lógico E (&&) - exemplo

/* exibe o conceito de um aluno aprovado (A,B ou C), dependendo da media obtida */

// se media for maior ou igual a 8,5

if (media >= 8.5) {

printf("Conceito A");

}

// se media for maior ou igual a 7 E menor que 8.5

if ( (media >= 7) && (media < 8.5) )

{

printf("Conceito B");

}

// se media for maior ou igual a 6 E menor que 7

if ( (media >= 6) && (media < 7) )

{

(34)

Estrutura Condicional -

switch

A estrutura switch é usada quando queremos

que algo seja executado dependendo de

diversas condições existentes.

Dependendo do valor ou faixa de valor de

uma variável, uma operação diferente é

executada.

(35)

Estrutura Condicional -

switch

Receba(N_Mes) caso N_Mes == 3 Imprimir(“Março”) caso N_Mes == 4 caso N_Mes == 5 Imprimir(“Abril”) Imprimir(“Maio”)

(36)

Estrutura Condicional -

switch

/* calcula o valor do imposto conforme o nivel

profissional (niveis de 1 a 4), ou 0, caso contrario */

switch (nivel) { case 1: imposto = 3; break; case 2: imposto = 7; break; case 3: imposto = 11; break; case 4: imposto = 19; break;

(37)

Switch -

break

O comando

break

faz com que o switch seja

interrompido.

Este comando não é obrigatório, mas caso

não seja inserido no final de cada

case

, após

a execução do bloco o programa continuará

executando, indo para o próximo

case

.

(38)

Exercício

 Escreva um programa no qual o usuário entre

com o nome e a idade de um atleta juvenil

 Imprimir na tela a categoria do atleta, sendo que:

 Idade de 10 anos – categoria alfa  Idade de 11 anos – categoria beta  Idade de 12 anos – categoria gama

 Caso a idade entrada seja menor que 10 ou

maior que 12 anos, mostrar mensagem: idade inválida

(39)

Operador condicional ternário

?:

Chamado de operador condicional, é

utilizado

como

uma

instrução

if

compacta.

Forma geral:

Condição ? Expressão_Verdade : Expressão_Falsa

Exemplo:

(40)

Revisão (1/2)

 As principais estruturas de decisão C são if,

if-else, switch e operador condicional.

 O comando if oferece um meio de escolha entre

executar ou não um bloco de instruções. O comando if-else oferece um meio de executar um ou outro bloco de instruções.

 Operadores lógicos geralmente são aplicados a

expressões relacionais como operandos;

 Expressões lógicas são avaliadas da esquerda

para a direita e a avaliação termina logo que é conhecida a veracidade ou falsidade da

(41)

Revisão (2/2)

 O comando switch oferece um meio de escolher uma

entre muitas opções. A expressão do comando switch deve ter um valor inteiro ou char constante. As expressões de cada caso devem ter um valor inteiro ou char constante e devem ser todas diferentes;

 Num comando switch o controle do programa pula

para o caso em que a expressão for igual à expressão

do switch ou, se não houver nenhum caso igual, para o

default. Um caso default é opcional;

 O comando break provoca uma saída imediata da

construção switch;

 O operador condicional opera sobre três expressões. A

primeira é avaliada e, se verdadeira, a expressão toda assume o valor da segunda expressão; caso contrário, assume o valor da terceira expressão.

Referências

Documentos relacionados

Transferência parcial ou total da atividade para instituições de transição 1 - O Banco de Portugal pode determinar a transferência parcial ou total de direitos

• Evitar a contratação de empresas ligadas a dirigentes e funcionários da entidade (princípio da impessoalidade).. ACHADO 6 – DESPESAS

Sendo assim, o presente estudo versa sobre a experiência de um cirurgião-dentista, com vasta experiência no atendimento à população na Estratégia de Saúde da

IMPORTANTE: Produtor, se tiver endossado sua CPR, procure informações do atual credor do título e realize o pagamento apenas ao credor, uma vez que o Poder Judiciário tem

A primeira montagem de Hamlet (1948) foi marcante para o período de renovação moderna que aconteceu na cena brasileira em meados do século passado..

vitaminas e minerais não entram na categoria de alimentos destinados aos praticantes de atividade física...

O aumento do déficit de pressão de vapor d’água no ar de zero para três quilopascais afetou os parâmetros da pulverização cobertura, densidade de gotas, amplitude

reclassificadas para outras contas, porém não existindo o enquadramento em outras contas deverá permanecer em grupo próprio do Diferido até sua total amortização.. O ATIVO