Entrées et sorties

langace C les Entrée/Sortie (E/S)

Sortie en C

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

Exemple 1 : Sortie en C

#include <stdio.h>    
int main()
{
    // Affiche la chaîne entre guillemets
    printf("Programmation en C");
    return 0;
}

Résultat :

Programmation en C

 

Fonctionnement de ce programme :

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

Exemple 2 : Sortie d'Entier

#include <stdio.h>
int main()
{
    int entierTest = 5;
    printf("Nombre = %d", entierTest);
    return 0;
}

Résultat :

Nombre = 5

Nous utilisons le spécificateur de format %d pour afficher les types int. Ici, le %d à l'intérieur des guillemets sera remplacé par la valeur de entierTest.

Exemple 3 : Sortie de Flottant et Double

#include <stdio.h>
int main()
{
    float nombre1 = 13.5;
    double nombre2 = 12.4;

    printf("nombre1 = %f\n", nombre1);
    printf("nombre2 = %lf", nombre2);
    return 0;
}

Résultat :

nombre1 = 13.500000
nombre2 = 12.400000

Pour afficher un flottant, nous utilisons le spécificateur de format %f. De même, nous utilisons %lf pour afficher des valeurs double.

Exemple 4 : Affichage de Caractères

#include <stdio.h>
int main()
{
    char caractere = 'a';    
    printf("caractère = %c", caractere);  
    return 0;
}

Résultat :

caractère = a

Pour afficher un caractère, nous utilisons le spécificateur de format %c.

 

Entrée en C

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

Exemple 5 : Entrée/Sortie d'Entier

#include <stdio.h>
int main()
{
    int entierTest;
    printf("Entrez un entier : ");
    scanf("%d", &entierTest);  
    printf("Nombre = %d", entierTest);
    return 0;
}

Résultat :

Entrez un entier : 4
Nombre = 4

Ici, nous avons utilisé le spécificateur de format %d à l'intérieur de la fonction scanf() pour prendre une entrée int de l'utilisateur. Lorsque l'utilisateur entre un entier, il est stocké dans la variable entierTest.

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

Conclusion

 

Si vous avez trouvé ce Cours de Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Liens de l’ancien parcours (référence)

<< PREC Suiv>>

Approfondir : Entrées et sorties

Une lecture peut échouer. Une correction utile doit vérifier ce que scanf a réellement converti avant d’utiliser les variables. Il faut aussi distinguer un entier lu avec %d, un double lu avec %lf et leurs formats d’affichage.

Comprendre le retour de scanf

Le retour indique le nombre d’affectations réussies. Pour deux conversions, attendre 2. Un retour différent interdit d’utiliser une variable qui n’a pas été affectée. Cette vérification ne remplace pas un contrôle portable de dépassement lors d’une conversion numérique trop grande : pour une validation complète de ligne, préférer fgets puis une conversion contrôlée comme strtol.

Invites et saisies

Les sessions ci-dessous montrent les valeurs tapées après les invites. Ces valeurs sont une saisie clavier, pas une seconde sortie imprimée par le programme. puts ajoute un retour à la ligne, ce qui rend la présentation des sessions simple à suivre.

Le caractère qui reste dans le flux

Après la lecture d’un nombre, le retour à la ligne peut encore être présent. Un %c lit le prochain caractère, même blanc. Un espace avant %c demande de sauter les blancs. Ce choix est adapté à un symbole opérateur ; il ne convient pas si l’on veut précisément lire un espace comme donnée.

Entrées-sorties : contrôler deux notes

#include <stdio.h>
int main(void) {
    int a, b;
    puts("Entrer deux notes entieres entre 0 et 20 :");
    if (scanf("%d %d", &a, &b) != 2 ||
        a < 0 || a > 20 || b < 0 || b > 20) {
        puts("Saisie invalide.");
        return 1;
    }
    printf("Moyenne = %.1f\n", (a + b) / 2.0);
    return 0;
}
Suivre le programme : Entrées-sorties, contrôler deux notes
Instruction ou étapeExplication
%d %d et deux adressesLe format attend deux int*.
Retour 2Les deux variables ont été affectées avant le calcul.
BornesLes notes doivent être dans le domaine annoncé.
/2.0La moyenne n’est pas tronquée.

Sortie écran : essai 1

Les deux notes sont valides.

Entrer deux notes entieres entre 0 et 20 :
12 15
Moyenne = 13.5

Sortie écran : essai 2

Aucune conversion entière n’est réussie.

Entrer deux notes entieres entre 0 et 20 :
abc
Saisie invalide.

S’entraîner et vérifier

Exercice 1. Pourquoi scanf("%lf",&x) si x est un double ?

Voir la correctionMasquer la correction

Le format de lecture doit correspondre à l’adresse d’un double. %f attend l’adresse d’un float. Dans printf, un double s’affiche avec %f : les formats de lecture et d’écriture n’ont pas exactement les mêmes règles.

Pratiquer avec le TD/TP 1 corrigé · Tous les exercices C.

Repère de lecture : les codes proposés utilisent des constructions disponibles en C11. Les règles du langage et de sa bibliothèque sont consultables dans les projets publics du WG14 (C11) et du WG14 (C23). Les exemples n’utilisent pas les nouveautés propres à C23.

Questions / Réponses

Aucune question. Soyez le premier à poser une question.
★ ★ ★ ★ ★
2 votes. Moyenne 3 sur 5.

Ajouter un commentaire

Anti-spam