Entrada e Saída de dados
O termo Input, significa inserir alguns dados em um programa. Uma entrada pode ser fornecida na forma de um arquivo ou da linha de comando. A programação C fornece um conjunto de funções integradas para ler a entrada fornecida e alimentá-la ao programa de acordo com o pretendido.
O termo Output, significa exibir alguns dados na tela, impressora ou em qualquer arquivo. A programação C fornece um conjunto de funções integradas para a saída de dados na tela do computador, bem como para salvá-los em arquivos de texto ou binários.
Para efectuar as operações de entrada e saída de dados pode-se recorrer as funções scanf () e printf () para exibir a saída de dados para o utilizador.
Entrada e Saída de dados númericos
Inicialização de variáveis
As variáveis devem ser sempre inicializadas com um valor antes do seu uso. Se isso não for feito, a variável fica com um valor indefinido. Na memória do computador uma variável com valor indefinido é sinónimo de lixo. Exemplo:
#include <stdio.h> main() { int a; printf("O valor de a = %d\n", a); }
Ao ser executado, o programa pode escrever uma coisa deste estilo:
O valor de a = 1877;
Saída de dados
Na programação C, printf() é uma das principais funções de saída. A função permite exibir uma informação na tela.
Por exemplo
#include <stdio.h>
int main()
{
// Exibe a string dentro de aspas
printf("Programação em C");
return 0;
}
Como é que este programa funciona?
Todos os programas C válidos devem conter a função main (). A execução do código começa no início da função main ().
printf() - A função imprime a string entre aspas. Para usar printf () é necessário incluir o arquivo de cabeçalho stdio.h usando a instrução #include <stdio.h>.
Exemplo 2: Exibindo um número inteiro
#include <stdio.h>
int main()
{
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}
Usou-se o especificador de formato %d para imprimir o tipo int. Aqui, a %d dentro das aspas será substituído pelo valor de testInteger.
Formatação de valores decimais
Em linguagem C, você pode formatar dados decimais (números de ponto flutuante) usando especificadores de formato na função `printf()` para controlar a precisão, largura do campo e outras opções de formatação. Aqui estão alguns exemplos:
**Controle de Precisão:**
Pode controlar a precisão (número de casas decimais exibidas) ao formatar valores decimais usando o especificador de formato %f na função printf(). Você pode especificar a precisão colocando um número após o ponto dentro do especificador de formato %f.Exemplo 3:
float valor = 123.456789;
printf("%.2f\n", valor); // Imprime com 2 casas decimais
printf("%.4f\n", valor); // Imprime com 4 casas decimais
printf("%.8f\n", valor); // Imprime com 8 casas decimais
return 0;
}
**Largura do Campo:**
Exemplo 4:
#include <stdio.h>
int main() {
int numero = 42;
printf("%5d\n", numero); // Largura do campo de 5 caracteres
printf("%10d\n", numero); // Largura do campo de 10 caracteres
printf("%-10d\n", numero); // Largura do campo de 10 caracteres, alinhado à esquerda
return 0;
}
**Notação Científica:**
Exemplo 5:
#include <stdio.h>
int main() {
double grande_numero = 1234567.89;
printf("%.2e\n", grande_numero); // Notação científica com 2 casas decimais
return 0;
}
**Sinal e Zeros à Esquerda:**
int valor = -42;
printf("%+d\n", valor); // Inclui sinal (+ ou -)
printf("%010d\n", valor); // Preenche com zeros à esquerda
return 0;
}
Lembre-se de que a função `printf()` oferece várias opções de formatação, e você pode combiná-las de acordo com suas necessidades para formatar números decimais da maneira desejada. Consulte a documentação da função `printf()` para obter mais detalhes sobre os especificadores de formato disponíveis.
Entrada e Saída de dados Literais
Os especificadores de formato %c e %s são usados na função printf() em C para formatar diferentes tipos de dados:
%c - Caractere: O especificador %c é usado para formatar um caractere. Ele é utilizado para imprimir um único caractere, como letras, dígitos ou símbolos. Por exemplo:
%s - String (Sequência de Caracteres): O especificador %s é usado para formatar uma string (sequência de caracteres). Ele é utilizado para imprimir uma sequência de caracteres terminada por um caractere nulo ('\0'). Por exemplo:
char nome[] = "João"; printf("Olá, %s!\n", nome); // Imprime: Olá, João!
Exemplo 7:
#include <stdio.h>
int main() {
int idade;
float altura;
printf("Digite a sua idade: ");
scanf("%d", &idade); // Lê o valor da idade
printf("Digite a sua altura: ");
scanf("%f", &altura); // Lê o valor da altura
printf("Idade: %d, Altura: %.2f\n", idade, altura);
return 0;
}
A entrada de dados literais é possível ao solicitar ao usuário que insira valores específicos usando a função scanf.
A combinação de formatação e entrada/saída permite manipular tanto dados literais quanto dados dinâmicos (fornecidos pelo usuário ou calculados) em um programa C.
Exemplo 8: Exibindo caracteres
#include <stdio.h>
int main()
{
char chr = 'a';
printf("character = %c", chr);
return 0;
}
Para imprimir char, usa-se o especificador de formato %c.
Entrada de dados
Na programação C, scanf () é uma das funções comumente usadas para obter informações do usuário. A função scanf () permite ler os caracteres inseridos via teclado.
Exemplo 9: Entrada de números inteiros e double
Para imprimir valores do tipo float, usamos o especificador de formato %f. Da mesma forma, usamos %lf para imprimir valores double.
#include <stdio.h>
int main()
{
float num1;
double num2;
printf("Digite um número: ");
scanf("%f", &num1);
printf("Digite o outro número: ");
scanf("%lf", &num2);
printf("num1 = %f\n", num1);
printf("num2 = %lf", num2);
return 0;
}
Aqui, usamos o especificador de formato% d dentro da função scanf() para obter a entrada interna do utilizador. Quando o utilizador insere um número inteiro, ele é armazenado na variável num1.
Observe que usou-se &num1 dentro de scanf(). É porque o &num1 obtém o endereço de num1, e o valor inserido pelo utilizador é armazenado nesse endereço.
Entrada de strings
Aqui está um exemplo de uso dessa expressão:
Exemplo 10
#include <stdio.h>int main() {
char nome[100]; // Assume que o nome tem no máximo 100 caracteres
printf("Digite o seu nome: ");
scanf("%[^\n]s", nome);
printf("O nome digitado é: %s\n", nome);
}
Neste exemplo, a função `scanf` vai ler uma linha inteira de entrada (até o caractere de nova linha) e armazenar essa linha na variável `nome`. Isso permite que o programa capture um nome completo, incluindo espaços, e o imprima usando o `printf`.
Comandos de entrada e saída: getchar() e putchar()
Vamos discutir algumas funções de entrada de dados (diferente do scanf()). A entrada de texto é considerada como um fluxo de caratecteres. Um fluxo texto é uma sequência de caracteres dividida em linhas; cada linha consiste de zero ou mais caracteres seguido do caractere de nova linha (\
n). Como programador, você não quer se preocupar em como as linhas são representadas fora do programa. Quem faz isso por você são funções de uma biblioteca padrão.
Suponha que você queira ler um único caractere, mas não quer usar o scanf(). Isso pode ser feito usando a função getchar(). A função putchar() aceita um argumento de entrada, cujo valor será impresso como caracter:
Exemplo 11:
#include <stdio.h>
int main(){
char ch;
printf("Digite algum caracter: ");
ch = getchar();
printf("\n A tecla pressionada eh %c.\n", ch);
}
O Resultado deste programa na tela é:
Digite algum caracter: A A tecla pressionada eh A.
Outro exemplo:
Exemplo 12:
#include <stdio.h>
int main(){
char ch;
printf("Digite outro caracter: ");
ch = getchar();
putchar(ch);
}
O Resultado deste programa na tela é:
Digite outro caracter: B B
Hard Rock Hotel & Casino Baltimore – DRMCD
ResponderEliminar› gaming › entertainment › 대구광역 출장안마 h › gaming › entertainment › h Hard Rock Hotel 순천 출장샵 & 강릉 출장샵 Casino Baltimore, MD · Visit Website. Hard Rock Hotel & Casino Baltimore · Visit Website. Hard Rock Hotel & Casino 통영 출장안마 Baltimore · 상주 출장샵 Visit Website. Hard Rock Hotel & Casino Baltimore.