Vous êtes sur la page 1sur 118

2022 - 2023

Langage C & C++


Les fondamentaux
Support CM B1-IT

James ADEOLA
Langage de Programmation
● Langage ?
○ Le langage est un mode de communication
○ Utilisé pour partager des idées, des opinions les uns
avec les autres.
○ Par exemple, si nous voulons enseigner à quelqu’un,
nous avons besoin d’une langue compréhensible par les
deux communicateurs.
Langage de Programmation
● Langage de Programmation ?
○ Un langage de programmation est un langage
informatique
○ utilisé par les programmeurs (développeurs) pour
communiquer avec les ordinateurs.
○ Il s’agit d’un ensemble d’instructions écrites dans
n’importe quel langage spécifique (C, C ++, Java, Python)
pour effectuer une tâche spécifique.
Introduction à la programmation C

● C est un puissant langage de programmation à usage général qui a


été initialement développé pour réécrire le système d’exploitation
UNIX, les navigateurs Web comme Chrome et Firefox de Google, les
systèmes de gestion de bases de données comme MySQL et autres.

● Ce cours est une introduction à la programmation C et cela aussi


de la manière la plus interactive possible.
Premier programme C

1 Éditeur de texte et 2 Installer


Compilateur codeBlocks

3 Exécuter un
premier programme
Premier programme C
● Pour Exécuter un programme en C l’on a besoin :
○ d’Un compilateur
Traite les instructions d’un programme pour les traduire
en langage machine.
○ d’Un éditeur de texte
logiciel destiné à la création et l'édition de fichiers textes.
● Dans ce cours, nous utiliserons le logiciel CodeBlocks. Il
contient un éditeur et un compilateur
Premier programme C
● Installer Code Blocks:
○ Téléchargez le logiciel ici
○ Choisissez CodeBlocs avec mingw
○ Exécutez le programe et suivez les
instructions
Premier programme C

1 2
Premier programme C

3 4
Premier programme C

5 6
Premier programme C

7 8
Premier programme C
● Exécuter notre premier programme
Premier programme C
● Le caractère '\n' dans la chaîne de caractères "Hello,
world\n" représente le caractère de fin de ligne. Il permet
d'insérer une nouvelle ligne (new line).
● En langage C, la « brique » qui permet de créer un
programme est la fonction. Un programme écrit en C est
donc constitué d'une ou plusieurs fonctions, une fonction
étant généralement composée d'une ou plusieurs
instructions,
● chaque instruction élémentaire devant se terminer par
un point-virgule.
Premier programme C
● printf est une fonction qui permet d'afficher du texte sur
la sortie standard, par défaut l'écran. main est également
une fonction, c'est celle qui sera automatiquement
appelée à l'exécution. On l'appelle le point d'entrée du
programme ou encore la fonction principale. Ici, elle est
seulement composée de deux instructions :

1. printf("Hello, world\n");
2. return 0;
Premier programme C
● Selon la norme officielle du langage C, main est une
fonction qui doit retourner un entier (int).

● Chez de nombreux systèmes (dont Windows et UNIX),


cet entier est appelé le code d'erreur de l'application.
En langage C, bien que cela ne soit pas forcément le
cas pour le système d'exploitation, on retourne 0 pour
dire que tout s'est bien passé.
Premier programme C
● Le langage C impose (à quelques exceptions près que nous
verrons plus bas) qu'une fonction doit avoir été déclarée
avant de pouvoir être utilisée (nous verrons plus tard ce
que c'est qu'une déclaration).
● Dans notre exemple, puisque nous utilisons la fonction
printf, nous devons tout d'abord la déclarer. Le moyen le
plus simple de le faire est d'inclure le fichier stdio.h, qui
contient entre autres la déclaration de cette fonction, à
l'aide de la directive include :
Les commentaires en C
● On peut insérer des commentaires n'importe où dans du code C à l'aide
des délimiteurs /* et */. Les commentaires permettent de rendre les
programmes plus lisibles. Voici un exemple d'utilisation de commentaires

#include <stdio.h>
int main()
{
/* Ce programme affiche "Hello, world" */
printf("Hello, world\n");
return 0;
}
Mots Clés et Identificateurs en C
1. Jeu de caractères
Un jeu de caractères est un ensemble d’alphabets, de lettres et de caractères
spéciaux valides en langage C.

Alphabets

Uppercase: A B C ............ X Y Z
Lowercase: a b c ............ x y z
C accepte les alphabets minuscules et majuscules comme variables et
fonctions.
Mots Clés et Identificateurs en C
Caractères spéciaux
Mots Clés et Identificateurs en C

1. Jeu de caractères
Espace blanc Caractères

Espace vide, nouvelle ligne, tabulation horizontale,

retour chariot et form feed.


Mots Clés et Identificateurs en C
2. Séquences d’échappement
Parfois, il est nécessaire d’utiliser des caractères qui ne peuvent pas être
tapés ou qui ont une signification particulière en programmation C. Par
exemple : nouvelle ligne (entrée), tabulation, point d’interrogation, etc.

Pour utiliser ces caractères, des séquences d’échappement sont utilisées.


Voir fichier caractere_echapement.pdf
Mots Clés et Identificateurs en C
2. Mots-clés
Les mots-clés sont des mots prédéfinis et réservés utilisés en
programmation qui ont des significations spéciales pour le compilateur.
Les mots-clés font partie de la syntaxe et ne peuvent pas être utilisés
comme identificateur. Par exemple:

int money;
Ici, int est un mot-clé qui indique que money est une variable de type
int (entier).
Mots Clés et Identificateurs en C

2. Mots-clés
Comme C est un langage sensible à la
casse, tous les mots-clés doivent être
écrits en minuscules. Voici une liste de
tous les mots-clés autorisés dans ANSI C.
Mots Clés et Identificateurs en C
2. Mots-clés
Mots Clés et Identificateurs en C
3. Identificateurs
L’identifiant fait référence au nom donné à des entités telles
que des variables, des fonctions, des structures, etc. pour
donner un nom unique à une entité afin de l’identifier lors de
l’exécution du programme. Par exemple:

int money;
double accountBalance;
Mots Clés et Identificateurs en C
3. Identificateurs
L’identifiant fait référence au nom donné à des entités telles
que des variables, des fonctions, des structures, etc. pour
donner un nom unique à une entité afin de l’identifier lors de
l’exécution du programme. Par exemple:

int money;
double accountBalance;
!!! Les noms d’identificateurs doivent être différents des
mots-clés.
Les Variables
● En programmation, une variable est un conteneur (zone
de stockage) pour contenir des données.

● Pour indiquer la zone de stockage, chaque variable doit
recevoir un nom unique (identifiant). Les noms de
variables ne sont que la représentation symbolique d’un
emplacement mémoire
Les Variables
Par exemple:

int playerScore = 95;

La valeur d’une variable peut être modifiée, d’où le nom de


variable.

char ch = 'a';
// some code
ch = 'l';
Les Variables
Règles de dénomination d’une variable
1. Un nom de variable ne peut contenir que des lettres (majuscules
et minuscules), des chiffres et un trait de soulignement.
2. La première lettre d’une variable doit être une lettre ou un trait
de soulignement.
3. Il n’y a pas de règle sur la longueur d’un nom de variable
(identificateur). Toutefois, vous pouvez rencontrer des problèmes
dans certains compilateurs si le nom de la variable est plus long
que 31 caractères.
Les Variables
C est un langage fortement typé. Cela signifie que
le type de variable ne peut pas être modifié une fois
qu’il est déclaré. Par exemple:

int number = 5; // integer variable


number = 5.5; // error
double number; // erro r
Les Constantes
Si vous souhaitez définir une variable dont la valeur ne peut pas être
modifiée, vous pouvez utiliser le mot-clé const. Cela créera une
constante. Par exemple,

const double PI = 3.14;


PI = 2.9; //Error
Types de données C

En programmation C, les types de données sont des


déclarations pour les variables. Cela détermine le type
et la taille des données associées aux variables. Par
exemple

int myVar;

Ici, c'est myVar une variable de type int (entier). La taille de


int est de 4 octets.
Types de données C

1. Types de base
Vous trouverez dans le fichier type_donnee_c.pdf un
tableau contenant les types couramment utilisés en
programmation C pour un accès rapide.
Types de données C

2. Int
Les entiers sont des nombres entiers qui peuvent avoir à la fois
des valeurs nulles, positives et négatives, mais pas de valeurs
décimales. Par exemple 0-510

Nous pouvons utiliser pour déclarer une variable entière.int

int id;
Ici, id est une variable de type entier.
Types de données C

2. Int
Vous pouvez déclarer plusieurs variables à la fois en
programmation C. Par exemple

int id, age;

La taille de int est généralement de 4 octets (32 bits) 232.


Et, il peut prendre des états distincts de 2147483648 à
-2147483647
Types de données C

3. float et double
float et double sont utilisés pour contenir des nombres réels.

float salary;
double price;
En C, les nombres à virgule flottante peuvent également être
représentés en exponentielle. Par exemple
float normalizationFactor = 22.442e2;
Types de données C

3. float et double

Quelle est la différence entre float et double ?

La taille de float (type de données flottant simple

précision) est de 4 octets. Et la taille de double (type de

données flottant double précision) est de 8 octets.


Types de données C

4. Char

Le mot-clé est utilisé pour déclarer des variables de


type caractère. Par exemple

char test = 'h';

La taille de la variable de caractère est de 1 octet.


Types de données C

5. Void

void est un type incomplet. Cela signifie « rien » ou « pas de type

». Vous pouvez penser que le void est absent.

Par exemple, si une fonction ne renvoie rien, son type de retour

doit être void.

Notez que vous ne pouvez pas créer de variables de type void .


Types de données C

6. short et long
Si vous devez utiliser un grand nombre, vous pouvez utiliser un
spécificateur de type long. Voici comment procéder :
long a;
long long b;
long double c;
Ici variables a et b peut stocker des valeurs entières. Et c, peut

stocker un nombre à virgule flottante.


Types de données C

6. short et long
Si vous devez utiliser un grand nombre, vous pouvez utiliser un
spécificateur de type long. Voici comment procéder :
long a;
long long b;
long double c;
Ici variables a et b peut stocker des valeurs entières. Et c, peut

stocker un nombre à virgule flottante.


Types de données C

6. short et long

Si vous êtes sûr, seul un petit entier (plage

[−32,767, +32,767]) sera utilisé, vous pouvez

utiliser short.

short d;
Types de données C

7. signed et unsigned
En C, signed et unsigned sont des modificateurs de type. Vous
pouvez modifier le stockage des données d’un type de données
en les utilisant :
● signed - permet de stocker des nombres positifs et négatifs
● unsigned - permet de stocker uniquement les nombres
positifs
Types de données C

7. signed et unsigned
Par exemple

// valid codes
unsigned int x = 35;
int y = -35; // signed int
int z = 36; // signed int
// invalid code: unsigned int cannot hold negative integers
unsigned int num = -35;
Types de données C

7. signed et unsigned

Ici, les variables x et num ne peuvent contenir que des valeurs


nulles et positives car nous avons utilisé le modificateur
unsigned.

Si l’on considère que la taille de int est de 4 octets, la variable


y peut contenir des valeurs de 231 à -231-1, tandis que la variable
x peut contenir des valeurs de 0 à 232-1.

.
Types de données C

7. signed et unsigned

Ici, les variables x et num ne peuvent contenir que des valeurs


nulles et positives car nous avons utilisé le modificateur
unsigned.

Si l’on considère que la taille de int est de 4 octets, la variable


y peut contenir des valeurs de 231 à -231-1, tandis que la variable
x peut contenir des valeurs de 0 à 232-1.

.
C Input Output (I/O)

1. Output
En programmation C, printf() est l’une des

principales fonctions de sortie. La fonction

renvoie la sortie formatée à l’écran. Par exemple

printf("C Programming");
C Input Output (I/O)

1. Output
En programmation C, printf() est l’une des

principales fonctions de sortie. La fonction

renvoie la sortie formatée à l’écran. Par exemple

printf("C Programming");
C Input Output (I/O)

1. Output
#include <stdio.h>
int main()
{
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}
C Input Output (I/O)

1. Output
#include <stdio.h>
int main()
{
float number1 = 13.5;
double number2 = 12.4;
printf("number1 = %f\n", number1);
printf("number2 = %lf", number2);
return 0;
}
C Input Output (I/O)

1. Output
#include <stdio.h>
int main()
{
char chr = 'a';
printf("character = %c", chr);
return 0;
}
C Input Output (I/O)

2. Input
En programmation C, scanf() est l’une des fonctions

couramment utilisées pour prendre l’entrée de

l’utilisateur. La fonction scanf() lit les entrées formatées

à partir de l’entrée standard telle que les claviers.


C Input Output (I/O)

2. Input
Exemple 5 : entrée/sortie d’entiers
#include <stdio.h>
int main()
{
int testInteger;
printf("Enter an integer: ");
scanf("%d", &testInteger);
printf("Number = %d",testInteger);
return 0;
}
C Input Output (I/O)

2. Valeurs multiples d’E/S


Voici comment vous pouvez prendre plusieurs entrées de l’utilisateur
et les afficher.

int a;
float b;
printf("Enter integer and then a float: ");
// Taking multiple inputs
scanf("%d%f", &a, &b);
printf("You entered %d and %f", a, b);
C Opérateurs

1. Opérateur arithmétiques
Un opérateur arithmétique effectue des
opérations mathématiques telles que l’addition, la
soustraction, la multiplication, la division, etc. sur
des valeurs numériques (constantes et variables).
C Opérateurs
C Opérateurs

1. Opérateur arithmétiques

Exemple 1 : Opérateurs arithmétiques


int a = 9,b = 4, c;

c = a+b;

printf("a+b = %d \n",c);

c = a-b;

printf("a-b = %d \n",c);
C Opérateurs

1. Opérateur arithmétiques

Exemple 1 : Opérateurs arithmétiques


c = a*b;
printf("a*b = %d \n",c);
c = a/b;
printf("a/b = %d \n",c);
c = a%b;
printf("Remainder when a divided by b = %d \n",c);
C Opérateurs

2. Opérateur d’affectation

Un opérateur d’affectation est utilisé pour


affecter une valeur à une variable. L’opérateur
d’affectation le plus courant est =
C Opérateurs
2. Opérateur d’affectation
C Opérateurs
2. Opérateur d’affectation

int a = 5, c;

c = a; // c is 5

printf("c = %d\n", c);

c += a; // c is 10

printf("c = %d\n", c);

c -= a; // c is 5

printf("c = %d\n", c);


C Opérateurs
2. Opérateur d’affectation

c *= a; // c is 25

printf("c = %d\n", c);


c /= a; // c is 5

printf("c = %d\n", c);

c %= a; // c = 0

printf("c = %d\n", c);


C Opérateurs
3. Opérateurs relationnels

Un opérateur relationnel vérifie la relation entre deux opérandes. Si la


relation est vraie, elle renvoie 1 ; Si la relation est fausse, elle renvoie la
valeur 0.

Les opérateurs relationnels sont utilisés dans la prise de décision et les


boucles.
C Opérateurs

3. Opérateurs relationnels
C Opérateurs
3. Opérateurs relationnels
int a = 5, b = 5, c = 10;

printf("%d == %d is %d \n", a, b, a == b);

printf("%d == %d is %d \n", a, c, a == c);

printf("%d > %d is %d \n", a, b, a > b);

printf("%d > %d is %d \n", a, c, a > c);

printf("%d < %d is %d \n", a, b, a < b);

printf("%d < %d is %d \n", a, c, a < c);


C Opérateurs
3. Opérateurs relationnels
printf("%d != %d is %d \n", a, b, a != b);

printf("%d != %d is %d \n", a, c, a != c);

printf("%d >= %d is %d \n", a, b, a >= b);

printf("%d >= %d is %d \n", a, c, a >= c);

printf("%d <= %d is %d \n", a, b, a <= b);

printf("%d <= %d is %d \n", a, c, a <= c);


C Opérateurs
4. Opérateurs logiques

Une expression contenant un opérateur logique renvoie 0 ou 1 selon que


l’expression donne la valeur true ou false. Les opérateurs logiques sont
couramment utilisés dans la prise de décision en programmation C.
C Opérateurs
4. Opérateurs logiques
C Opérateurs
4. Opérateurs logiques
int a = 5, b = 5, c = 10, result;

result = (a == b) && (c > b);

printf("(a == b) && (c > b) is %d \n", result);

result = (a == b) && (c < b);

printf("(a == b) && (c < b) is %d \n", result);

result = (a == b) || (c < b);

printf("(a == b) || (c < b) is %d \n", result);


C Opérateurs
4. Opérateurs logiques
result = (a != b) || (c < b);

printf("(a != b) || (c < b) is %d \n", result);

result = !(a != b);

printf("!(a != b) is %d \n", result);

result = !(a == b);

printf("!(a == b) is %d \n", result);


C if...else
1. Expression if

La syntaxe de l’instruction if en programmation C est la suivante:if


(test expression)

// code

}
C if...else
1. a. Comment l’instruction if fonctionne?

L’instruction if évalue l’expression de test à l’intérieur de la parenthèse.


C if...else
1. b. Exemple
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// true if number is less than 0
if (number < 0) {
printf("You entered %d.\n", number);
}
printf("The if statement is easy.");
C if...else
2. Expression if... else

L’instruction if…else peut comporter un bloc facultatif. La syntaxe de


l’instruction if..else est la suivante :

if (test expression) {

// run code if test expression is true


}
else {
// run code if test expression is false
}
C if...else
2. a Fonctionnement de if... else
C if...else
3. Exercice
● Écrire un programme en C qui demande à l’utilisateur de rentrer son âge et
d’afficher s' il est majeur ou mineur.
● Ecrire un programme permettant de savoir si un nombre est paire
● Ecrire un programme déterminant si un nombre est premier (home)
Boucles en C
En programmation, une boucle est utilisée pour répéter un bloc de code
jusqu’à ce que la condition spécifiée soit remplie.

La programmation C a trois types de boucles:

● for
● while
● do while
Boucles en C
En programmation, une boucle est utilisée pour répéter un bloc de code
jusqu’à ce que la condition spécifiée soit remplie.

La programmation C a trois types de boucles:

● for
● while
● do while
Boucles en C

1. boucle for
La syntaxe de la boucle for est la suivante : f

for (initializationStatement; testExpression; updateStatement)

// statements inside the body of loop

}
Boucles en C

1. a. Fonctionnement de for
● L’instruction d’initialisation n’est exécutée qu’une seule fois.
● Ensuite, l’expression de test est évaluée. Si l’expression de test est
évaluée à false, la boucle for est terminée.
● Toutefois, si l’expression de test est évaluée à true, les instructions
à l’intérieur du corps de la boucle for sont exécutées et
l’expression de mise à jour est mise à jour.
● Encore une fois, l’expression du test est évaluée.
Boucles en C
1. a. Fonctionnement de for
Boucles en C

1. b. Exemple
int i;
for (i = 1; i < 11; ++i)
{
printf("%d ", i);
}
Boucles en C

1. b. Exemple
Programme qui affiche la somme des n premiers
nombres naturels.
Boucles en C

2. Boucle while et do…while


a while
La syntaxe de la boucle while est la suivante
:while (testExpression) {

// the body of the loop


}
Boucles en C

2. Boucle while et do…while


a. while
i. Fonctionnement de while
● La boucle while évalue testExpression l’intérieur des
parenthèses ().
● Si la valeur est true, les instructions à l’intérieur du corps de la
boucle while sont exécutées. Ensuite, testExpression est
évalué à nouveau.
Boucles en C

2. Boucle while et do…while


a. while
i. Fonctionnement de while
● Le processus se poursuit jusqu’à ce qu’il soit évalué à false.
● Si la valeur testExpression est false, la boucle se termine.
Boucles en C

2. Boucle while et do…while


ii. organigramme
Boucles en C

2. Boucle while et do…while


iii. Exemple
int i = 1;

while (i <= 5) {

printf("%d\n", i);

++i;

}
Boucles en C

2. Boucle while et do…while


b. do…while
La boucle do..while est similaire à la boucle
while avec une différence importante. Le corps
de la boucle do...while est exécuté au moins
une fois. Ce n’est qu’alors que l’expression de
test est évaluée.
Boucles en C

2. Boucle while et do…while


b. do…while
La syntaxe de la boucle do…while est la suivante :

do {

// the body of the loop

} while (testExpression);
Boucles en C

2. Boucle while et do…while


b i- Fonctionnement
● Le corps de la boucle do...while est exécuté une fois. Ce n’est
qu’alors que le testExpression est évalué.
● Si testExpression est vrai, le corps de la boucle est exécuté à
nouveau et testExpression est évalué une fois de plus.
● Ce processus se poursuit jusqu’à ce qu’il devienne false.
● Si la valeur testExpression est false, la boucle se termine.
Boucles en C

2. Boucle while et do…while


b i- Fonctionnement
Boucles en C

b iii- Exemple
double number, sum = 0;
// the body of the loop is executed at least once
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
Les fonctions en C

1. Introduction
Comme nous l'avons déjà dit plus haut, les fonctions sont les briques
avec lesquelles on construit un programme en langage C. La vie d'un
programmeur C se résume donc à créer puis utiliser des fonctions.

Nous allons donc maintenant voir de plus près ce que c'est qu'une
fonction.
Les fonctions en C
2. Exemple avec une fonction "mathématique"
Définissons une fonction,

f(x) = x² - 3
Cela signifie que f est une fonction qui reçoit en argument un réel x et qui
retourne un réel : x² - 3.

Écrivons une fonction C que nous appellerons f, qui reçoit en argument un


entier x et qui retourne également un entier : x2 - 3.
Les fonctions en C
2. Exemple avec une fonction "mathématique"

int f(int x)
{
return x*x - 3;
}

Le code ci-dessus constitue ce qu'on appelle la définition ou encore


l'implémentation de la fonction f. Voyons maintenant un exemple
d'utilisation de cette fonction.
Les fonctions en C
2. Exemple avec une fonction "mathématique"
#include <stdio.h>

int f(int); /* declaration de la fonction f */

int main()
{
int x = 4;
printf( "f(%d) = %d \n", x, f(x));
return 0;
}

int f(int x)
{
return x*x - 3;
}
Les fonctions en C
2. Exemple avec une fonction "mathématique"

à la ligne 3 :

int f(int);

tient lieu de déclaration de la fonction f. Elle indique que "f


est une fonction qui nécessite en argument un int (int f(int)) et
qui retourne un int (int f(int))".
Les fonctions en C
2. Exemple avec une fonction "mathématique"

● Le %d dans la chaîne passée en premier argument de printf


est ce qu'on appelle un spécificateur de format.
● Il renseigne sur la manière dont nous souhaitons afficher le
texte. Ici, on veut afficher les nombres 4 et 13 (f(4)).
● Nous disons donc à printf d'utiliser le format « nombre
entier » (%d) pour les afficher. Vous pouvez consulter
d’autres spécificateur de format ici.
Les tableaux en C
Les tableaux en C
A. Tableaux Unidimensionnel
1. Introduction
Un tableau est une variable qui peut stocker plusieurs
valeurs. Par exemple, si vous souhaitez stocker 100 entiers,
vous pouvez créer un tableau pour celui-ci.

int data[100];
Les tableaux en C
2. Comment déclarer un tableau ?

dataType arrayName[arraySize];

Par exemple

float mark[5];

Ici, nous avons déclaré un tableau, de type virgule flottante. Et sa taille est de

5. Cela signifie qu’il peut contenir 5 valeurs à virgule flottante.mark

Il est important de noter que la taille et le type d’un tableau ne peuvent pas

être modifiés une fois qu’il est déclaré.


Les tableaux en C
3. Accéder aux éléments du tableau

Vous pouvez accéder aux éléments d’un tableau par

index.

Supposons que vous ayez déclaré un tableau mark

comme ci-dessus. Le premier élément est mark[0], le

deuxième élément est mark[1] et ainsi de suite.


Les tableaux en C
3. Accéder aux éléments du tableau

Vous pouvez accéder aux éléments d’un tableau par


index.

Supposons que vous ayez déclaré un tableau mark


comme ci-dessus. Le premier élément est mark[0], le
deuxième élément est mark[1] et ainsi de suite.
Les tableaux en C
4. Quelques keynotes:

● Les tableaux ont 0 comme premier index, pas 1. Dans cet


exemple, mark[0]est le premier élément.
● Si la taille d’un tableau est n, pour accéder au dernier
élément, l’index n-1 est utilisé. mark[4]
● Dans cet exemple,Supposons que l’adresse de départ de
mark[0] est 2120d. Ensuite, l’adresse du mark[1] sera 2124d.
De même, l’adresse de mark[2] sera 2128d et ainsi de suite.
En effet, la taille d’un float est de 4 octets.
Les tableaux en C
5. Comment initialiser un tableau ?
Il est possible d’initialiser un tableau lors de la
déclaration. Par exemple

int mark[5] = {19, 10, 8, 17, 9};

Vous pouvez également initialiser un tableau comme


celui-ci.

int mark[] = {19, 10, 8, 17, 9};


Les tableaux en C
5. Modifier la valeur des éléments de tableau

int mark[5] = {19, 10, 8, 17, 9};

// make the value of the third element to -1

mark[2] = -1;

// make the value of the fifth element to 0

mark[4] = 0;
Les tableaux en C
● Exemple 1 : entrée/sortie de tableau
int values[5];
printf("Enter 5 integers: ");
// taking input and storing it in an array
for(int i = 0; i < 5; ++i) {
scanf("%d", &values[i]);
}
printf("Displaying integers: ");
// printing elements of an array
for(int i = 0; i < 5; ++i) {
printf("%d\n", values[i]);
}
Les tableaux en C
● Exercice
Calculez la moyenne de n entrées
Les tableaux en C
B. Tableaux Multidimensionnels

1. Introduction

En programmation C, vous pouvez créer un tableau de tableaux. Par


exemple

float x[3][4];

Ici, x est un tableau bidimensionnel (2D). Le tableau peut contenir 12 éléments.


Vous pouvez considérer le tableau comme un tableau avec 3 lignes et chaque
ligne à 4 colonnes.
Les tableaux en C
B. Tableaux Multidimensionnels

1. Introduction

En programmation C, vous pouvez créer un tableau de tableaux. Par


exemple

float x[3][4];

Ici, x est un tableau bidimensionnel (2D). Le tableau peut contenir 12 éléments.


Vous pouvez considérer le tableau comme un tableau avec 3 lignes et chaque
ligne à 4 colonnes.
Les tableaux en C
2. Initialisation d’un tableau multidimensionnel
Voici comment initialiser des tableaux bidimensionnels et

tridimensionnels :
int temperature[CITY][WEEK];
// Using nested loop to store values in a 2d array
for (int i = 0; i < CITY; ++i)
{
for (int j = 0; j < WEEK; ++j)
{
printf("City %d, Day %d: ", i + 1, j + 1);
scanf("%d", &temperature[i][j]);
}
}
printf("\nDisplaying values: \n\n");
// Using nested loop to display vlues of a 2d array
for (int i = 0; i < CITY; ++i)
{
for (int j = 0; j < WEEK; ++j)
{
printf("City %d, Day %d = %d\n", i + 1, j + 1,
temperature[i][j]);
}
}
Les tableaux en C
● Exemple 2

float a[2][2], b[2][2], result[2][2];


// Taking input using nested for loop
printf("Enter elements of 1st matrix\n");
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
{
printf("Enter a%d%d: ", i + 1, j + 1);
scanf("%f", &a[i][j]);
}
Les tableaux en C
● Exemple 2
// Taking input using nested for loop
printf("Enter elements of 2nd matrix\n");
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
{
printf("Enter b%d%d: ", i + 1, j + 1);
scanf("%f", &b[i][j]);
}
Les tableaux en C
● Exemple 2
// adding corresponding elements of two arrays
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
{
result[i][j] = ? // code
}
// Displaying the sum
printf("\nSum Of Matrix:");
for (int i = 0; i < 2; ++i)
for (int j = 0; j < 2; ++j)
{
printf("%.1f\t", result[i][j]);
if (j == 1)
printf("\n");
}
C++

Vous aimerez peut-être aussi