IFT 1160 : PROGRAMMATION AVEC LE LANGAGE C Chapitre 1 : Introduction, quelques
IFT 1160 : PROGRAMMATION AVEC LE LANGAGE C Chapitre 1 : Introduction, quelques éléments de base du langage C A) Le cours IFT 1160 : 1) But du cours : Le cours de programmation avec le langage C a pour but d'initier les étudiants à un langage moderne de programmation structurée qui sait allier la puissance du matériel informatique à une discipline de programmation qui a déjà fait ses preuves dans le monde moderne de l'industrie informatique (UNIX, MS-DOS, OS-2, WINDOWS, dBASE ... qui, sont tous écrits en langage C). 2) Objectifs du cours : 1) Familiariser l'étudiant avec le langage de programmation C et avec quelques nouveautés du langage C++. 2) Permettre à l'étudiant de créer des programmes simples mais qui requièrent une connaissance complète du langage utilisé, en l'occurrence le C. 3) Préparer l'étudiant à un cours plus avancé, par exemple, le cours IFT 1166 : Programmation Orientée Objet avec C++. 3) Population cible : Ce cours de programmation s'adresse à une population qui a déjà une connaissance de base en langage de programmation structurée et qui désire connaître les fondements d'un langage de programmation qui est de plus en plus utilisé par les grandes firmes d'informatique. Le langage C++ occupe le premier rang avec 71 % tandis que le langage C se classe bon deuxième avec 58 %. Chapitre 1 : Introduction, quelques éléments de base du langage C Page 1 4) Cours préalable : Afin de profiter pleinement des notions introduites au cours, l'étudiant doit connaître les concepts de programmation structurée incluant les notions de boucles, de tableau à un seul indice, des sous-programmes en plus d'être très à l'aise avec l'algorithmique. C'est pour cette raison qu'une bonne connaissance d'un langage de haut niveau est exigée pour faire ce cours. Nous exigeons que les étudiants intéressés complètent avec succès un cours d'introduction à la programmation, comme le cours IFT 1810 (ou IFT 1870, IFT 1875) par exemple. Toutefois, un étudiant ayant suivi un autre cours de programmation structurée pourra se débrouiller avec un surplus de travail. 5) Ordre de présentation des matières : Dans un premier cours de programmation, les étudiants ont vu les notions suivantes : - type, constante, variable, opérateurs, lecture, écriture - la sélection simple et multiple - les 3 boucles : répéter ..., tant que ..., pour ... - tableau à un seul indice - fichier de type texte - sous-programme et paramètres Notre objectif est de vous permettre de comprendre et d'écrire le plus vite possible des programmes écrits en langage C. Durant les trois premières semaines d'une session régulière (automne ou hiver), nous présentons ces matières en C sans tout ré-expliquer en détail. Une autre difficulté en C est qu'un sujet peut très souvent être traité de plusieurs manières différentes. Nous présentons la manière la plus simple et quelques autres manières les plus couramment utilisées. Contrairement à la plupart des livres qui présentent toutes les matières dans l'ordre théorique, nous choisissons de présenter les matières dans l'ordre pratique, dépendant de l'importante du sujet à traiter. La clientèle de ce cours n'est pas homogène : pour la plupart, ce cours est un deuxième cours de programmation ; pour quelques autres qui connaissent assez bien la programmation, c'est plutôt le langage C qui les intéressent. Pour ces raisons, certains exercices du présent cahier ont un degré de difficulté différent en plus d'être de natures différentes. On permet aussi à l'étudiant de choisir quelques numéros différents dans l'énoncé d'un travail pratique. Chapitre 1 : Introduction, quelques éléments de base du langage C Page 2 B) Les éléments de base de la programmation en C : 1) Allure d'un programme simple écrit en C : 1.a) Programme sans sous-programme, niveau simple : Le programme suivant permet de saisir 2 entiers, d'afficher à l'écran les deux entiers lus, de permuter leurs valeurs et finalement d'afficher de nouveau leurs valeurs. /* Fichier : Allure1.C (1er exemple sur l'allure d'un programme en C : Programme sans des déclarations globales ni de sous-programmes.) */ #include <stdio.h> /* standard input output header file fichier d'en-tête des entrées-sorties standards */ void main() /* fonction "principale" */ { int valeur1, valeur2, temporaire ; /* Saisie les 2 entiers */ printf("Entrez 2 entiers suivis par la touche <Entrée> "); scanf ("%d%d", &valeur1, &valeur2); /* Affichage de ces 2 valeurs */ printf("Avant l'échange, valeur1 = %d, valeur2 = %d\n", valeur1, valeur2); /* Permutation (échange) ces deux valeurs */ temporaire = valeur1 ; valeur1 = valeur2 ; valeur2 = temporaire ; /* Ré-affichage de ces 2 valeurs */ printf("Après l'échange, valeur1 = %d, valeur2 = %d\n", valeur1, valeur2); } Chapitre 1 : Introduction, quelques éléments de base du langage C Page 3 Exécution: Entrez 2 entiers suivis par la touche <Entrée> 53 17 Avant l'échange, valeur1 = 53, valeur2 = 17 Après l'échange, valeur1 = 17, valeur2 = 53 Cliquez sur le bouton de fermeture Explications sommaires du programme : Ce programme comporte : 1) des commentaires délimités par /* et */ 2) des fichiers d'en-tête #include <stdio.h> stdio.h (standard input/ouput header file) est le nom d'un fichier d'en-tête permettant de gérer les entrées et sorties standard (scanf, printf, etc ....) Pour la plupart des programmes en C, on inclut ce fichier d'en-tête. L'utilisation d'un fichier d'en-tête permet d'utiliser surtout des fonctions prédéfinies (implantées et fournies avec le compilateur). 3) d'une seule fonction (pour cet exemple), c'est la fonction principale (main) 4) d'un bloc d'énoncés délimités entre { et } 5) de la déclaration de trois variables de type entier (int pour integer) : int valeur1, valeur2, temporaire ; Une instruction se termine par le point virgule. 6) des instructions d'affichage : printf("messages et codes de format", liste d'informations à afficher); le mot "print" signifie "imprimer", "afficher" le suffixe "f" signifie "avec format". Exemple %d est le code pour afficher un entier, le caractère \n vient de "new line" signale un changement de ligne (comme VBCRLF du Visual Basic). 7) de l'opérateur d'affectation avec le symbole "=" (comme Visual Basic) : valeur1 = valeur2 ; Chapitre 1 : Introduction, quelques éléments de base du langage C Page 4 8) de l'instruction de lecture avec format : scanf("Codes de format", liste des adresses des variables) ; le mot "scan" signifie "balayer" dans le sens de "lire". En C, on lit une liste des valeurs selon certains codes de format et on dépose aux adresses des variables correspondantes. La notion "adresse de" (opérateur "&") sera abordée dès la deuxième semaine de cours. 9) de l'instruction printf("\nCliquez sur le bouton de fermeture "); permettant de rappeler l'usager à quitter l'écran des résultats en cliquant sur le bouton de fermeture d'une fenêtre. 1.b) Programme avec sous-programme, niveau simple : Le programme suivant permet de lire 2 réels valeur1 et valeur2, d'afficher les deux valeurs lues ainsi que : - la plus grande valeur parmi ces deux réels - la valeur absolue de valeur1 - valeur2 /* Fichier : Allure2.C (2 ième exemple sur l'allure d'un programme) Programme avec des déclarations globales et de sous-programmes. */ #include <stdio.h> /* une fonction en C : cette fonction détermine et retourne la plus grande valeur entre deux réels x et y */ float plusGrande (float x, float y) { if (x > y) return x ; else return y ; } void main() { /* prototype (sera abordée vers la troisième semaine du cours) de la fonction Absolue */ float valeur1, valeur2 ; float absolue(float z) ; /* l'écriture de cette fonction se trouvera après son appel */ Chapitre 1 : Introduction, quelques éléments de base du langage C Page 5 /* Saisie les 2 réels */ printf("Entrez 2 réels "); scanf ("%f%f", &valeur1, &valeur2); /* Affichage de ces 2 valeurs */ printf("Les valeurs lues: valeur1 = %6.2f, " "valeur2 = %6.2f\n", valeur1, valeur2); /* Affichage de la valeur la plus grande */ printf("La plus grande valeur est : %6.2f\n", plusGrande(valeur1, valeur2)); /* Affichage de la valeur absolue de (valeur1-valeur2) */ printf("La valeur absolue de %6.2f est %6.2f\n", valeur1-valeur2, absolue(valeur1-valeur2)); printf("\nCliquez sur le bouton de fermeture "); } /* cette fonction se trouve après son appel */ float absolue ( float z ) { if ( z < 0 ) return -z ; else return z ; } Exécution: Entrez 2 réels 5.7 10.5 Les valeurs lues: valeur1 = 5.70, valeur2 = 10.50 La plus grande valeur est : 10.50 La valeur absolue de -4.80 est 4.80 Cliquez sur le bouton de fermeture Chapitre 1 : Introduction, quelques éléments de base du langage C Page 6 Explications sommaires du programme : A part des explications identiques au dernier exemple, le programme comporte aussi : 1) d'une fonction (comme FUNCTION en VB) qui calcule et retourne la valeur la plus grande entre 2 réels : float plusGrande (float x, float y) { etc ... } Cette fonction se trouve avant son utilisation (son appel) dans la fonction principale. 2) du code format %f pour la lecture d'un réel ou du code format %6.2f pour afficher un réel sur 6 colonnes avec 2 uploads/Philosophie/ chapitre-1 7 .pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/FgTQz20vZNyIjlL3SSHmWnh61fvcqb2OnZNyd1oXRDqUMoYl0qgdxYwjDx9d1mW4EANKYUH636EuuXj6lRe0iL2w.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11704623625n5epct8hrly8o1ykxsntbcmhvu5vnkftno7gxnrguv0zh3wxteinhx2f5xvh4qailcabudil5id7ekqcg3ey7zkyhkmvqp1hfvqy.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Y4fVNo4kMJTsYShTGGBhO9zXD2iajD1dDwSsLDKDzwbL57Ahj3KTxMMFyYOrUDo4EdGxVwXV9msOnaicsANQexC0.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/117045522250bvh392zufpqx18yxqzvtld38siwes6cm1pqyoeqoxaweyjutfoilmqovmkhxkhsbswedosrodaqx1emq8eemecawzcsxphaakuh.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/3cWX578mRinpOHoC3xJMALoXap90awlxlaDkxvxEzFh2CjSYb64KhL4AyLkuV07PKfxcCSciYrsrIyfEvWrCU623.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/hQS2i2gRhrARke1Bj0rfAyg4NANnMpYd1dG53r9CwYAv21E7fK6wbuIskPFVwmYKxab3Y6SyZExghbox6iIBB53U.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11704588122w4uzrwtbtuqkhpj85a6nwpf0ucuyy1d3wtoeb60eunvdj61e7eut6xwwspf5edjcrsnqppzbem6yro6sa8ayujp6mxptudbf8qqd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/117045676243xqtrlt8jdnwrm7a3hxwgakgeyycclyen6u1eruxbzmnmwvxf7zpuxja8u2hynodk63smespzccoin23n2y02jdfjkbbvo1qn5qw.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/y1rdwskNNiHFZ2buHf5zbnUhx6dkbvAOeTlIjoHexj2MK486vofvQvY8Fy52sU39WNy3IoZdxMrSn0RxtFPwmL3m.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/XnTsM5kOf0ps46dmFJAsgGJ96tDKJFPQixIG9UttwemteiuDVqWkMk8OocKlO2CUZpzJxuUf1xWxKrPwWEwNt3yb.png)
-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 12, 2021
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.1772MB