Initiation au langage C - Internet au Service de...

35
Introduction L’environnement et les biblioth` eques Notions de base Types de base, Op´ erateurs et Expressions Lire et ´ Ecrire des donn´ ees Les structures de contrˆ ole Initiation au langage C AbdelAli SAIDI Universit Mohammed V Sources: http://www.fsr.ac.ma/cours/info.html http://www.ltam.lu/ AbdelAli SAIDI epartement Informatique

Transcript of Initiation au langage C - Internet au Service de...

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Initiation au langage C

AbdelAli SAIDI

Universit Mohammed V

Sources: http://www.fsr.ac.ma/cours/info.htmlhttp://www.ltam.lu/

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Introduction

Avantages

universel

il n’est pas oriente vers un domaine d’applications speciales

compact

il est base sur un noyau de fonctions et d’operateurs limites

moderne

c’est un langage structure, declaratif et recursif

pres de la machine

il offre des operateurs qui sont tres proches de ceux du langagemachine

rapide

il est possible de developper des programmes efficients et rapides

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Introduction

Avantages

independant de la machine

la machine doit juste etre munie d’un compilateur C

portable

utiliser le meme programme sur d’autres systemes rien qu’en lerecompilant

extensible

il est anime par des bibliotheques de fonctions privees ou livrees parune maison de developpement

Desavantages

efficience et comprehensibilite

portabilite et bibliotheques de fonctions

discipline de programmation

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

EnvironnementLes bibliothequesPhases de la compilation

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

EnvironnementLes bibliothequesPhases de la compilation

Environnement

Definition

C’est l’element qui permet d’exploiter les capacites de l’ordinateur et depreparer ce dernier a recevoir des instructions en langage C. Il procure:

une serie de bibliotheques

l’element qui sert de compilateur

et un eventuelle editeur de texte personnalise et adapte pour laprogrammation en C

Exemple

Borland C++

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

EnvironnementLes bibliothequesPhases de la compilation

Les bibliotheques

Definition et utilisation

Ce sont des fichiers .H contenant des fonctions predefinies.On les insere au debut de notre code grace au mot cle ”#include”

par exemple : #include <stdio.h>

Identification des fichiers

Lors de la programmation C, nous travaillons les fichiers :

.C fichiers source

.OBJ fichiers compiles (versions objet)

.EXE fichiers compiles et lies (versions executables)

.LIB bibliotheques de fonctions precompilees

.H fichiers en-tete (header files)

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

EnvironnementLes bibliothequesPhases de la compilation

Illustration

Phases de la compilation:

Figure: Phases de la compilation

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Un premier programmeLes composantes d’un programme en C

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Un premier programmeLes composantes d’un programme en C

Un premier programme

hello, world

#include <stdio.h>int main()// Notre premier programme en C{printf(”hello, world\n”);return 0;}

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Un premier programmeLes composantes d’un programme en C

Les composantes d’un programme en C

les fonctions

la fonction main()

les variables

les identificateurs

les commentaires

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Un premier programmeLes composantes d’un programme en C

Les composantes d’un programme en C

Les fonctions

Syntaxe:<TypeRenvoi> <NomFonction>(<TypePara1 Para1>,<TypePara2 Para2>,...) {<DeclarationLocale>;Intructions;... ;

}

TypeRenvoi: Type du resultat que la fonction renvoie.

NomFonction: Le nom de la fonction.

TypePara Para: Le type et le nom des parametres de la fonction.

{}: Les delimiteurs des instructions que la fonction execute.

<DeclarationLocale>: Ces variables seront connues seulement au sein decette fonction.

Intructions: Liste des instructions a executer.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Un premier programmeLes composantes d’un programme en C

Les composantes d’un programme en C

La fonction main()

Chaque projet C doit contenir forcement une fonction main().

C’est la fonction principale.

Executer un programme revient a faire un appel a cette fonction.

Les variables

Ce sont ces entites ou on met les valeurs qu’on voudrait utiliser dansun programme.

On les designe par les identificateurs.

Toute variable doit etre declaree avant son utilisation au cours desinstructions.

La declaration revient a la specification du type et de l’identificateurde la variable.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Un premier programmeLes composantes d’un programme en C

Les composantes d’un programme en C

Les identificateurs

Un identificateur est le nom qu’on donne a une variable.

Constitues d’une suite de lettres, de chiffres et le underscore ( );

Le premier caractere doit etre une lettre.

Quelques identificateurs reserves (mots cles): break, case, char,const, continue, default, do, double, else, float, for, if, int, ...

En C, il y a une distinction entre les majuscules et les minuscules.

Les commentaires

Ils sont utilises pour rendre un programme plus comprehensible.

A la compilation, ils sont ignores.

Un commentaire sur une ligne commence par //.

Sur plusieurs lignes commence par /* et se termine par */.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Les types simples

Types

Un type definit l’ensemble des valeurs que peut prendre une variable, lenombre d’octets a reserver en memoire et les operations que l’onappliquer la dessus.

Les types entiers:

Definition Val min Val max Nbre d’octetsChar -128 127 1

Short int -32768 32767 2

Int -32768 32767 2

Short int -2147483648 2147483647 4

Les types rationnels:

Definition Domaine (approximatif) Nbre d’octetsFloat ±1, 110−38 a ±3, 41038 4

Double ±2, 210−308 a ±1, 710308 8

Long float ±3, 410−4932 a ±1, 1104932 10

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Declaration et Initialisation des variables

Declaration

<Type> <NomVar1>,<NomVar2>,...,<NomVarN>;Exemple: int MAX;char c;

Initialisation des variables

MAX = 1023;

c = ’a’;

il est possible d’initialiser les variables lors de leur creation

int MAX = 1023;

char c = ’a’;

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Les operateurs standard

L’affectation

<NomVariable> = <Expression>;

L’affectation avec des valeurs constantes

var = 141;

L’affectation avec des valeurs de variables

var1 = var2;

L’affectation avec des valeurs d’expressions

MOYENNE = (A+B)/2;

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Les operateurs connus

Operateurs arithmetiques

+ Addition- Soustraction* Multiplication/ Division% Modulo

Operateurs logiques

&& et logique‖ ou logique! negation logique

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Les operateurs connus

Operateurs de comparaison

== egal a!= ou different de<, <=, >, >= plus petit que, ...

Operations logiques

Les resultats des operations de comparaison et des operateurs logiquessont du type int:

1 correspond a la valeur booleenne vrai

0 correspond a la valeur booleenne faux

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

Les operateurs particuliers de C

Operateur d’affectation

Permet d’offrir une valeur a une variable

expr1 = (expr2) op (expr3)

Si expr1=expr2=var, on peut utiliser:

expr1 op= (expr3)

Operations d’incrementation et de decrementation

Un type particulier de l’affectation ou on ajoute une constance a unevariableLes affectations les plus frequentes sont du type:

i = i + 1 et i = i − 1

i + + et i −−

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Ecriture de donneesEcriture et lecture d’un caractere

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Ecriture de donneesEcriture et lecture d’un caractere

Lire et Ecrire des donnees

La bibliotheque standard <stdio.h> contient un ensemble de fonctionsqui assurent la communication de la machine avec le monde exterieur:

printf() ecriture formatee de donnees

scanf() lecture formatee de donnees

putchar ecriture d’un caractere

getchar()lecture d’un caractere

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Ecriture de donneesEcriture et lecture d’un caractere

printf(), scanf()

Ecriture formatee en C

La fonction printf est utilisee pour transferer du texte, des valeurs devariables ou des resultats d’expressions vers le fichier de sortie standardstdout (par defaut l’ecran).

printf(” < format > ”, < Expr1 >,< Expr2 >, ...)

printf(”Le resultat de %d fois %d est %d n”, A, B, A*B);

Lecture formatee en C

La fonction scanf est la fonction symetrique a printf; elle nous offrepratiquement les memes conversions que printf, mais en sens inverse.

scanf(” < format > ”, < addvar1 >,< addvar2 >, ...)

scanf(”%d %d”, &A, &B);

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Ecriture de donneesEcriture et lecture d’un caractere

putchar(), getchar()

Ecriture d’un caractere

Les commandes ci-dessous transferent le caractere ’a’ vers le fichierstandard de sortie stdout

putchar(’a’);

printf(”%c”,a);

Lecture d’un caractere

Les commandes ci-dessous lisent le prochain caractere du fichier d’entreestandard stdin

C = getchar();

scanf(”%c”,&c);

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

Plan

1 Introduction2 L’environnement et les bibliotheques3 Notions de base

Un premier programmeLes composantes d’un programme en C

4 Types de base, Operateurs et ExpressionsLes types simplesLes operateurs standardLes operateurs connusLes operateurs particuliers de C

5 Lire et Ecrire des donneesEcriture de donnees

6 Les structures de controleLes structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

Les structures de controle

Definition

Une structure de controle permet d’influencer le fonctionnementnormale d’un programme.

On en distingue:

Les structures de choixLes structures repetitives

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

Les structures de controle

Roles

Les structures de choix permettent de choisir les instructions aexecuter, dans quels cas et ordre.

On en distingue:

Le branchement conditionnel: if ... elseLe branchement multiple: switch

Les structures repetitives (boucles) permettent de repeter un blocd’instructions un nombre donnee de fois ou bien tant qu’unecondition est vraie.

En C, on en distingue:

Le branchement conditionnel: while et do ... whileLe branchement multiple: for

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

Le branchement conditionnel

Format

if(expression){bloc-instructions1;}else{bloc-instructions2; }

Ou:

expression: c’est une expression quelconque. Apres son evaluation, sielle est vrai ce sont les instructions1 qui seront executes. Sinon, cesont les instructions2 qui le seront.

Les instructions doivent etre delimitees par des accolades.

On peut oter les accolades d’un bloc si ce dernier ne contient qu’uneseule instruction.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

Le branchement multiple

Format et Fonctionnement:

switch(expression){case constante1: instructions1;case constante2: instructions2;... default: instructions1;}

Evaluation de l’expression.

Execution des instructions du case qui contient la valeur de l’expression.

Sinon, les instructions du default seront executees.

Remarques:

Quand une valeur de l’expression se trouve dans un cas, alors, tousles instructions de tous les cas qui les suivent seront executees aussi.

Pour eviter cela, il faut utilise le mot cle break a la fin de chaquebloc d’instructions.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

while et do ... while

Syntaxe:while(condition) ******************* do{ {instructions; instructions;} }

while(condition)

On sent la difference entre ces deux syntaxe pour la premiereexecution du bloc d’instructions

Avec while il est obligatoire d’evaluer la condition avant de passer aubloc.Avec do ... while, le bloc subit une premiere execution avantd’evaluer la condition.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

while et do ... while

Exemples:

//Affichage des entiers de 1 a 9...i=1;while(i < 10){printf(”%d\t”,i);i++;}

//Affichage des entiers de 1 a 10...i=1;do{printf(”%d\t”,i);i++;}while(i < 10)

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

for

Syntaxe

for(expression1;expression2;expression){instructions;...}

expression1: on y effectue les initialisations necessaires avant de rentrerdans la boucle

expression2: on y met la condition qui sera evaluee avant chaquereiteration du corps de la boucle

expression3: elle est executee a la fin du corps de la boucle

Remarques:

expression1 et expression3 peuvent contenir plusieurs initialisationsseparees par des virgules, comme elle peuvent etre vides.

sans expression2, for(expression1;;expression3) donnera une boucle infinie.

AbdelAli SAIDI Departement Informatique

IntroductionL’environnement et les bibliotheques

Notions de baseTypes de base, Operateurs et Expressions

Lire et Ecrire des donneesLes structures de controle

Les structures de choixLes structures repetitives

for et while

Les deux ecritures suivantes sont equivalentes:

for(expression1;expression2;expression3){instructions;}

while(expression2)expression1;{instructions;expression3 }

AbdelAli SAIDI Departement Informatique