Introduction à la programmation C# · Module 1, leçon 1 sur 3
Mon premier programme C#
Créer, exécuter et modifier un programme console qui dialogue avec l'utilisateur, puis corriger ses premières erreurs de compilation.
À la fin de la leçon, votre programme Bonjour demande votre prénom, vous salue par votre nom et vous savez corriger seul les erreurs les plus courantes.
- L'essentiel
- Exercices
- Solutions
- Je fais le point
Ce que vous allez faire
- Créer et exécuter un projet console avec la commande
dotnet. - Afficher du texte et lire ce que l'utilisateur tape.
- Combiner du texte et une variable dans un message.
- Lire et corriger une erreur de compilation.
Vous aurez réussi si…
- votre programme s'exécute sans erreur ;
- il affiche un message qui contient le prénom saisi ;
- vous trouvez la ligne fautive à partir d'un message d'erreur.
L'essentiel
Un programme C# est un fichier texte (Program.cs) que le compilateur traduit en un programme exécutable. La commande dotnet s'occupe de tout : créer le projet, compiler et exécuter.
| À écrire | Rôle | Exemple |
|---|---|---|
dotnet new console -o Nom |
Crée un projet console dans le dossier Nom |
dotnet new console -o Bonjour |
dotnet run |
Compile et exécute le projet du dossier courant | dotnet run |
Console.WriteLine(…); |
Affiche un texte, puis passe à la ligne | Console.WriteLine("Salut"); |
Console.ReadLine() |
Attend que l'utilisateur tape une ligne et la retourne | var nom = Console.ReadLine(); |
$"… {variable} …" |
Insère la valeur d'une variable dans un texte (interpolation) | $"Bonjour {nom}" |
Quatre règles à retenir dès maintenant :
- chaque instruction se termine par un point-virgule
;; - C# fait la différence entre majuscules et minuscules :
Consolen'est pasconsole; - un texte s'écrit entre guillemets droits :
"Bonjour"; - une ligne qui commence par
//est un commentaire : le compilateur l'ignore.
Exemple commenté
// Demande le prénom, puis salue l'utilisateur Console.WriteLine("Quel est ton prénom ?"); var prenom = Console.ReadLine(); Console.WriteLine($"Bonjour {prenom}, bienvenue en C# !");
Quel est ton prénom ? Léa Bonjour Léa, bienvenue en C# !
- Ligne 1 : un commentaire, pour expliquer le programme à un humain.
- Ligne 2 : affiche la question.
- Ligne 3 : attend la réponse et la range dans la variable
prenom. Le motvarlaisse le compilateur deviner le type de la variable. - Ligne 4 : le
$devant les guillemets permet d'insérer{prenom}dans le texte.
Le SDK .NET 10 doit être installé (téléchargement sur dotnet.microsoft.com). Pour le vérifier, ouvrez un terminal et tapez dotnet --version : un numéro qui commence par 10. doit s'afficher.
Exercices
GuidéExercice 1 : Créer et exécuter le projet
-
Créer le projet
Dans un terminal, placez-vous dans votre dossier de travail et tapez :
dotnet new console -o Bonjour cd Bonjour
-
Ouvrir le code
Ouvrez le dossier
Bonjourdans votre éditeur (Visual Studio Code ou Visual Studio) et affichezProgram.cs. Il contient déjà une ligne :Console.WriteLine("Hello, World!"); -
Exécuter
Dans le terminal, tapez
dotnet run. Le premier lancement prend quelques secondes : le programme est d'abord compilé.
Vous avez réussi si Hello, World! s'affiche dans le terminal.
GuidéExercice 2 : Écrire votre propre message
Remplacez la ligne de Program.cs par trois lignes Console.WriteLine qui affichent votre prénom, votre programme d'études et un loisir. Enregistrez, puis relancez dotnet run.
Vous avez réussi si vos trois lignes s'affichent, dans l'ordre où vous les avez écrites.
Semi-guidéExercice 3 : Dialoguer avec l'utilisateur
Modifiez le programme pour qu'il demande le prénom de l'utilisateur, puis sa ville, et qu'il affiche ensuite une seule phrase qui contient les deux réponses.
Indice : il faut deux variables et deux appels à Console.ReadLine().
Vous avez réussi si en répondant « Léa » et « Rimouski », vous obtenez une phrase comme Bonjour Léa de Rimouski !
AutonomeExercice 4 : Corriger un programme
Copiez ce programme dans Program.cs. Il contient trois erreurs. Lancez dotnet run, lisez les messages d'erreur et corrigez-les une à une.
Console.WriteLine("Quel est ton cours préféré ?") var cours = console.ReadLine(); Console.WriteLine("Tu aimes {cours} !");
Le message indique le fichier, puis la ligne et la colonne entre parenthèses, puis un code et une explication, souvent en anglais. Par exemple, Program.cs(1,50): error CS1002: ; expected signifie : ligne 1, colonne 50, un point-virgule est attendu.
Pourquoi la troisième erreur n'empêche-t-elle pas le programme de s'exécuter ?
Vous avez réussi si le programme affiche le nom du cours saisi, et non le texte {cours}.
DéfiExercice 5 : Encadrer le prénom
Écrivez un programme qui demande le prénom et l'affiche dans un cadre d'étoiles dont la largeur s'adapte à la longueur du prénom.
Indices : prenom.Length donne le nombre de caractères ; new string('*', 10) crée un texte de 10 étoiles.
******* * Léa * *******
Solutions
Exercice 1 : Créer et exécuter le projet
Si dotnet est introuvable, le SDK n'est pas installé ou le terminal a été ouvert avant l'installation : fermez-le et rouvrez-le. Si dotnet run répond qu'il ne trouve pas de projet, vous n'êtes pas dans le dossier Bonjour : tapez cd Bonjour.
Exercice 2 : Écrire votre propre message
Console.WriteLine("Je m'appelle Léa."); Console.WriteLine("J'étudie en Techniques de l'informatique."); Console.WriteLine("J'aime l'escalade.");
Exercice 3 : Dialoguer avec l'utilisateur
Console.WriteLine("Quel est ton prénom ?"); var prenom = Console.ReadLine(); Console.WriteLine("Dans quelle ville habites-tu ?"); var ville = Console.ReadLine(); Console.WriteLine($"Bonjour {prenom} de {ville} !");
Exercice 4 : Corriger un programme
- Ligne 1 : il manque le point-virgule à la fin (erreur
CS1002). - Ligne 2 :
consoledoit s'écrireConsole, avec une majuscule (erreurCS0103: le nom n'existe pas). - Ligne 3 : il manque le
$devant les guillemets. Ce n'est pas une erreur de compilation : le programme s'exécute, mais affiche littéralement{cours}. C'est une erreur de logique, que seul le test du programme révèle.
Console.WriteLine("Quel est ton cours préféré ?"); var cours = Console.ReadLine(); Console.WriteLine($"Tu aimes {cours} !");
Exercice 5 : Encadrer le prénom
Console.WriteLine("Quel est ton prénom ?"); var prenom = Console.ReadLine(); var ligne = new string('*', prenom.Length + 4); Console.WriteLine(ligne); Console.WriteLine($"* {prenom} *"); Console.WriteLine(ligne);
On ajoute 4 à la longueur du prénom : une étoile et une espace de chaque côté. L'éditeur peut signaler un avertissement sur prenom.Length, car ReadLine() peut théoriquement retourner une valeur vide (null). Ce n'est pas une erreur : le programme s'exécute quand même. Vous apprendrez à traiter ce cas au module 2.
Je fais le point
- Je sais créer un projet console et l'exécuter avec
dotnet run. - Je sais afficher du texte avec
Console.WriteLine. - Je sais lire une réponse avec
Console.ReadLineet la ranger dans une variable. - Je sais insérer une variable dans un texte avec
$"…{variable}…". - Je sais trouver la ligne d'une erreur à partir du message du compilateur.
- Je sais distinguer une erreur de compilation d'une erreur de logique.
