Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Documents pareils

Introduction au langage C

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Algorithmique et Programmation, IMA

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Les chaînes de caractères

UE Programmation Impérative Licence 2ème Année

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Chap III : Les tableaux

Programmation en langage C

SUPPORT DE COURS. Langage C

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours d Algorithmique et de Langage C v 3.0

Initiation à la programmation en Python

Programmation C. Apprendre à développer des programmes simples dans le langage C

Langage Éric Guérin 5 octobre 2010

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Bases de programmation. Cours 5. Structurer les données

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programmation C++ (débutant)/instructions for, while et do...while

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

UE C avancé cours 1: introduction et révisions

Informatique Générale

Cours d initiation à la programmation en C++ Johann Cuenin

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Rappels Entrées -Sorties

Programmation système I Les entrées/sorties

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Initiation. àl algorithmique et à la programmation. en C

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

V- Manipulations de nombres en binaire

La mémoire. Un ordinateur. L'octet. Le bit

Programmation Classique en langage C

Claude Delannoy. 3 e édition C++

Les structures. Chapitre 3

TP 1. Prise en main du langage Python

Plan du cours. Historique du langage Nouveautés de Java 7

Le Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012

Chapitre 1 : La gestion dynamique de la mémoire

Microprocesseur + Logiciel

Algorithme. Table des matières

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Cours Informatique 1. Monsieur SADOUNI Salheddine

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction au Langage de Programmation C

IV- Comment fonctionne un ordinateur?

LES TYPES DE DONNÉES DU LANGAGE PASCAL

INITIATION A LA PROGRAMMATION

Notions fondamentales du langage C# Version 1.0

ALGORITHMIQUE ET PROGRAMMATION En C

Représentation d un entier en base b

COURS D'INFORMATIQUE: LANGAGE C NOTES DE COURS

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Introduction à MATLAB R

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmer en JAVA. par Tama

INF 321 : mémento de la syntaxe de Java

Algorithmique et programmation : les bases (VBA) Corrigé

STAGE IREM 0- Premiers pas en Python

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Java Licence Professionnelle CISII,

Langages et Concepts de Programmation Introduction à la programmation en langage C

Les fichiers. Chapitre 4

Programmation système de commandes en C

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C. Séance n 4

Adama MBODJI MBODJ.SYSTEM

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Cours d Informatique

Codage d information. Codage d information : -Définition-

I. Introduction aux fonctions : les fonctions standards

L informatique en BCPST

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Cours Informatique Master STEP

COMPARAISONDESLANGAGESC, C++, JAVA ET

Conventions d écriture et outils de mise au point

Travaux Dirigés n 1 : chaînes de caractères

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Programmation en C - Sommaire

Architecture de l ordinateur

Le langage C. Introduction, guide de reference

Compléments de documentation Scilab : affichage de texte et formatage de nombres

BTS IRIS Cours et Travaux Pratiques. Programmation C. A. Lebret, TSIRIS, Lycée Diderot, 1995/06. en conformité avec le référentiel du BTS IRIS

Recherche dans un tableau

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

ACTIVITÉ DE PROGRAMMATION

Programmation C. J.-F. Lalande. 15 novembre 2012

Licence Sciences et Technologies Examen janvier 2010

Transcription:

Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba SUPPORT DE COURS PROGRAMMATION I Élaboré par : Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia Public cible : Informatique (Niveau I) Version 2007

AVANT-PROPOS Objectifs généraux Il s agit d un cours d initiation au langage C. Il a pour but de : -découvrir l environnement de programmation C, -savoir réagir devant un problème de programmation. PROGRAMMATION I Public Cible Ce cours est destiné essentiellement aux étudiants du premier niveau des Etudes Supérieures Technologiques, Option Informatique. Volume horaire Ce cours est présenté, de manière hebdomadaire, comme suit : -1h 30mn du Cours Intégré -3h de Travaux Pratiques pour chaque groupe Soit en total : 22,5h de Cours Intégré et 45h de Travaux Pratiques Moyens pédagogiques -Tableau -Micro-ordinateurs équipés de Borland C ou Turbo C -Polycopiés de Travaux Dirigés et Travaux Pratiques Evaluation -Coefficient : 3 -Devoir Surveillé, moyenne des tests 30% -Examen TP, moyenne des TPs (comptes rendus) 30% -Examen final 40%

TABLE DES MATIERES CHAPITRE 1 : INTRODUCTION AU LANGAGE C --------------------------------------------------------------------------------- 1 I. Généralités ----------------------------------------------------------------------------------------------------------------------- 2 I.1. Informatique ----------------------------------------------------------------------------------------------------------------- 2 I.2. Architecture d un ordinateur---------------------------------------------------------------------------------------------- 2 I.3. Système d exploitation ----------------------------------------------------------------------------------------------------- 3 I.4. Langages de programmation---------------------------------------------------------------------------------------------- 3 II. Caractéristiques générales du langage C --------------------------------------------------------------------------------- 4 II.1. Caractéristiques------------------------------------------------------------------------------------------------------------ 4 II.2. Structure générale d un programme C --------------------------------------------------------------------------------- 4 III. Etapes d exécution d un programme C ---------------------------------------------------------------------------------- 6 CHAPITRE 2 : ELEMENTS DE BASE ----------------------------------------------------------------------------------------------- 7 I. Les variables--------------------------------------------------------------------------------------------------------------------- 8 II. Les opérateurs------------------------------------------------------------------------------------------------------------------ 9 II.1. Opérateurs arithmétiques------------------------------------------------------------------------------------------------- 9 II.2. Opérateurs relationnels--------------------------------------------------------------------------------------------------- 9 II.3. Opérateurs logiques ------------------------------------------------------------------------------------------------------- 9 II.4. Priorité des opérateurs---------------------------------------------------------------------------------------------------- 9 III. Les constantes ----------------------------------------------------------------------------------------------------------------10 IV. L instruction d affectation-------------------------------------------------------------------------------------------------11 IV.1. L instruction d affectation = ---------------------------------------------------------------------------------------11 IV.2. Les opérateurs d incrémentation et de décrémentation ------------------------------------------------------------11 IV.3. Simplification des opérateurs arithmétiques-------------------------------------------------------------------------11 IV.4. Conversion de types -----------------------------------------------------------------------------------------------------11 V. Les fonctions standard d Entrées/Sorties--------------------------------------------------------------------------------12 V.1. Bibliothèque adoptée -----------------------------------------------------------------------------------------------------12 V.2. Fonction getchar() --------------------------------------------------------------------------------------------------------12 V.3. Fonction putchar()--------------------------------------------------------------------------------------------------------12 V.4. Fonction scanf()-----------------------------------------------------------------------------------------------------------13 V.5. Fonction printf ------------------------------------------------------------------------------------------------------------13 VI. Exercice resolu---------------------------------------------------------------------------------------------------------------14 CHAPITRE 3 : LES STRUCTURES DE CONTROLE CONDITIONNELLES -------------------------------------------------------15 I. Définition------------------------------------------------------------------------------------------------------------------------16 II. L instruction conditionnelle «if»-----------------------------------------------------------------------------------------16 II.1 L instruction conditionnelle «if» simple------------------------------------------------------------------------------16 II.2. L instruction conditionnelle «if else»------------------------------------------------------------------------------16 II.3. Instructions «if» imbriquées -------------------------------------------------------------------------------------------18 III. L instruction de sélection multiple «switch» -------------------------------------------------------------------------18 IV. Exercice résolu---------------------------------------------------------------------------------------------------------------19 CHAPITRE 4 : LES STRUCTURES DE CONTROLE ITERATIVES ----------------------------------------------------------------21 I. Définition------------------------------------------------------------------------------------------------------------------------22 II. L instruction itérative «For» ---------------------------------------------------------------------------------------------22 III. L instruction itérative «while» ------------------------------------------------------------------------------------------22 IV. L instruction itérative «do.. while»-------------------------------------------------------------------------------------23 V. Choix de la structure répétitive adéquate -------------------------------------------------------------------------------24 VI. Exercice résolu---------------------------------------------------------------------------------------------------------------24

CHAPITRE 5 : LES FONCTIONS---------------------------------------------------------------------------------------------------25 I. Définition------------------------------------------------------------------------------------------------------------------------26 II. Déclaration des fonctions ---------------------------------------------------------------------------------------------------27 III. Appel des fonctions----------------------------------------------------------------------------------------------------------27 IV. Exercice résolu---------------------------------------------------------------------------------------------------------------28 CHAPITRE 6 : LES TABLEAUX----------------------------------------------------------------------------------------------------29 I. Définition------------------------------------------------------------------------------------------------------------------------30 II. Tableaux unidimensionnels-------------------------------------------------------------------------------------------------30 II.1. Déclaration d un tableau unidimensionnel ---------------------------------------------------------------------------30 II.2. Accès à une case d un tableau unidimensionnel ---------------------------------------------------------------------30 III. Tableaux multidimensionnels ---------------------------------------------------------------------------------------------30 III.1. Déclaration d un tableau multidimensionnel------------------------------------------------------------------------30 III.2. Accès à une case d un tableau multidimensionnel------------------------------------------------------------------31 IV. Tableaux et fonctions -------------------------------------------------------------------------------------------------------31 V. Opérations du tri -------------------------------------------------------------------------------------------------------------32 V.1. Définition-------------------------------------------------------------------------------------------------------------------32 V.2. Tri par sélection-----------------------------------------------------------------------------------------------------------32 V.3. Tri à bulles-----------------------------------------------------------------------------------------------------------------33 V.4. Tri par insertion-----------------------------------------------------------------------------------------------------------34 VI. Exercice résolu---------------------------------------------------------------------------------------------------------------36 CHAPITRE 7 : LES CHAINES DE CARACTERES ---------------------------------------------------------------------------------37 I. Définition------------------------------------------------------------------------------------------------------------------------38 II. Fonctions standards de manipulation des chaînes ---------------------------------------------------------------------38 II.1. Fonction scanf()-----------------------------------------------------------------------------------------------------------38 II.2. Fonction printf() ----------------------------------------------------------------------------------------------------------38 II.3. Fonction sscanf()----------------------------------------------------------------------------------------------------------39 II.4. Fonction sprintf() ---------------------------------------------------------------------------------------------------------39 II.5. Fonction gets() ------------------------------------------------------------------------------------------------------------39 II.6. Fonction puts() ------------------------------------------------------------------------------------------------------------39 III. Autres fonctions de manipulation des chaînes-------------------------------------------------------------------------39 III.1. Fonction strlen() ---------------------------------------------------------------------------------------------------------39 III.2. Fonction strcpy()---------------------------------------------------------------------------------------------------------40 III.3. Fonction strcat() ---------------------------------------------------------------------------------------------------------40 III.4. Fonction strcmp()--------------------------------------------------------------------------------------------------------40 IV. Exercice résolu---------------------------------------------------------------------------------------------------------------41 BIBLIOGRAPHIE--------------------------------------------------------------------------------------------------------------------42 ANNEXES----------------------------------------------------------------------------------------------------------------------------43

CHAPITRE : 1 INTRODUCTION AU LANGAGE C Objectifs spécifiques -Introduire l informatique -Introduire les langages de programmation -Introduire le langage C -Connaître la structure générale d un programme C PROGRAMMATION I Plan du chapitre I. Généralités II. Caractéristiques générales du langage C III. Etapes d exécution d un programme C Volume horaire 1 séance de cours intégré

Chapitre 1 : Introduction au langage C I. GENERALITES I.1. Informatique C est une science qui permet de traiter des informations en utilisant des machines appelées : ordinateurs. Entrées e1 e2 Machine s1 s2 Sorties I.2. Architecture d un ordinateur Un ordinateur est une machine qui permet de stocker des données (informations) structurées et de les traiter à la demande de l'utilisateur, afin de produire un résultat voulu. Le terme «ordinateur» a été proposé en 1955 par J. Perret à la demande d'ibm, pour remplacer le terme «Calculateur». Les ordinateurs sont distingués soit par leurs tailles (micro / mini / mainframe), leurs domaines d'applications (terminal / serveur / station de travail) ou leurs interopérabilités (système d'exploitation ouvert, MS-DOS, MacOS, etc.). Les constituants de base d un ordinateur sont : - Unité de traitement et de commande : C est la partie intelligente de la machine qui prend en charge l exécution des programmes. Le processeur, le «chef d orchestre» de l ordinateur, est lui qui gouverne tout l ordinateur. Traitements : opérations de calcul arithmétiques et logiques. Caractéristiques du microprocesseur : taille, fréquence de l horloge. Premier microprocesseur utilisé par IBM s appelle 8086. Il est composé de registres (8 bits). -> 80286 (16 bits, 12-16 Mhz), 80386 (32 bits, 20-33 Mhz), 80486 (33-100 Mhz), Pentium, Pentium II, - Unité mémoire Cette unité est représentée par un nombre défini de cellules (ou de composants). A chaque cellule ou composant élémentaire de la mémoire correspond un bit ( 1 ou 0). 1 octet correspond à 8 bits consécutifs. 1 Ko correspond à 1024 octets. 1 Mo correspond à 1024 Ko. - 2 -

Chapitre 1 : Introduction au langage C Système de codification des caractères. ASCII (American Standard Code for Information Interchange). Il dispose d une table de codification de caractères (un code étant une loi de correspondance de caractères). (Voir Annexe) Supports mémoires : disques durs, disquettes, CD-ROM, DVD-ROM, Flash Disk - Unité d échange Elle permet de gérer les échanges d informations entre la partie interne de l ordinateur et la partie externe. Les périphériques ou les organes externes : clavier, écran, imprimante, I.3. Système d exploitation - Un système d exploitation est un ensemble de programmes qui permettent d exploiter les possibilités matérielles d un ordinateur. - A chaque système d exploitation correspond un nombre défini de commandes respectant une syntaxe appropriée. - On distingue différents types de systèmes d exploitation : Systèmes d exploitation mono-postes, mono-tâches : un seul poste de travail est reconnu, une seule tâche est permise. DOS. Systèmes mono-postes, multi-tâches : un seul poste est reconnu. Les tâches peuvent être activées en parallèle. C est à travers le partage de temps que le Système d exploitation peut exécuter plusieurs programmes au même temps. Exemples : OS2, Windows 95. Systèmes multi-postes, multi-tâches : plusieurs postes de travail sont reconnus. Chaque poste peut exécuter plusieurs tâches. Unix. I.4. Langages de programmation Un programme est un ensemble d instructions (ordres machines) qui aboutissent à l exécution d un traitement souhaité. - Langage machine : c est un langage de programmation qui utilise des instructions machine (instruction directement exécutée par l unité de traitement (processeur)). Chaque unité de traitement possède un catalogue d instructions machine. - Assembleur : c est un langage qui utilise des mots clés en langage pseudo-naturel pour remplacer les codifications utilisées dans les langages machine. - 3 -

Chapitre 1 : Introduction au langage C - Langage évolué : apporte une simplification au niveau de la programmation en intégrant des instructions qui se rapprochent du langage naturel et scientifique. Exemples : Fortran, Cobol, Basic, Pascal, C, II. CARACTERISTIQUES GENERALES DU LANGAGE C II.1. Caractéristiques - Créé dans les années 70 par Denis-Ritchie / Labo Bell Telephone Laboratories. [1] - Conçu pour l écriture du système d exploitation UNIX. - C est l intermédiaire entre langage haut niveau (indépendamment des machines) et langage bas niveau (assembleur). - C est un langage évolué (proche du langage naturel et scientifique), procédural (modulaire), portable (réutilisé et réintégrable dans plusieurs plates formes). II.2. Structure générale d un programme C Un programme C s écrit généralement sous la forme suivante : - 4 -

Chapitre 1 : Introduction au langage C /* Déclaration des bibliothèques */ #include<nomfichier1.h> #include<nomfichier2.h>.. /* Déclaration des constantes */ #define cons1 val1 #define cons2 val2.. /* Déclaration des fonctions */ type-de-retour Nom-fonction1(type1 arg1,..., typen argn) /* Début du corps de la fonction1 */ instruction1 ; instruction2 ;.. /* Fin du corps de la fonction1 */ type-de-retour Nom-fonction2(type1 arg1,..., typen argn) /* Début du corps de la fonction2 */ instruction1 ; instruction2 ;.. /* Fin du corps de la fonction2 */.. /* Fonction principale */ type-de-retour main( ) /* Déclaration des variables */ type-variable1 variable1 ; type-variable2 variable2 ;.. /* Corps du programme */ instruction1 ; instruction2 ;.. Remarques : - Une bibliothèque est un fichier comportant un ensemble de fonctions (routines) prêtes à l emploi. Elles peuvent être livrées en standard avec le langage ou créées par le développeur. Exemples : stdio.h, math.h, string.h, - Chaque instruction en C doit se terminer par un point virgule «;». - Les accolades et correspondent au début et à la fin du corps des fonctions. - Une fonction peut ne pas contenir de paramètres. - Les commentaires en C (texte non interprété) sont soit délimités par «/*» et «*/» soit débutés par «//» dans le cas où ils s écrivent sur une seule ligne. - 5 -

Chapitre 1 : Introduction au langage C /* ceci est un commentaire sur plusieurs lignes */ // Ceci est un commentaire sur une seule ligne III. ETAPES D EXECUTION D UN PROGRAMME C Le C est un langage compilé (par opposition aux langages interprétés). Cela signifie qu'un programme C est décrit par un fichier texte, appelé fichier source. Ce fichier n'étant évidemment pas exécutable par le microprocesseur, il faut le traduire en langage machine. Cette opération est effectuée par un programme appelé compilateur. [2] L exécution d un programme C passe par les étapes suivantes (Précompilation, Compilation, Edition de liens, Exécution) comme le montre la figure ci-dessous : Programme source Précompilateur #include Programme source précompilé Compilation Programme objet Edition de liens Bibliothèques de fonctions Programme exécutable Exécution d un programme C - 6 -

CHAPITRE : 2 ELEMENTS DE BASE Objectifs spécifiques -Manipuler les variables et les constantes, -Manipuler les instructions d affectation et d entrée/ sortie, -Ecrire des programmes C simples. PROGRAMMATION I Plan du chapitre I. Les variables et les opérateurs II. Les instructions d affectation III. Les fonctions standards d Entrées/Sorties IV. Exercice résolu Volume horaire 2 séances de Cours Intégré

Chapitre 2 : Eléments de base I. LES VARIABLES Une instruction de déclaration permet de définir une ou plusieurs variables et de leur associer un espace mémoire afin de stocker une ou plusieurs informations. Syntaxe de déclaration : <type> <identificateur>; <type> <identificateur1>, <identificateur2>,, <identificateurn>; <type> : int entier (2 octets) short entier court (2 octets) long ou long int entier long (4 octets) char caractère (1 octet ) float réel (4 octets) double réel ou double précision (8 octets) <identificateur> : chaîne de caractères qui définissent le nom de la variable. Ce nom permet d y faire référence dans le code soit pour récupérer sa valeur soit pour la modifier. Il obéit aux contraintes suivantes : - Peut être composé des lettres (a-z, A-Z), des chiffres (0-9), du caractère souligné (_), - Ne peut pas commencer par un chiffre, - Le langage C différencie les majuscules et les minuscules. Exemples : Remarques : - Le type booléen est déclaré comme étant un entier où la valeur 0 correspond à la valeur «faux». Toute autre valeur est supposée «vrai», - La valeur d une variable du type caractère (char) doit être mise entre quottes ( ' ' ), Exemples : a, h, E. - Les variables du type numérique (int, long, float, double) peuvent être positives ou négatives. - Pour déclarer des variables positives, il suffit d ajouter «unsigned» au type concerné. char c ; float x ; int i, j ; unsigned int k ; /* k est un entier positif */ - 8 -

Chapitre 2 : Eléments de base II. LES OPERATEURS II.1. Opérateurs arithmétiques + Addition 5 + 8 - Soustraction 5-8 * Multiplication 5 * 8 / Division 5 / 8 % Reste de la division euclidienne 5 % 8 Remarques : - Le résultat de la division de deux entiers est un entier. Si le résultat n est pas entier la partie décimale est ignorée. - L opérateur modulo (%) ne peut pas être utilisé avec des nombres décimaux (float, double, ). II.2. Opérateurs relationnels = = Egal!= Différent > Strictement supérieur < Strictement inférieur >= Supérieur ou égal >= Inférieur ou égal II.3. Opérateurs logiques! Non && Et Ou II.4. Priorité des opérateurs Entre les opérateurs que nous venons de présenter, nous pouvons distinguer les classes de priorités suivantes : Priorité 1 (la plus forte): ( ) Priorité 2:!, ++, --, - Priorité 3: *, /, % Priorité 4: +, - Priorité 5: <, <=, >, >= Priorité 6: ==,!= - 9 -

Chapitre 2 : Eléments de base Priorité 7: && Priorité 8: Priorité 9 (la plus faible): =, +=, -=, *=, /=, %= - Dans chaque classe de priorité, les opérateurs ont la même priorité. Si nous avons une suite d'opérateurs binaires de la même classe, l'évaluation se fait en passant de la gauche vers la droite dans l'expression. - Pour les opérateurs unaires (!, ++, --) et pour les opérateurs d'affectation (=, +=, -=, *=, /=, %=), l'évaluation se fait de droite à gauche dans l'expression. III. LES CONSTANTES Une constante est une donnée dont la valeur reste fixe tout au long de l exécution d un programme. Syntaxe de déclaration : - Soit hors de la fonction principale main() : #define <nom-constante> <valeur> - Soit dans le corps de la fonction principale main() : const <type> <nom-constante> = <valeur> ; Les deux déclarations suivantes sont similaires : #define pi 3.14 const pi=3.14 ; Remarques : - Une constante ne peut jamais figurer à gauche d une affectation. - Voici quelques constantes caractères : \n Interligne \t Tabulation horizontale \v Tabulation verticale \f Saut de page \\ Back slash \ Cote \" Guillemets - 10 -

Chapitre 2 : Eléments de base IV. L INSTRUCTION D AFFECTATION IV.1. L instruction d affectation = L affectation est une opération qui permet d attribuer une valeur ou le résultat d une expression à une variable déjà déclarée. Syntaxe d affectation: <variable> = <expression> ; Une expression peut prendre deux formes différentes : <expression> : <opérande><opérateur><opérande> i = 5 ; c= ; j = 10 ; k = 10+5 ; k = k + 1 ; <opérateur><opérande> On peut initialiser les variables dès leurs déclarations. int k=0 ; char c= ; IV.2. Les opérateurs d incrémentation et de décrémentation x++ ; x=x+1 ; x--; x=x-1 ; IV.3. Simplification des opérateurs arithmétiques x += y ; x = x + y ; x -= y ; x = x - y ; x *= y ; x = x * y ; x /= y ; x = x / y ; x %= y ; x = x % y ; IV.4. Conversion de types Il est possible de convertir explicitement une valeur en un type quelconque en forçant la transformation (casting (conversion de type forcée)). Syntaxe : (<Type>) <Expression> on se propose de diviser deux variables du type entier. Pour avoir plus de précision, nous voulons avoir un résultat de type rationnel. Pour ce faire, nous convertissons l'une des deux - 11 -

Chapitre 2 : Eléments de base opérandes en float. Automatiquement, le langage C convertira l'autre opérande en float et effectuera une division rationnelle: char A = 3; int B = 4; float C; C = (float)a/b; La valeur de A est explicitement convertie en float. La valeur de B est automatiquement convertie en float. Le résultat de la division (type rationnel, valeur 0.75) est affecté à C. V. LES FONCTIONS STANDARD D ENTREES/SORTIES V.1. Bibliothèque adoptée A chaque utilisation d une fonction d entrée ou de sortie (lecture, écriture), il faut inclure le fichier «stdio.h» à l entête du programme. [3] Ceci se traduit par l instruction suivante : #include<stdio.h> «stdio.h» est le nom d un fichier de définitions, des fonctions et des constantes utilisées dans un programme pour des entrées ou des sorties standards. std standard i input o output h header (entête) V.2. Fonction getchar() Elle permet de renvoyer le code d un caractère saisi à partir de l organe standard d entrée à savoir le clavier. V.3. Fonction putchar() Elle permet d afficher le caractère mis en paramètre sur l organe standard de sortie à savoir l écran. char c ; c=getchar( ) ; char c ; c= ; putchar(c) ; - 12 -

Chapitre 2 : Eléments de base V.4. Fonction scanf() Elle permet d affecter la valeur saisie à partir du clavier à la variable mise en paramètre selon le type concerné. Syntaxe : scanf(<format>, <liste des adresses de variables>) ; <format> : chaîne de caractères délimitée par définissant les spécifications de conversion de types à appliquer au niveau de la lecture. Une spécification de conversion commence par le caractère % suivi d un type de conversion comme suit : %d ou %i entier relatif (int) %u entier naturel (unsigned) %ld long %c char %f float %lf V.5. Fonction printf double Elle permet d afficher sur l écran les variables mises en paramètre selon le type concerné. Syntaxe : printf(<format>, <liste d arguments>) ; <format> : chaîne de caractères délimitée par définissant les spécifications de conversion de types à appliquer au niveau de l affichage. char c,y ; float x ; int i ; scanf( %c, & c) ; scanf( %f %c %d,&x, &y, &i) ; /* saisir un caractère et le stocker dans la variable c */ int i ; char c ; i=5 ; c= ; printf( %c %d, c, i ) ; /* permet d afficher l entier 5 et le caractère a sur l écran */ - 13 -

Chapitre 2 : Eléments de base - La fonction printf() peut ne pas contenir des arguments. printf( bonjour ) ; - Lors de l affichage, on peut donner un format spécifique aux résultats. int d=203 ; float f=23.54 ; printf( %5d, d ) ; /* Ceci va réserver 5 cellules en cadrant l entier 203 à droite */ printf( %-5 d, d ) ; /* Cadrage à gauche */ printf( %2.1 f, f) ; /* L affichage se fait avec un seul chiffre après la virgule */ - La fin de ligne ainsi que la tabulation peuvent s énoncer comme suit : \n fin de ligne \t tabulation VI. EXERCICE RESOLU Enoncé : Ecrire un programme C permettant de saisir 2 entiers a et b et d afficher la somme, la soustraction, le produit, la moyenne, le quotient et le reste de la division euclidienne de ces deux entiers. Solution : #include<stdio.h> main() int a, b; scanf("%d%d",&a,&b) ; printf("%d + %d = %d\n", a, b, a+b) ; printf("%d - %d = %d\n", a, b, a-b) ; printf("%d * %d = %d\n", a, b, a*b) ; printf("%d % %d = %d\n", a, b, a%b) ; printf("%d / %d = %d\n", a, b, a/b) ; - 14 -

CHAPITRE : 3 LES STRUCTURES DE CONTROLE CONDITIONNELLES Objectifs spécifiques -Manipuler les structures alternatives qui permettent d évaluer une condition, -Choisir la structure adéquate en fonction du traitement à effectuer, PROGRAMMATION I -Ecrire des programmes faisant appel aux différentes structures conditionnelles. Plan du chapitre I. Définition II. L instruction conditionnelle «if» II. L instruction de sélection multiple «switch» IV. Exercice résolu Volume horaire 2 séances de Cours Intégré

Chapitre 3 : Les structures de contrôle conditionnelles I. DEFINITION L instruction conditionnelle permet d évaluer une condition et d exécuter en conséquence un bloc d instructions. II. L INSTRUCTION CONDITIONNELLE «IF» Syntaxe : II.1 L instruction conditionnelle «if» simple if (<condition>) <bloc d instructions > <condition> : expression arithmétique ou logique. - La condition est évaluée. Le résultat est une valeur numérique, - Si le résultat est égal à 1, la condition est interprétée à vrai et par conséquent le bloc d instructions associé est exécuté, - Si le résultat est égal à 0, la condition est interprétée à faux et par conséquent on ne tient pas compte du bloc d instructions. Ecrire un programme qui en testant sur la moyenne permet de vérifier si l étudiant a réussi son examen. Syntaxe : #include<stdio.h> main() float moyenne ; scanf ( %f, &moyenne) ; if(moyenne >= 10) printf( l etudiant a réussi son examen ) ; II.2. L instruction conditionnelle «if else» if (<condition>) <bloc d instructions 1> else <bloc d instructions 2> <condition> : expression arithmétique ou logique. - La condition est évaluée. Le résultat est une valeur numérique - 16 -

Chapitre 3 : Les structures de contrôle conditionnelles - Si le résultat est égal à 1, la condition est interprétée à vrai et par conséquent le bloc d instructions 1 est exécuté. - Si le résultat est égal à 0, la condition est interprétée à faux et par conséquent c est le bloc d instructions 2 qui est exécuté. Ecrire un programme en C qui permet de lire à partir du clavier deux entiers et d afficher l entier le plus petit. NB : - La présence de «else» dans une instruction conditionnelle est facultative. #include<stdio.h> /* bibliothèque standard d entrée/sortie */ main() /* fonction principale */ int i, j; /* déclaration de deux entiers */ printf( Saisissez deux entiers : ) ; scanf( %d %d,&i, &j); /* Saisie de 2 entiers */ if(i < j /* Affichage de l entier1 s il est le plus petit */ printf( %d est plus petit que %d, i, j); else /* Affichage de l entier2 s il est le plus petit */ printf( %d est plus petit que %d, j, i); if ( condition ) <bloc d instructions> - Si un bloc d instructions associé à «if» ou à «else» se réduit à une seule instruction, les accolades peuvent être évitées. If ( condition ) <instruction> ; else <instruction> ; - Le bloc d instructions suivant : If ( a!= 0 ) ; else b=0 ; est équivalent à : - 17 -