Introduction à la programmation C

Introduction au langage C - types et variables

Objectifs :

  • expliquer brièvement le rôle d’un compilateur
  • écrire un programme en C à l’aide d’un éditeur de texte et le compiler avec gcc en ligne de commande
  • faire afficher à l’écran une chaine de caractères (= une petite phrase)
  • déclarer une variable de type entier ou une variable de type décimal
  • faire afficher à l’écran la valeur d’une ou plusieurs variables entières ou décimales au sein d’une chaine de caractères
  • récupérer dans une variable un nombre entier saisi par l’utilisateur au clavier
  • récupérer dans une variable un nombre décimal saisi par l’utilisateur au clavier
  • permuter les valeurs de deux variables de même type

Qu’est ce que programmer ?

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • qu’est ce qu’un algorithme ?
  • que veut dire compiler ?
  • pourquoi ne peut on pas compiler un programme écrit en langage C avec un compilateur Java ?
  • lorsqu’un exécutable a été généré par le compilateur, doit on le recompiler à chaque fois avant de l’exécuter ?

Editer son programme le compiler et l’exécuter

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • quelle extension utilise-t-on usuellement pour nommer les programmes écrits en langage C ?
  • que dois-je taper comme commande pour compiler mon programme écrit en C ?
  • j’ai fait une erreur de syntaxe dans mon programme. Aurais-je un problème à la compilation ou à l’exécution ?
  • sitôt mon programme corrigé, que dois-je faire pour vérifier que tout fonctionne correctement ?

Variables

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • expliquez la différence entre déclarer une variable, initialiser une variable et affecter une valeur à une variable
  • associer les types : entiers, réel et caractère et leur syntaxe en langage C : int, float, et char
  • je suis capable de répondre à n’importe quel type d’exercice sur des affectations de variables comme celui présenté dans la vidéo
  • je sais échanger la valeur de deux variables x et y (dernière question de la vidéo)

Affichage avec printf

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • que devez-vous écrire dans votre programme pour afficher les valeurs de x, y et z qui sont respectivement déclarés comme entier, flottant et entier ?
  • comment faire pour paser à la ligne dans l’affichage ?

Saisie avec scanf

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • que devez-vous écrire dans votre programme pour  réel tapé par l’utilisateur au clavier et le stocker dans une variable nommée x ?

Structure de contrôle : if…then…else / switch

Objectifs :

  • exprimer une condition booléenne à l’aide des opérateurs de comparaison <, >, <=, >=, ==, != et des opérateurs booléens &&,   , !
  • réaliser une série d’instructions si le résultat de l’évaluation de la condition est vérifié, ceci à l’aide du mot-clef if
  • réaliser une série d’instructions si le résultat de l’évaluation de la condition est vérifié, ou une autre série d’instructions dans le cas contraire, à l’aide des mot-clefs if et else
  • enchainer des conditions à l’aide de if, else if…, else.
  • utiliser la structure switch…case…default afin de réaliser différentes séries d’instructions suivant la valeur prise par une variable donnée
  • écrire un programme C bien indenté

Structure de contrôle : if…else

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

que devez-vous écrire dans votre programme pour  afficher “positif” si la valeur saisie par l’utilisateur est positive et “négatif” si celle-ci est négative ?

Pourquoi et comment indenter son programmer

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • que veut dire indenter son programme ?
  • citez au moins 3 raisons qui rendent nécessaire l’indentation d’un programme informatique

Structure conditionnelle : switch…case

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

peut on transformer toute structure de controle if..else en structure switch…case ? si oui, comment ? si non, dans quel cas cela ne peut pas se faire  ?

Fonctions

Objectifs :

  • écrire le prototype d’une fonction avec le type de ses arguments et de sa valeur de retour
  • écrire l’implémentation de la fonction
  • appeler une fonction depuis une autre fonction, y compris depuis la fonction principale main
  • utiliser la valeur de retour d’une fonction
  • expliquer la différence entre une fonction et une procédure
  • savoir à tout instant du programme (dans une fonction appelante ou appelée), la valeur contenue par une variable donnée

Fonctions (1/2)

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • expliquez quel est l’utilité des fonctions dans un programme informatique ?

Fonctions (2/2) : récapitulatif

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • quelle est la différence entre procédure et fonction ?

Portée de variables

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • expliquez ce qu’il advient d’une variable par exemple (la variable entière x contenant la valeur 3) passée en paramètre à une fonction. Est-elle modifiée par la fonction ?

Structure de boucle : while / do…while

Objectifs :

  • utiliser la boucle while pour exécuter une série d’instructions tant qu’une condition est vérifiée
  • utiliser la boucle do…while pour exécuter une série d’instructions jusqu’à ce qu’une condition soit vérifiée
  • expliquer la différence entre une boucle while et une boucle do…while

Structure de boucle : while

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • comment écririez-vous avec la structure de contrôle while, une boucle qui compte de un en un à partir de zéro et ceci jusqu’à 100 (0, 1, 2, 3, …, 99, 100) ?
  • comment modifieriez-vous ce programme pour qu’il ne s’arrête plus à 100, mais qu’il continue à compter indéfiniment ?
  • comment arrêteriez-vous ce programme qui est effectivement parti pour compter indéfiniment ?

Structure de boucle : do…while

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • comment écririez-vous avec la structure de contrôle do…while, une boucle qui compte de un en un à partir de zéro et ceci jusqu’à 100 (0, 1, 2, 3, …, 99, 100) ?
  • par rapport au même exercice avec le while, pouvez-vous expliquer quelles lignes de code a-t-il été nécessaire de changer et pourquoi ?

Structure de boucle : for

Objectifs :

  • réaliser une série d’instruction exactement N fois à l’aide d’une boucle for
  • utiliser la variable d’indice de la boucle for à l’intérieur des instructions de ma boucle
  • imbriquer une boucle for dans une autre boucle for pour réaliser des séries d’instructions

Structure de boucle : for (1/2)

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • comment écririez-vous avec la structure de contrôle for, une boucle qui compte de un en un à partir de zéro et ceci jusqu’à 100 (0, 1, 2, 3, …, 99, 100) ?
  • par rapport au même exercice avec le while, pouvez-vous expliquer quelles lignes de code ont été nécessaire de changer et pourquoi ?

Structure de boucle : for (2/2) – boucles imbriquées

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • donnez trois raisons qui rendent nécessaire l’indentation de votre programme
  • sauriez-vous écrire un programme qui pour chacune des années entre 1999 et 2017, affiche le numéro de chaque mois ? (année 1999 : mois 1, mois 2, … mois 11, mois 12, année 2000 : mois 1, mois 2, … mois 11, mois 12, … année 2017 : mois 1, mois 2, … mois 11, mois 12)

Tableaux

Objectifs :

  • déclarer un tableau de n cases exactement
  • accéder à la case du tableau pour en afficher le contenu ou modifier sa valeur
  • parcourir successivement toutes les cases du tableau pour y réaliser des actions (en afficher les valeurs ou y placer des valeurs précises)

Tableaux à 1 dimension

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • que devez-vous écrire dans votre programme pour déclarer un tableau de 10 entiers ?
  • comment mettre la valeur 3 dans la 5ème case du tableau ?
  • comment afficher la valeur de la 2ème case du tableau ?
  • que se passe-t-il si j’essaye d’afficher la 11ème case du tableau ?

Tableaux dans les fonctions

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • comment écrire une fonction qui initialise toutes les cases à la valeur 3 d’un tableau de 10 entiers passé en paramètre ?

Tableaux à 2 dimensions

Objectifs :

  • déclarer un tableau de mxn cases exactement
  • accéder à la case du tableau pour en afficher le contenu ou modifier sa valeur
  • parcourir successivement toutes les cases du tableau pour y réaliser des actions (en afficher les valeurs ou y placer des valeurs précises)

Après avoir vu cette vidéo, vous devriez être capable de répondre aux questions suivantes :

  • que devez-vous écrire dans votre programme pour déclarer un tableau de deux dimensions de 10x20 entiers ?
  • comment mettre la valeur 3 dans la case correspondant aux coordonnées (3, 6) du tableau ?
  • comment afficher la valeur de la case (2, 1) du tableau ?
  • comment écrire une fonction qui initialise toutes les cases à la valeur 3 d’un tableau de 10x20 entiers passé en paramètre ?

Mis à jour :