linguagem c (parte 5)

20
Introdução à Programação em Linguagem C Prof. Rodolfo Riyoei Goya

Upload: daniel-barao

Post on 22-Feb-2017

203 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Linguagem C (Parte 5)

Introdução à Programação em

Linguagem C

Prof. Rodolfo Riyoei Goya

Page 2: Linguagem C (Parte 5)

Modelo Abstrato de Programação

• Elementos Estruturais

• Dados de Tipo Simples

• Dados em Estruturas Homogêneas

• Dados em Estruturas Heterogêneas

• Elementos Algorítmicos

• Declaração

• Comandos de Entrada/Saída

• Comandos de Expressão

• Comandos de Decisão

• Comandos de Iteração

Page 3: Linguagem C (Parte 5)

Comandos Básicos de Entrada/Saída

• Fazem a “comunicação” entre o programa e o

mundo exterior, através dos dispositivos de

entrada padrão (stdin) e saída padrão (stdout)

• Comandos básicos:

• Saída Formatada: printf()

• Entrada Formatada: scanf()

Page 4: Linguagem C (Parte 5)

printf()

• Exibe uma saída formatada para o dispositivo de saída padrão (stdout)

• Biblioteca stdio.h

• Pode ser usado para imprimir textos e mensagens:

• Exemplo

#include <stdio.h>

.

printf( “Este programa eh bacana.” );

Page 5: Linguagem C (Parte 5)

printf()

• Algumas sequências são necessárias para traduzir comandos de controle para formatação de impressão.

• No exemplo abaixo, o “\n” é usado para introduzir uma quebra de linha na impressão.

#include <stdio.h>

.

printf( “Linha 1\nLinha 2” );

Page 6: Linguagem C (Parte 5)

Sequências de Controle

Sequência Significado Descrição

\n Quebra de linha Posiciona o cursor no início da próxima linha.

\b Backspace Posiciona o cursor uma posição antes da

atual (a menos que já esteja na coluna inicial)

\t Tabulação Avança o cursor para a próxima coluna

múltipla de 8 (as colunas vão de 0 a 79)

\a Alarme Toca um “beep”

\r Carriage Return Posiciona o cursor no início da mesma linha.

\\ Caractere \ Imprime o caractere ‘\’

\” Caractere “ Imprime o caractere “

\’ Caractere ‘ Imprime o caractere ‘

Page 7: Linguagem C (Parte 5)

printf()

• Pode ser usado para imprimir o valor de variáveis.

• Exemplo

#include <stdio.h>

.

int i = 10;

printf( “O valor de i eh: %d”, i );

Page 8: Linguagem C (Parte 5)

printf()

• Os marcadores iniciados com ‘%’ são substituídos por variáveis ou expressões listados em seguida no comando printf

• Exemplo:int i = 10;

printf( “O valor de i eh: %d”, i );

• A ordem que os marcadores aparecem define a ordem das variáveis/expressões usadas para substituí-los.

• O formato geral dos marcadores é:

• %[Flags][Largura].[Precisão][Tamanho]Tipo

Page 9: Linguagem C (Parte 5)

printf() - Marcadores

• %[Flags][Largura].[Precisão][Tamanho]Tipo

• Flags (Opcional): Um ou mais dentre os caracteres -, +, # ou 0

especificando a justificação do número e o uso ou não de sinal e do ponto

decimal no valor impresso.

• Largura (Opcional): Um número que especifica quantos caracteres, no

mínimo, devem ser utilizados na impressão.

• Precisão (Opcional): Um número que especifica quantos caracteres, no

máximo, devem ser utilizados na impressão.

Page 10: Linguagem C (Parte 5)

printf() - Marcadores

• %[Flags][Largura].[Precisão][Tamanho]Tipo• Tamanho (Opcional): Um caracter que modifica o campo Tipo que vem a

seguir.

• Se for um h antes de um tipo d, i, o, x, X ou u especifica que o argumento é de

tipo short.

• Se for um l antes de um tipo d, i, o, x, X ou u especifica que o argumento é de

tipo long.

• Se for um ll antes de um tipo d, i, o, x, X ou u especifica que o argumento é de

tipo long long (64 bits).

• Se for um l antes de um tipo e, E, f, g, G especifica que o argumento é de tipo

double.

• Se for um L antes de um tipo e, E, f, g, G especifica que o argumento é de tipo

long double.

• Tipo (Obrigatório): O ítem mais importante desta lista. Uma letra que especifica o tipo da variável a ser impressa.

Page 11: Linguagem C (Parte 5)

printf() – Tipo

Tipo Tipo de Dado Descrição

%d int Inteiro

%u unsigned Inteiro (sem sinal)

%ld long Inteiro long

%lu unsigned long Inteiro long (sem sinal)

%hd short Inteiro short

%hu unsigned short Inteiro short (sem sinal)

%lld long long Inteiro long long

%llu unsigned long long Inteiro long long (sem sinal)

Page 12: Linguagem C (Parte 5)

printf() – Tipo

Tipo Tipo de Dado Descrição

%% Caractere ‘%’

%c char Caractere

%o octal Octal (sem sinal)

%x hexadecimal Hexadecimal com letras minúsculas (sem sinal)

%X hexadecimal Hexadecimal com letras maiúsculas (sem sinal)

Page 13: Linguagem C (Parte 5)

printf() – Tipo

Tipo Tipo de Dado Descrição

%e double ou float Ponto flutuante em notação científica

%E double ou float Ponto flutuante em notação científica (usando E)

%f double ou float Ponto flutuante na forma (sinal)(dígitos).(dígitos)

%g double ou float Escolhe dentre f ou e o que produz a saída mais compacta.

%G double ou float Idem ao g (usando F ou E).

%Le long double Ponto flutuante em notação científica

%Lf long double Ponto flutuante na forma (sinal)(dígitos).(dígitos)

%Lg long double Escolhe dentre f ou e o que produz a saída mais compacta.

%s char[] Imprime uma cadeia de caracteres até encontrar ‘\0’

Page 14: Linguagem C (Parte 5)

printf() – Flag

Flag Significado Default

- Valor impresso justificado para a esquerda dentro

de um campo grande o bastante para contê-lo

Justificado para a direita

+ Se a impressão for de um número será impresso

‘+’ ou ‘-’ de acordo com o sinal do número

Um sinal ‘-’ é impresso para

valores negativos

0 Os números são preenchidos com zeros a

esquerda

Os números são preenchidos

com espaços em branco

Page 15: Linguagem C (Parte 5)

printf() – Precisão

Tipo Significado de precisão Default

c Ignorada. Só um caracter é impresso.

d u i

l ll o

x X

Especifica o número mínimo de dígitos a ser impresso. Se o

número ocupar menos dígitos que o especificado é preenchido

com brancos ou zeros (depende do flag usado). Se o número

ocupar mais dígitos ele é impresso mesmo assim (nunca é

truncado).

Se não for especificada ou se for

zero ou apenas um ponto decimal

sem um número depois dele, o

valor default será 1.

e E

Le

LE

Número de dígitos a serem impressos depois do ponto

decimal. Se especificado 0, não imprime nem o ponto

decimal.

6 dígitos.

F

LF

Número de dígitos a serem impressos depois do ponto

decimal. Se especificado 0, não imprime nem o ponto

decimal.

6 dígitos.

g G

Lg

LG

Especifica o número de algarismos significativos a serem

impressos.

Todos os algarismos

significativos

s O número total de caracteres impresso. Preenche com brancos

se for menor e trunca se for maior.

Toda a string.

Page 16: Linguagem C (Parte 5)

scanf()

• Recebe entrada formatada no dispositivo de entrada padrão (stdin)

• Biblioteca stdio.h

• Usa os mesmos marcadores que o printf()

• Admite múltiplas entradas por comando, inclusive com marcadores de conversão diferentes

• Exige o operador ‘&’ antes dos nomes das variáveis (exceto quando se tratam de variáveis de tipo strings)

Page 17: Linguagem C (Parte 5)

scanf() - Exemplo

• Exemplo

#include <stdio.h>

.

int i, j;

float x;

char nome[20];

scanf( “%d”, &i );

scanf( “%d %f”, &j, &x );

scanf( “%s”, nome );

Page 18: Linguagem C (Parte 5)

Conclusões

• A comunicação é parte essencial de qualquer programa.

• Os comandos de entrada/saída em linguagem C permitem a comunicação direta na forma de caracteres codificados em ASCII ou executando a conversão desses caracteres de/para números inteiros, em ponto flutuante, hexadecimal e octal

• O comando printf() permite um controle fino do formato em que a saída será impressa.

Page 19: Linguagem C (Parte 5)

Introdução à Programação em Linguagem C Rodolfo Riyoei Goya

Page 20: Linguagem C (Parte 5)

Copyright © 2015, Rodolfo Riyoei Goya