(Parte 5 de 13)

%o Octal (unsigned int)

Curso de Linguagem Computacional C/C++

Sistemas Industriais Inteligentes – DAS – CTC – UFSC 19

%p Pointer x (offset) se Near, x : x (base: offset) se Far

%s Apontador de string, emite caracteres até aparecer caracter zero (00H)

%u Inteiro decimal sem sinal (unsigned int)

%x Hexadecimal

Abaixo segue alguns exemplos da formatação apresentada acima:

/* Programa de Exemplo da formatação da saída com Printf() */ #include <stdio.h> int main(int argc, char* argv[]) { float x; double y = -203.4572345; int a, b; a = b = 12; x = 3.141523; printf("Bom dia"); printf("\n\t\tBom dia\n"); /* pula linha após escrever bom dia */ printf("O valor de x é %7.3f\n", x); printf("Os valores de i, j e y são: %d %d %lf \n", a, b, y); }

Observação: Caso você queira imprimir na tela os caracteres especiais ‘\’ ou ‘%’, você deve escrevê-los na função printf() de forma duplicada, o que indicará ao compilador que este não se trata de um parâmetro da função printf() mas sim que deseja-se imprimir realmente este caracter. O exemplo abaixo apresenta este caso:

#include <stdio.h> void main() { int reajuste = 10; printf(“O reajuste foi de %d%%. \n”, reajuste); } a saída será: O reajuste foi de 10%.

3.2 Cprintf()

Basicamente cprintf() é igual a printf(), mas usa as coordenadas atuais do cursor e da janela que forem ajustados anteriormente, bem como ajustes de côr de caracteres. Utilize esta função para escrever na tela em posições pré-definidas.

3.3 Scanf()

A função scanf() é outra das funções de E/S implementadas em todos os compiladores C.

Ela é o complemento de printf() e nos permite ler dados formatados da entrada padrão (teclado).

A função scanf() suporta a entrada via teclado. Um espaço em branco ou um CR/LF (tecla “Enter”) definem o fim da leitura. Observe que isto torna inconveniente o uso de scanf()

Curso de Linguagem Computacional C/C++

Sistemas Industriais Inteligentes – DAS – CTC – UFSC 20 para ler strings compostas de várias palavras (por exemplo, o nome completo de uma pessoa). Para realizar este tipo de tarefa, veremos outra função mais adequada na parte referente à strings.

Sua sintaxe é similar à de printf(), isto é, uma expressão de controle seguida por uma lista de argumentos separados por vírgula.

Sintaxe: scanf(“string de definição das variáveis”, <endereço das variáveis>);

A string de definição pode conter códigos de formatação, precediddos por um sinal % ou ainda o caracter * colocado após o % que avisa à função que deve ser lido um valor do tipo indicado pela especificação, mas não deve ser atribuído a nenhuma variável (não deve ter parâmetros na lista de argumentos para estas especificações).

A lista de argumentos deve consistir nos endereçoes das variáveis. O endereço das variáveis pode ser obtido através do operador ‘&’ apresentado na secção sobre ponteiros (ver 2.7). Exemplo:

/* Programa exemplo do uso de Scanf() */ #include <stdio.h> void main() { float x; printf ("Entre com o valor de x : "); scanf ("%f", &x); /* lê o valor do tipo float (%f) e armazena na variável x (&x) */ }

Esta função funciona como o inverso da função printf(), ou seja, você define as variáveis que deveram ser lidas da mesma forma que definia estas com printf(). Desta forma, os parâmetros de scanf() são em geral os mesmos que os parâmetros de printf(), no exemplo acima observa-se esta questão.

O código de formatação de scanf()é igual ao código de formatação de printf(). Por isso, veja as tabelas de formatação de printf() para conhecer os parâmetros de scanf(). Outro exemplo de scanf():

/* Segundo Programa exemplo do uso de Scanf() */ #include <stdio.h> main() { float anos, dias; printf(“Digite a sua idade em anos: ”); scanf(“%f”, &anos); dias = anos*365; printf(“Sua idade em dias e %.0f.\n”, dias); }

3.4 Getch(), Getche() e Getchar()

Em algumas situações, a função scanf()não se adapta perfeitamente pois você precisa pressionar [enter] depois da sua entrada para que scanf() termine a leitura. Neste caso, é melhor usar getch(), getche() ou getchar().

Curso de Linguagem Computacional C/C++

Sistemas Industriais Inteligentes – DAS – CTC – UFSC 21

A função getchar() aguarda a digitação de um caracter e quando o usuário apertar a tecla

[enter], esta função adquire o character e retorna com o seu resultado. getchar() imprime na tela o character digitado.

A função getch()lê um único caracter do teclado sem ecoá-lo na tela, ou seja, sem imprimir o seu valor na tela. A função getche() tem a mesma operação básica, mas com eco. Ambas funções não requerem que o usuário digite [enter] para finalizar a sua execução. Veja exemplo abaixo, junto à função putch()

3.5 Putch() ou Putchar()

A função putch() apresenta um único caracter na tela, recebendo-o como parâmetro. A função putchar() executa a mesma operação, com caracteres. Exemplo:

/* Exemplo das funçoes: getch(), getche(), putch() e putchar() */ #include <stdio.h>

#include <conio.h>

c1 = getch();/* lê caracter c1 mas não mostra na tela */
putch(c1);/* escreve valor de c1 na tela */

void main() { char c1, c2; c2 = getche(); /* lê caracter c2, escrevendo-o na tela */ printf("\nO primeiro valor digitado foi: "); printf("\nO segundo valor digitado foi: "); putchar(c2); }

3.6 Exercícios 3.1 Escreva um programa que contenha uma única instrução e imprima na tela:

3.2 Escreva um programa que imprima na tela:

3.3 Escreva um programa que peça os dados da conta bancária de um cliente e, posteriormente, escreve na tela os dados do cliente também de forma organizada.

3.4 Escreva um programa que exemplifique todos os tipos de formatações fornecidas pro printf().

3.5 Escreva um programa que peça ao usuário para entrar com um valor real (float), converta este valor para uma variável do tipo char e depois imprima o seu valor na tela em formato decimal e em formato caracter.

Esta e’ a linha um. Esta e’ a linha dois.

Um
Dois

Três.

Curso de Linguagem Computacional C/C++

Sistemas Industriais Inteligentes – DAS – CTC – UFSC 2

3.6 Faça um programa que peça ao usuário para entrar com um caracter , converta este número para um valor inteiro e apresente na tela o valor deste número em formato float e o endereço da variável que o contém. Utilize ponteiros para armazenar e acessar este valor.

Curso de Linguagem Computacional C/C++

(Parte 5 de 13)

Comentários