Manipulação de entrada/saída em C
- 24-07-2022
- Toanngo92
- 0 Comments
Por que colocar a criação do input output antes das próximas lições conceituais? Porque para facilitar a prática durante o exercício, irei para input/output e apresentarei input e output básico primeiro, embora ainda não entendamos o conceito de função, mas vamos usá-lo primeiro. , e depois vamos para o seguinte conceito.
O programa C fornece um conjunto de bibliotecas padrão para trabalhar com funções de E/S, entrada é para colocar dados do dispositivo periférico, no contexto da linguagem de programação C é o teclado, saída é para colocar dados do computador. contexto é imprimir na tela.
Mục lục
Saída – Imprima na tela com a função printf.
Na programação C, printf() é uma das funções de saída que imprime dados na tela principal. Esta função é definida em uma biblioteca chamada <stdio.h>, para usá-la incluímos a biblioteca padrão de acordo com a sintaxe
#include stdio.h
Por exemplo
#include stdio.h int main() { // in dòng hello world ra màn hình printf("hello world"); return 0; }
O resultado é impresso na tela:
Olá Mundo
Fluxo de execução do programa:
- Incluir a biblioteca stdio.h
- Ao executar o código fonte, o programa C chama a função main para executar
- Na função principal chame (execute) a função printf (imprima o texto hello world)
- retorne 0 para encerrar o programa.
Por que retornar 0 no final de main ? será abordado no artigo de conceito de função. Nesse contexto, declaramos a função main com o tipo de dados int , então no final a função precisa retornar 0 para retornar o valor ao sistema operacional e encerrar o programa. Se você não quiser retornar 0 no final do programa, declare o tipo de dados void para a função main() .
A sintaxe da função printf .
printf("control string",argument list); // controlstring: chuỗi điều khiển // argument list: danh sách tham số
Separador de Formato
Considere o exemplo abaixo é o comando para imprimir dados numéricos na tela
#include int main() { int testInteger = 5; printf("Number = %d", testInteger); return 0; }
Resultado:
Número = 5
Entrada – Insira os dados com a função scanf.
Na linguagem C, a função scanf é usada para receber os dados que o usuário digita a partir do teclado. Esta função irá ler os dados da entrada do teclado no formato correto que o programador tem uma convenção semelhante à estrutura de formato que abordamos na função printf.
sintaxe da função scanf .
scanf("format specifier list",argument list); // format specifier list: chuỗi bộ định dạng // argument list: danh sách tham số
Veja o exemplo abaixo:
#include int main() { int testInteger; printf("Enter an integer: "); scanf("%d", &testInteger); printf("Number = %d",testInteger); return 0; }
Supondo que você insira o número 4, o resultado será assim:
Enter an integer: 4 Number = 4
Aqui, eu uso o formato %d porque quero que os dados de entrada sejam um número inteiro.
Exemplo: Float e Double Input/Output
#include int main() { float num1; double num2; printf("Enter a number: "); scanf("%f", &num1); printf("Enter another number: "); scanf("%lf", &num2); printf("num1 = %fn", num1); printf("num2 = %lf", num2); return 0; }
Resultado:
Enter a number: 12.523 Enter another number: 10.2 num1 = 12.523000 num2 = 10.200000
Usamos %f e %fl para formatar floats e doubles.
Exemplo: Personagem
#include int main() { char chr; printf("Enter a character: "); scanf("%c",&chr); printf("You entered %c.", chr); return 0; }
Resultado:
Digite um caractere: g
Você entrou g
Nota: a diferença óbvia entre as funções printf e scanf é o uso da lista de parâmetros, com printf passamos a lista de parâmetros com o nome da variável, e com scanf precisamos adicionar o caractere & antes dela. o conceito de localização de memória (endereço de memória) será mencionado em detalhes nos ponteiros do artigo. (Neste artigo, também explicarei mais por que o caso %s no scanf pode passar diretamente o nome da variável como parâmetro sem usar & e ainda é válido)
Importe e exporte vários dados ao mesmo tempo através da lista de parâmetros (lista de argumentos)
Você pode importar e exportar vários dados ao mesmo tempo, passando mais parâmetros para as funções printf e scanf, e é claro que o formato que você precisa inserir é totalmente equivalente, correspondendo ao pedido, quantidade e tipo de dados. .
Veja o exemplo a seguir, usei a função scanf e a função printf para imprimir duas variáveis ao mesmo tempo.
#include int main() { int a; float b; printf("Enter integer and then a float: "); // Taking multiple inputs scanf("%d%f", &a, &b); printf("You entered %d and %f", a, b); return 0; }
Resultado:
Enter integer and then a float: -3 3.4 You entered -3 and 3.400000
Nota: ao usar a função scanf, as strings do formatador são escritas de forma contígua, sem espaços, constantes de string entre elas, por exemplo:
scanf("%s %d",&a,&b) // sai scanf("%s va %d",&a,&b) // sai scanf("%s%d",&a,&b) // đúng
Tabela de comandos do especificador de formato
Formato | printf() | scanf() |
Personagem (char) | %c | %c |
inteiro (decimal) | %d | %d |
Números reais (float) | %f | %f |
Real (duplo) | %lf | %f |
caractere/string de array (caractere/string de array) | %S | %S |
Decimal com ponto flutuante | %e | %e ou %f |
Inteiro sem sinal (sem sinal) | %você | %você |
Inteiro hexadecimal não assinado | %x | %x |
Inteiro octal não assinado | %o | %o |