Linguagem de Programação C

Linguagem de Programação C

(Parte 3 de 7)

2.5 Analise o seguinte programa e aponte onde está o erro.

#define Default_Y 2 void main() { const int num = 10; int y = Default_Y; const int *ptr = 0; ptr = # *ptr = *ptr + y; }

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação

3 Entrada/Saída Console

As rotinas de entrada/saída do console se encontram nas bibliotecas "stdio.h" e "conio.h" e, por isso, estas bibliotecas devem ser incluídas nos programas aplicativos através da diretiva

‘include’: #include <stdio.h>

#include <conio.h>

Algumas das funções de entrada e saída para a console mais utilizadas são apresentadas a seguir:

A função printf()é uma das funções de E/S (entrada e saída) que podem ser usadas em C
Ela não faz parte da definição de C mas todos os sistemas têm uma versão de printf() implementada
Ela permite a saída formatada na telaJá vimos duas aplicações diferentes da função printf():

3.1 Printf() printf(“Bom Dia!!!!”); printf(“Este é o número dois: %d”, num);

A função printf() pode ter um ou vários argumentosNo primeiro exemplo nós colocamos
um único argumento: “Bom Dia !!!!”Entretanto, no segundo colocamos dois: “Este é o número
dois: %d” que está à esquerda e o valor 2 à direita da vírgula que separa os argumentosSintaxe de

printf(): printf(“string-formatação“, < lista de parâmetros >);

formatação que indicam o formato em que os argumentos devem ser impressosNo nosso segundo
formato decimal na posição da string onde aparece o %dCada argumento deve ser separado por

A string de formatação pode conter caracteres que serão exibidos na tela e códigos de exemplo, o código de formatação %d solicita a printf() para imprimir o segundo argumento em uma vírgula.

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação

Além do código de formatação decimal (%d), printf() aceita vários outrosO próximo

20 exemplo mostra o uso do código %s para imprimir uma cadeia de caracteres:

#include <stdio.h> int main(int argc, char* argv[]) { printf(“%s esta a %d milhoes de milhas \n do sol.”, “Venus”, 67); }

A saída será: Venus está a 67 milhoes de milhas do sol.

de caracteres estranho: \nO \n é um código especial que informa a printf() que o restante da
impressão deve ser feito em uma nova linhaA combinação de caracteres \n representa, na

Aqui, além do código de formatação, a expressão de controle de printf() contém um conjunto verdade, um único caractere em C, chamado de nova-linha (equivalente ao pressionamento da tecla ‘Enter’ em um editor de texto).

outros caracteresPor exemplo, \n representa a mudança de linha.

Os caracteres que não podem ser obtidos diretamente do teclado para dentro do programa (como a mudança de linha) são escritos em C, como a combinação do sinal \ (barra invertida) com

A string de formatação define a forma como os parâmetros serão apresentados e tem os seguintes campos:

"%[Flags] [largura] [.precisão] [FNlh] < tipo > [\Escape Sequence]" onde:

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação largura = número máximo de caracteres a mostrar; precisão = número de casas após a vírgula a mostrar F = em ponteiros, apresentar como "Far" => base : offset (x : x) N = em ponteiros, apresentar como "Near" => offset h = apresentar como "short" l = apresentar como "long"

A seguir são mostrados alguns exemplos da formatação apresentada acima:

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação

#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 Bom 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); }

parâmetro da função printf() mas sim que deseja-se imprimir realmente este caractereO exemplo

Obs: 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 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%.

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação

3.2 Cprintf()

que forem ajustados anteriormente, bem como ajustes de côr de caracteresUtilize esta função para

Basicamente cprintf() é igual a printf(), mas usa as coordenadas atuais do cursor e da janela escrever na tela em posições pré-definidas.

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 tecladoUm espaço em branco ou um CR/LF (tecla “Enter”)
definem o fim da leituraObserve que isto torna inconveniente o uso de scanf() para ler strings

3.3 Scanf() compostas de várias palavras (por exemplo, o nome completo de uma pessoa).

stringsSua sintaxe é similar à de printf(), isto é, uma expressão de controle seguida por uma lista

Para realizar este tipo de tarefa, veremos outra função mais adequada na parte referente à de argumentos separados por vírgula.

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

Sintaxe:

A lista de argumentos deve consistir nos endereço das variáveisO endereço das variáveis

A string de definição pode conter códigos de formatação, precedidos por um sinal % ou ainda o caractere * 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). pode ser obtido através do operador ‘&’ apresentado na secção sobre ponteiros. Exemplo:

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação

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

deveram ser lidas da mesma forma que definia estas com printf()Desta forma, os parâmetros de
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

Esta função funciona como o inverso da função printf(), ou seja, você define as variáveis que scanf() são em geral os mesmos que os parâmetros de printf(), no exemplo acima observa-se esta questão. 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()

pressionar [enter] depois da sua entrada para que scanf() termine a leituraNeste caso, é melhor
usar getch(), getche() ou getchar()A função getchar() aguarda a digitação de um caractere e

Em algumas situações, a função scanf() não se adapta perfeitamente pois você precisa quando o usuário apertar a tecla [enter], esta função adquire o caractere e retorna com o seu

Informática para Automação – Linguagem de Programação

Prof. Carlos Pantaleão Curso de Tecnologia de Automação Industrial e Engenharia de Controle e Automação

resultadoGetchar() imprime na tela o caractere digitado. A função getch() lê um único caractere
do teclado sem ecoá-lo na tela, ou seja, sem imprimir o seu valor na telaA função getche() tem a
mesma operação básica, mas com ecoAmbas funções não requerem que o usuário digite [enter]
para finalizar a sua execuçãoVeja exemplo abaixo, junto à função putch().
A função putch() apresenta um único caractere na tela, recebendo-o como parâmetroA
função putchar() executa a mesma operação, com caracteresExemplo:

3.5 Putch() ou Putchar()

#include <stdio.h> #include <conio.h> void main() { char c1, c2; c1 = getch(); /* lê caractere c1 mas não mostra na tela */ c2 = getche(); /* lê caractere c2, escrevendo-o na tela */ printf("\nO primeiro valor digitado foi: "); putch(c1); /* escreve valor de c1 na tela */ 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:

(Parte 3 de 7)

Comentários