Entrée / sortie C: printf () et scanf ()

Dans ce didacticiel, vous apprendrez à utiliser la fonction scanf () pour prendre les entrées de l'utilisateur et la fonction printf () pour afficher la sortie à l'utilisateur.

Sortie C

En programmation C, printf()est l'une des principales fonctions de sortie. La fonction envoie une sortie formatée à l'écran. Par exemple,

Exemple 1: Sortie C

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

Production

 Programmation C

Comment fonctionne ce programme?

  • Tous les programmes C valides doivent contenir la main()fonction. L'exécution du code commence au début de la main()fonction.
  • Il printf()s'agit d'une fonction de bibliothèque pour envoyer une sortie formatée à l'écran. La fonction imprime la chaîne entre guillemets.
  • Pour l'utiliser printf()dans notre programme, nous devons inclure un stdio.hfichier d'en-tête à l'aide de l' #include instruction.
  • L' return 0;instruction à l'intérieur de la main()fonction est "l'état de sortie" du programme. C'est facultatif.

Exemple 2: sortie entière

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

Production

 Nombre = 5

Nous utilisons un %dspécificateur de format pour imprimer les inttypes. Ici, l' %dintérieur des citations sera remplacé par la valeur de testInteger.

Exemple 3: flottant et double sortie

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

Production

 nombre1 = 13,500000 nombre2 = 12,400000

Pour imprimer float, nous utilisons un %fspécificateur de format. De même, nous utilisons %lfpour imprimer des doublevaleurs.

Exemple 4: caractères d'impression

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

Production

 caractère = un 

Pour imprimer char, nous utilisons un %cspécificateur de format.

Entrée C

En programmation C, scanf()est l'une des fonctions couramment utilisées pour prendre les entrées de l'utilisateur. La scanf()fonction lit l'entrée formatée à partir de l'entrée standard telle que les claviers.

Exemple 5: Entrée / Sortie Entier

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

Production

 Entrez un entier: 4 Nombre = 4

Ici, nous avons utilisé un %dspécificateur de format dans la scanf()fonction pour prendre l' intentrée de l'utilisateur. Lorsque l'utilisateur entre un entier, il est stocké dans la variable testInteger.

Remarquez que nous avons utilisé à l' &testIntegerintérieur scanf(). C'est parce que & testInteger obtient l'adresse de testInteger, et la valeur entrée par l'utilisateur est stockée dans cette adresse.

Exemple 6: Float et 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 = %f", num1); printf("num2 = %lf", num2); return 0; )

Production

 Entrez un nombre: 12.523 Entrez un autre nombre: 10.2 num1 = 12.523000 num2 = 10.200000

Nous utilisons %fet %lfspécificateur de format floatet doublerespectivement.

Exemple 7: E / S de caractères C

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

Production

 Entrez un caractère: g Vous avez entré g 

Lorsqu'un caractère est entré par l'utilisateur dans le programme ci-dessus, le caractère lui-même n'est pas stocké. Au lieu de cela, une valeur entière (valeur ASCII) est stockée.

Et lorsque nous affichons cette valeur au %cformat texte, le caractère saisi est affiché. Si nous utilisons %dpour afficher le caractère, sa valeur ASCII est imprimée.

Exemple 8: Valeur 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; )

Production

Entrez un caractère: g Vous avez entré g. La valeur ASCII est 103.

Valeurs multiples d'E / S

Voici comment vous pouvez prendre plusieurs entrées de l'utilisateur et les afficher.

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

Production

 Entrez un entier puis un flottant: -3 3,4 Vous avez entré -3 et 3,400000 

Spécificateurs de format pour les E / S

Comme vous pouvez le voir dans les exemples ci-dessus, nous utilisons

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

Voici une liste des types de données C couramment utilisés et leurs spécificateurs de format.

Type de données Spécificateur de format
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

Articles intéressants...