0% ont trouvé ce document utile (0 vote)
29 vues32 pages

2ème Cours Programation C

Ce document présente les structures conditionnelles, les boucles, la manipulation des tableaux et la définition de fonctions en langage C. Il explique les opérateurs de comparaison, les types de boucles (while, do...while, for), ainsi que la déclaration et l'initialisation des tableaux unidimensionnels et multidimensionnels. Enfin, il aborde la création et l'appel de fonctions, en fournissant des exemples pratiques pour chaque concept.

Transféré par

ademtayeb248
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues32 pages

2ème Cours Programation C

Ce document présente les structures conditionnelles, les boucles, la manipulation des tableaux et la définition de fonctions en langage C. Il explique les opérateurs de comparaison, les types de boucles (while, do...while, for), ainsi que la déclaration et l'initialisation des tableaux unidimensionnels et multidimensionnels. Enfin, il aborde la création et l'appel de fonctions, en fournissant des exemples pratiques pour chaque concept.

Transféré par

ademtayeb248
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP 2:

Structures Conditionnelles, Manipulation des


tableaux et Fonctions

Cours de N.GUENFOUD
Objectifs du cours
• Comprendre et utiliser les structures conditionnelles tels que if,
if...else, switch...case

• Les boucles while, do… while, for

• Déclaration et initialisation des tableaux (1D et 2D)

• Accès aux éléments et modification des valeurs

• Définition et appel de fonctions


Structures Conditionnelles
Le langage C fournit différents opérateurs qui permettent d’effectuer des
comparaisons entre des nombres (par exp, A et B). Ces opérateurs peuvent
s’appliquer aussi bien à des constantes qu’à des variables.
Opérateur Description

A == B Egalité
A != B Inégalité
A < B ou A > B Strictement inférieur à / Strictement supérieur à
A ≤ B ou A ≥ B Inférieur ou égal à / Supérieur ou égal à

Les opérateurs logiques combinent plusieurs conditions pour tester des relations
logiques entre elles.
Eléments Description Exemple

! Négation logique (NOT). ! (A > 2 && A < 4 )

&& AND (ET) logique. A > 2 && A < 4

|| OR (OU) logique. A > 2 || A < 4


Structures de contrôle
Les structures de contrôle permettent de modifier le comportement d’un
programme suivant la réalisation de différentes conditions. Parmi ces structures
de contrôle se trouvent les instructions de sélection.
1. If
2. If …else
3. Switch…case

Structure de Description
sélection
if … If (si):exécute une suite d’instructions si une condition est respectée
If…else… If…else (sinon):exécute une suite d’instructions si une condition est
respectée ou une autre suite dans le cas contraire
Switch…case… Switch (selon):exécute une suite d’instructions différente suivant la
valeur testée
1. La structure if
Syntaxe:
if (/* Condition */)
{
/* Une ou plusieurs instruction(s) */
}

Exemple:
#include <stdio.h>
int main(void) {
int a = 10; Ce code n’affiche rien
int b = 20;
if (a < b) {
printf("%d est inférieur à %d\n", a, b);
}
return 0;
}
2. La structure else
Syntaxe:
if (/* Condition */) {
/* Une ou plusieurs instructions */
}
else {
/* Une ou plusieurs instructions */
}

Exemple:
#include <stdio.h>
int main(void) {
int heure;
scanf("%d", &heure); 10
if (heure > 8 && heure < 20) { Il fait jour.
printf("Il fait jour.\n");
} else {
printf("Il fait nuit.\n");
}
return 0;
}
3. La structure else if
Il est possible de faire un autre test si le premier test n'a pas marché. On
demande alors à l'ordinateur :
"SI la variable vaut ça ALORS fais ceci,
SINON SI la variable vaut ça ALORS fais ça,
SINON fais cela".
Exemple:
if (âge>= 18) { // Si l'âge est supérieur ou égal à 18
printf ("Vous êtes majeur !");
}
else if ( âge> 4 ) { // Sinon, si l'âge est au moins supérieur à 4
printf ("Bon t'es pas trop jeune quand même...");
}
else { // Sinon...
printf ("Aga gaa aga "); // Langage bébé, vous pouvez pas comprendre
}
4. La structure Switch
Pour éviter d'avoir à faire des répétitions quand on teste la valeur d'une seule et
même variable, il existe une autre structure que if... else. Elle s'appelle switch.

Syntaxe:
Switch (a) {
case 1: /* Instruction(s) */
break;
case 2: /* Instruction(s) */
break;
/* Etc... */
default: /* Si aucune comparaison n'est juste */
/* Instruction(s) à exécuter dans ce cas */
break;
}
Testez plusieurs conditions à la fois
Il peut aussi être utile de faire plusieurs tests à la fois dans votre if. Pour cela, il va
falloir utiliser de nouveaux symboles :

1. Ajoutez une contrainte "ET" avec &&


On peut vouloir tester si l'âge est supérieur à 18 ET si l'âge est inférieur à 25. Pour
cela, il vous faudra écrire :

if (âge > 18 && âge < 25)


2. Ajoutez une contrainte "OU" avec ||
Ce signe n'est pas facilement accessible sur nos claviers. Sur un clavier
AZERTY français, il faudra faire AltGr+6 ; sur un clavier belge, AltGr+&
Pour ouvrir un compte en banque, il vaut mieux ne pas être trop jeune, ou bien avoir
beaucoup d'argent. Notre test pourrait être :

if (âge> 30 ||argent > 100000){


printf("Bienvenue chez Algérie Banque !");
} else {
printf("Hors de ma vue, misérable !"); }

3. Testez l'opposée d'une condition avec !


Vous devez mettre ce signe avant votre condition pour dire « si cela n'est pas vrai » :

if (!(age< 18))
Répétez des instructions grâce aux boucles

Une boucle est une technique permettant de répéter les mêmes instructions
plusieurs fois.
Nous allons voir trois types de boucles courantes en C :
1. While
2. do… while
3. For
1. While
while signifie « Tant que ».On dit donc à l'ordinateur :
« Tant que la condition est vraie, répète les instructions entre accolades ».
Syntaxe:
while (/* Condition */)
{ // Instructions à répéter
}
Exemple: on va demander à l'utilisateur de taper le nombre 47. Tant qu'il n'a pas tapé
le nombre 47, on lui redemande le nombre. Le programme ne pourra s'arrêter que
si l'utilisateur tape le nombre 47.
int nombre = 0;
while (nombre != 47){
printf("Tapez le nombre 47 ! ");
scanf("%d", &nombre);}
on veut que notre boucle se répète un certain nombre de fois. On va pour cela créer
une variable compteur qui vaudra 0 au début du programme et que l'on
va incrémenter au fur et à mesure.

int compteur = 0;
while (compteur < 10){
printf("Bienvenue \n");
compteur++;
}
2. Do… while
Ce type de boucle est moins utilisé. La seule chose qui change par rapport à une
boucle while, c'est la position de la condition : au lieu d'être au début de la boucle,
la condition est à la fin :
Syntaxe:
do {
/* Bloc d'instructions à répéter */
} while (/* Condition */);
Exemple:
int compteur = 0;
do { printf("Bienvenue \n");
compteur++;
} while (compteur < 10);
Remarques:
La boucle while peut très bien ne jamais être exécutée si la condition est fausse dès
le départ.
Pour la boucle do… while, c'est différent : cette boucle s'exécutera toujours au
moins une fois. En effet, le test se fait à la fin.
3. For

Syntaxe:
for (/* Expression/Déclaration */; /* Condition */; /* Expression */)
{ /* Instructions à répéter */ }
Exemple:
#include <stdio.h>
int main(void) {
for (int i = 0; i < 5; ++i)
printf("la variable i vaut %d\n", i);
return 0;
}
Tableaux

La définition d’un tableau nécessite trois informations :


1. le type des éléments du tableau;
2. le nom du tableau (ou son identificateur);
3. la longueur du tableau (ou le nombre d’éléments qui le composent.

 Tableau unidimensionnel

Syntaxe:
Type identificateur [longueur];
Exemple: un tableau contenant vingt int
int tab[20];
Initialisation d’un tableau 1D
Initialisation avec une longueur explicite

L’initialisation séquentielle permet de spécifier une valeur pour un ou plusieurs


membres du tableau en partant du premier élément. Ainsi, l’exemple ci-dessous
initialise les trois membres du tableau avec les valeurs 1, 2 et 3.
int tab[3] = { 1, 2, 3 };

Initialisation avec une longueur implicite

le compilateur sera capable d’en déterminer la taille en comptant le nombre


d’éléments présents dans la liste d’initialisation.
int tab[] = { 1, 2, 3 };
 Tableau multidimensionnel

La définition d’un tableau multidimensionnel se réalise de la même manière que celle


d’un tableau unidimensionnel si ce n’est que vous devez fournir la taille des
différentes dimensions.
Par exemple, si nous souhaitons définir un tableau de int de vingt lignes et trente-
cinq colonnes, nous procéderons comme suit.
int tab[20][35];
Exemple:
#include <stdio.h>
int main(void) {
int tab[2][2] = { { 1, 2 }, { 3, 4 } };
printf("tab[0][0] = %d\n", tab[0][0]);
printf("tab[0][1] = %d\n", tab[0][1]);
printf("tab[1][0] = %d\n", tab[1][0]);
printf("tab[1][1] = %d\n", tab[1][1]);
return 0; }
Les chaînes de caractères
Les chaînes de caractères sont utilisées pour stocker des textes ou des caractères.
Par exemple, "Bonjour à tous".
Contrairement à de nombreux autres langages de programmation, le langage C ne
dispose pas d'un type String pour créer facilement des variables de type chaîne de
caractères. En C, les chaînes sont représentées comme des tableaux de caractères
(type char).
Exemple:
#include <stdio.h>
int main() {
Char message[]=’’Bonjour à tous’’};
return 0;
}
Puisque les chaînes sont en réalité des tableaux en C, vous pouvez accéder à
chaque caractère de la chaîne en utilisant l’indice de ce caractère dans des crochets
[].
Exemple:
#include <stdio.h>
int main() {
Char message[]=’’Bonjour à tous’’};
printf("%c", message[0]);
return 0;
} B
Pour changer la valeur d’un caractère spécifique dans une chaîne, il suffit de faire
référence à son indice et de lui affecter une nouvelle valeur entre guillemets
simples (' '):

Exemple:
#include <stdio.h>
int main() {
Char message[]=’’Bonjour à tous’’};
Message[0]=‘T’
printf("%c", message[0]);
return 0;
}
T
Fonction

Il s'agit de découper nos programmes en petits morceaux. Chaque petit morceau sera
ce qu'on appelle une fonction.
Une fonction exécute des actions et renvoie un résultat. C'est un morceau de
code qui sert à faire quelque chose de précis. On dit qu'une fonction possède une
entrée et une sortie.
1. Créez une fonction

Syntaxe:
Type NomFonction (parametres)
{
// Insérez vos instructions ici
}
type (correspond à la sortie) : c'est le type de la fonction.
Si la fonction renvoie un nombre décimal, vous mettrez double; si elle renvoie un
entier, vous mettrez int. Mais il est aussi possible de créer des fonctions qui ne
renvoient rien, elles seront alors de type void ("vide", en français).
NomFonction : c'est le nom de votre fonction.
Vous pouvez appeler votre fonction comme vous voulez, du moment que vous
respectez les mêmes règles que pour les variables (pas d'accents, pas d'espaces, etc.).
parametres (correspond à l'entrée) : ce sont les paramètres de la fonction.
Ils sont entre parenthèses. Ce sont en fait des valeurs avec lesquelles la fonction va
travailler.
Exemple: notre fonction triple reçoit un nombre entier de type int et qu'elle
renvoie un nombre entier également de type int.

int triple(int nombre)


{
int resultat = 0;
resultat = 3 * nombre; // On multiplie le nombre fourni par 3
return resultat; // On retourne la variable résultat qui vaut le triple de nombre
}

on peut faire tout cela en une ligne :

int triple(int nombre)


{
return 3 * nombre;
}
2.Affectez (ou non) des paramètres à une fonction
Vous pouvez envoyer autant de paramètres que vous le voulez. Vous pouvez aussi
n'envoyer aucun paramètre à la fonction, mais ça se fait plus rarement.
N'affectez aucun paramètre à fonction
Exemple:
void bonjour()
{
printf("Bonjour");
}
Je n'ai rien mis entre parenthèses car la fonction ne prend aucun paramètre. En effet,
ma fonction n'a pas non plus de return : elle ne retourne rien.
Affectez plusieurs paramètres à une fonction
Exemple: une fonction addition qui additionne deux nombres a et b.
int addition(int a, int b)
{
return a + b; }
3. Appelez une fonction
Nous allons reprendre notre fonction triple pour calculer le triple d'un nombre.
Pour le moment, écrivez la fonction triple AVANT la fonction main (si vous la
placez après, ça ne marchera pas).

Exemple:

#include <stdio.h>
#include <stdlib.h>
int triple(int nombre){ //6
return 3 * nombre;} //7
int main(){ //1
int nombre = 0, A= 0; //2
printf("Entrez un nombre... "); //3
scanf("%d", &nombre); //4
A = triple(nombre); //5 // appel d’une fonction
printf("Le triple de ce nombre est %d \n", A); //8
return 0;} //9
Notre programme commence par la fonction main :
1. On demande à l'utilisateur d'entrer un nombre.
2. On envoie ce nombre qu'il a entré à la fonction triple.
3. Et on récupère le résultat dans la variable A.

Les numéros en rouge indiquent le sens de lecture de ce programme.


Tableau Récapitulatif du Langage
C et de ses Paramètres
-Voici un tableau récapitulatif des types de données, opérateurs, et autres éléments
courants utilisés en langage C.
-Types de données:

Eléments Description
int Entier, utilisé pour des nombres entiers.
float Nombre à virgule flottante, pour les décimaux avec une précision simple.
double Nombre à virgule flottante, mais avec une plus grande précision que float.
char Caractère unique, représenté en ASCII.
void Type spécial qui représente une fonction sans valeur de retour ou un pointeur
nul.
#define Directive pour définir des constantes ou des macros.
-Opérateurs
Eléments Description
+ Addition.
- Soustraction.
* Multiplication.
/ Division.
% Modulo (reste de la division).

-Fonctions

Eléments Description
return Utilisé pour retourner une valeur d'une fonction.
printf() Affiche un message ou une variable à l’écran.
scanf() Lit une entrée de l'utilisateur depuis la console.
- Pointeurs
Eléments Description
* Indirection, permet d’accéder à la valeur d'une adresse mémoire.
& Adresse, récupère l’adresse mémoire d’une variable.

- Commentaires

Eléments Description
// Commentaire sur une seule ligne.
/* */ Commentaires multi-lignes.
Les liens à consultés
Conditions
https://www.youtube.com/watch?v=wVIkmvc5ACo
Boucles
https://www.youtube.com/watch?v=in-XJLbQ1iY
Tableaux
https://www.youtube.com/watch?v=wawOmMNbT0M
Fonctions
https://www.youtube.com/watch?v=TT2RbNKr4aU
Merci !

Vous aimerez peut-être aussi