Entrada / Saída C: printf () e scanf ()

Neste tutorial, você aprenderá a usar a função scanf () para obter a entrada do usuário, e a função printf () para exibir a saída ao usuário.

Saída C

Na programação C, printf()é uma das principais funções de saída. A função envia a saída formatada para a tela. Por exemplo,

Exemplo 1: Saída C

 #include int main() ( // Displays the string inside quotations printf("C Programming"); return 0; )

Resultado

 Programação C

Como é que este programa funciona?

  • Todos os programas C válidos devem conter a main()função. A execução do código começa no início da main()função.
  • O printf()é uma função de biblioteca para enviar saída formatada para a tela. A função imprime a string entre aspas.
  • Para usar printf()em nosso programa, precisamos incluir o stdio.harquivo de cabeçalho usando a #include instrução.
  • A return 0;instrução dentro da main()função é o "status de saída" do programa. É opcional.

Exemplo 2: saída inteira

 #include int main() ( int testInteger = 5; printf("Number = %d", testInteger); return 0; )

Resultado

 Número = 5

Usamos %despecificador de formato para imprimir inttipos. Aqui, o %dinterior das aspas será substituído pelo valor de testInteger.

Exemplo 3: flutuação e saída dupla

 #include int main() ( float number1 = 13.5; double number2 = 12.4; printf("number1 = %f", number1); printf("number2 = %lf", number2); return 0; )

Resultado

 numero1 = 13.500000 numero2 = 12.400000

Para imprimir float, usamos o %fespecificador de formato. Da mesma forma, usamos %lfpara imprimir doublevalores.

Exemplo 4: caracteres de impressão

 #include int main() ( char chr = 'a'; printf("character = %c", chr); return 0; ) 

Resultado

 personagem = a 

Para imprimir char, usamos o %cespecificador de formato.

Entrada C

Na programação C, scanf()é uma das funções comumente usadas para obter informações do usuário. A scanf()função lê a entrada formatada da entrada padrão, como teclados.

Exemplo 5: entrada / saída inteira

 #include int main() ( int testInteger; printf("Enter an integer: "); scanf("%d", &testInteger); printf("Number = %d",testInteger); return 0; )

Resultado

 Insira um número inteiro: 4 Número = 4

Aqui, usamos o %despecificador de formato dentro da scanf()função para obter a intentrada do usuário. Quando o usuário insere um número inteiro, ele é armazenado na variável testInteger.

Observe, que usamos &testIntegerdentro scanf(). É porque & testInteger obtém o endereço de testInteger, e o valor inserido pelo usuário é armazenado nesse endereço.

Exemplo 6: Flutuação e entrada / saída dupla

 #include int main() ( float num1; double num2; printf("Enter a number: "); scanf("%f", &num1); printf("Enter another number: "); scanf("%lf", &num2); printf("num1 = %f", num1); printf("num2 = %lf", num2); return 0; )

Resultado

 Digite um número: 12,523 Digite outro número: 10,2 num1 = 12,523000 num2 = 10.200000

Nós usamos %fe %lfespecificador de formato de floate doublerespectivamente.

Exemplo 7: I / O de caractere C

 #include int main() ( char chr; printf("Enter a character: "); scanf("%c",&chr); printf("You entered %c.", chr); return 0; ) 

Resultado

 Insira um caractere: g Você inseriu g 

Quando um caractere é inserido pelo usuário no programa acima, o caractere em si não é armazenado. Em vez disso, um valor inteiro (valor ASCII) é armazenado.

E quando exibimos esse valor usando o %cformato de texto, o caractere inserido é exibido. Se usarmos %dpara exibir o caractere, seu valor ASCII será impresso.

Exemplo 8: Valor ASCII

 #include int main() ( char chr; printf("Enter a character: "); scanf("%c", &chr); // When %c is used, a character is displayed printf("You entered %c.",chr); // When %d is used, ASCII value is displayed printf("ASCII value is %d.", chr); return 0; )

Resultado

Insira um caractere: g Você inseriu g. O valor ASCII é 103.

Valores múltiplos de E / S

Veja como você pode pegar várias entradas do usuário e exibi-las.

 #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

 Insira um número inteiro e um número flutuante: -3 3,4 Você inseriu -3 e 3,400000 

Especificadores de formato para E / S

Como você pode ver nos exemplos acima, usamos

  • %d para int
  • %f para float
  • %lf para double
  • %c para char

Aqui está uma lista dos tipos de dados C comumente usados ​​e seus especificadores de formato.

Tipo de dados Especificador de formato
int %d
char %c
float %f
double %lf
short int %hd
unsigned int %u
long int %li
long long int %lli
unsigned long int %lu
unsigned long long int %llu
signed char %c
unsigned char %c
long double %Lf

Artigos interessantes...