Fundamentos do função scanf () c na programação

Para a entrada de tipos específicos de variáveis ​​na linguagem de programação C, você verá que a função scanf () vem a calhar. Não é uma função de entrada de uso geral, e tem algumas limitações, mas é ótimo para testar código ou agarrando valores.

De certa forma, você poderia argumentar que scanf () é a versão de entrada da função printf (). Por exemplo, utiliza os mesmos caracteres de conversão (a% de espaço reservado-coisas). Por causa disso, scanf () é muito particular sobre como o texto é de entrada. Aqui é o formato:

#include int scanf (char const * restringir formato, ...) -

Assustador, hein? Simplesmente ignorá-la por agora. Aqui está uma versão menos assustadora do formato:

scanf ("espaço reservado",variável)-

Nesta versão, espaço reservado é um caractere de conversão, e variável é um tipo de variável que corresponde ao caractere de conversão. A menos que seja uma corda (matriz de char), a variável é prefixado pela & operador.

A função scanf () é prototyped no arquivo de cabeçalho stdio.h, por isso você deve incluir esse arquivo quando você usa a função.

Aqui estão alguns scanf () exemplos:

scanf ("% d",&pontuação máxima)-

A instrução anterior lê um valor inteiro para a variável pontuação máxima. Isso pressupõe que pontuação máxima é uma variável int.

scanf ("% f",&temperatura)-

Os anterior scanf () Demonstração esperas para um valor de ponto flutuante a ser introduzido, o qual é então armazenado no temperatura variável.

Video: Programar em C - Função scanf | Obter Dados/Valores do Usuário - Aula 7

scanf ("% C",&chave)-

Na linha anterior, scanf () aceita a primeira entrada de caracteres e armazena-o no chave variável.

scanf ("% s",primeiro nome)-

O% s de espaço reservado é usado para ler no texto, mas só até o primeiro caractere espaço em branco é encontrado. Assim, um espaço ou uma guia ou a tecla Enter termina a string. (Isso é péssimo.) Além disso, primeiro nome é uma matriz de caracteres, por isso, não necessita da & operador na função scanf ().

Video: 09 - Programação em Linguagem C - Função scanf - Lendo dados a partir do teclado

Como ler uma string com scanf ()

Uma das maneiras mais comuns para colocar a função scanf () para usar é ler em um pedaço de texto da entrada padrão. Para atender a esse fim, caractere de conversão% s é usado - assim como em printf (), mas com a entrada em vez de saída.

Scanf () ANDORINHAS UMA CORDA

#include int main () {char nome próprio [15] -printf ("Escreva seu primeiro nome: ") -scanf ("% s", Nome) -printf ("Prazer em conhecê-lo,% s.n", Nome) -Retornar (0) -}


Exercício 1: Digite o código-fonte do scanf () Engole uma String em um novo projeto, ex0712, em Code :: Blocks. Construir e executar.

Video: Aula de Programação C 005 - scanf() e gets() Leitura de dados

Linha 5 declara uma matriz de char - uma variável string - nomeado primeiro nome. O número entre parênteses indica o tamanho da matriz, ou o número total de caracteres que podem ser armazenados ali. A matriz não é atribuído um valor, por isso é criado vazio. Basicamente, a declaração na Linha 5 deixa de lado armazenamento para até 15 caracteres.

A função scanf () na linha 8 lê uma cadeia da entrada padrão e armazena-o no primeiro nome matriz. caractere de conversão% s dirige scanf () para procurar uma string como entrada, assim como% s é um espaço reservado para cordas em printf ()’s saída.

exercício 2: Modificar o código fonte de scanf () Engole uma String de modo que uma segunda corda é declarado para o último nome da pessoa. Solicitar ao usuário o seu último nome, bem como, e em seguida, exibir ambos os nomes usando uma única função printf ().

  • O número entre parêntesis (referem-se a linha 5) dá o tamanho da matriz de caracteres, ou o comprimento da cadeia, mais 1.

  • Quando você cria uma matriz de char, ou variável de cadeia, garantir que você criá-lo de um tamanho suficientemente grande para conter o texto. Esse tamanho deve ser o número máximo de caracteres mais 1.

  • A razão para o aumento do tamanho da matriz de char por uma é que todas as cadeias em C terminam com uma especificidade de terminação. É o caráter NULL, que é escrito como. O compilador adiciona automaticamente o até o fim de valores de string que você criar no seu código-fonte, bem como o texto lido por várias funções de entrada de texto.

    Você deve lembrar de adicionar espaço para que o personagem quando você reserve armazenamento para a entrada de string.

Como ler os valores com scanf ()

A função scanf () pode fazer mais do que ler strings. Ele pode ler em qualquer valor especificado por um caractere de conversão.

Scanf () COME um inteiro

#include int main () {int fav-printf ("Qual o seu número favorito: ") -scanf ("% d",&fav) -printf ("% D é o meu número favorito, também! N", Fav) -Retornar (0) -}

Dentro scanf () Come um número inteiro, a função scanf () lê um valor inteiro. O caractere de conversão% d é usado, assim como printf () - na verdade, ele é usado em Linha 9. Esse personagem dirige scanf () para procurar um valor int para a variável fav.

exercício 3: Criar um projeto, ex0714, usando o código-fonte apresentado na scanf () Come um Integer. Construir e executar. Testar o programa escrevendo vários valores inteiros, positivos e negativos.

Talvez você esteja se perguntando sobre o comercial (&) Na função scanf (). O carácter é um operador C - especificamente, o endereço de memória operador. É uma das características avançadas em C que está relacionado com ponteiros. Um e comercial deve prefixar qualquer variável especificada na função scanf (). A excepção é uma matriz, tal como a matriz primeironome char scanf () Come um Integer.

Tente executar o programa novamente, mas especificar um valor decimal, como 41,9, ou digite texto em vez de um número.

A razão que você vê saída incorreta é que scanf () é muito específico. Ele busca apenas o tipo de variável especificado pelo caractere de conversão. Então, se você quer um valor de ponto flutuante, você deve especificar uma variável de bóia e usar a conversão apropriada ca-% f, nesse caso.

exercício 4: Modificar o código fonte de scanf () Come um número inteiro de modo a que um número de ponto flutuante é solicitado, de entrada, e exibida.

  • Você não precisa prefixar uma variável matriz de char com um e comercial no Função- scanf () ao usar scanf () para ler em uma string, basta especificar o nome da variável string.

    Video: Curso de programação em C: #02 | scanf e printf

  • A função scanf () pára de ler a entrada de texto no primeiro caractere espaço em branco, espaço, guia, ou a tecla Enter.


Publicações relacionadas