Vous êtes sur la page 1sur 41

Coder Vs Programmer

Université de Blida1 Saad DAHLEB

Spécialité : MI

LAOUICI,Z
{ Langage de programmation:C }
3

Langage C
Programmatio
{langage C} n

Syntaxe C{}
Pourquoi tout le monde devrait apprendre
4 à programmer!!!

Exemple : Le tri des nombres


Pourquoi tout le monde devrait apprendre
5 à programmer!!!

Les qualités développées par la pratique de la


programmation sont les suivantes:

• Ténacité {pour vaincre les obstacles & att le


but }
• goût du challenge et du défi intellectuel
• curiosité
• logique
« Don't learn to code. Learn to think »

Coder Vs Programmer

« Coding itself should not be the goal. Computers and


programming are just tools. The real goal should be to teach
people a new way to think »
« Don't learn to code. Learn to think »

Coder Vs Programmer

• Computer science is a new way of thinking. The


concepts in it are useful for every single person in a
technology-filled world:Problem solving/ Logic/ Data/
Systems/Thinking
• Programming is an essential part of learning computer
science by applying the new way of thinking. However, by
itself, programming is not nearly as general purpose.
8

Devriez-vous apprendre le langage C?


C’est quoi C (Langage de programmation)?
9

C est un langage de programmation impératif, très


efficace /* Très populaire âge>40 */

C est modulaire {fonction} et portable {même


programme exécute dans tous les SE}

C est concédé comme le père de nombreux langages


C#, Java, JavaScript, Perl, php et Python.
Historique
10

C est créé à l'origine pour les SE UNIX,

1989:
normalisation du
langage par
Années 80 l’ANSI (American
Le C devenant de National Standards
Institute)
plus en plus
populaire
1972
C a été conçu en 1972
par Dennis Richie et
Ken Thompson au
laboratoires Bell
Pourquoi vous devriez apprendre le langage C!
11
Pourquoi vous devriez apprendre le langage C!
12

 Savoir à programmer avec le C  compétence


essentielle pour comprendre comment un
ordinateur fonctionne.<Gestion des SE, Réseau,
père d’autre langage>
 Avoir la chance de travailler sur des projets open
source qui intéressent des millions de
programmeurs.
 Il est souple et puissant

 C est un langage portable.

 Le langage C contient peu de mots.

 Le langage C est modulaire.

 Offre une gestion direct du mémoire {bas niveau}


Programme et compilation

compilation

Code source Code binaire


cycle de développement

Editeur

Code
Code
source
Code
source
Code
source
source

Compilation
des fichiers
source

CodeCode
objet Code
objet
objet

Fichiers de
bibliothèque
Liaison du Programme
fichier objet exécutable
Probleme
pourquoi on a tous ces
langages de
Analyse programmation?

Algorithme

Traduction

Programe
« A language that doesn't affect the way you think about

programming, is not worth knowing »

– Alan Perlis
« Talk is cheap. Show me the code. »

– Linus Torvalds
Structure d’un
programme C
Un programme C est constitué de
plusieurs modules de programmation ou
blocs.
La lecture et ecriture des
La
données
bibliothèque standard <stdio.h> contient un
ensemble de fonctions qui assurent la
communication de la machine avec le monde
extérieur.
Les fonctions les plus importantes sont: lecture,
l'écriture

printf(): écriture formatée de données,


scanf(): lecture formatée de données

putchar(): écriture d'un caractère,


getchar (): lecture d'un caractère
Ecriture formatée de
données
%d ou %i Entier relatif int
%f Notation décimale float
"format" est
L’affichage une chaîne
d’informations de
sur l’écran se fait à
caractère %epeut
qui Notation scientifique float
contenir:
partir de puts() et printf().
du texte,
•• puts() %c Caractère char
affiche du texte exclusivement
%s Chaîne de
Les spécificateurs
•• printf() de format:
caractèreilschar* largeur
peut y ajouter des variables.
commencent int a;
toujours par le
symbole % float b;
char c;

printf(" a =%d B =%f c =%c",a,b,c);

Syntaxe: printf("format", expr_1, expr_2)


Lecture formatée de
données
Syntaxe: scanf("format", adr_1, adr_2)

Format d'adresses des variables

adresse d'une variable= &


+ nom de la variable
Composantes d'un programme
en C
• La fonction main
La fonction main() = en-tête Les instructions se terminent
par un point-virgule (;), on
est
• leLes bloc obligatoire
seulidentificateurs peut placer autant
d’un programme C. Sa forme la d'instructions que l'on veut sur
plus simple consiste à saisir son nom,
Lessuivi
• main, commentaires
de parenthèses ()
une
même ligne (même si ce n'est
pas conseillé pour la lisibilité
• Les variables les
du code)
instructions{}=bloc
• Les mots-clefs
programme principale

une paire d’accolades{}


Composantes d'un programme
Les identificateurs servent à
en C<représenter> les differents
designer
objets ds un programme: variable, fonction,
• La fonction main constant,,,.
Il sont formés d'une suite de chiffres et
• Les identificateurs
lettres et doivent commencer par une
lettre ou le caractère souligné ("_")
• Les commentaires
• Les variables
• Les mots-clefs
Composantes d'un programme
Les commentaires commencent par
/* et seen C par */ =>plusieur
terminent
lignes. Imbriquées
• La fonction main
// => une seule ligne
• Les identificateurs
• Les commentaires
• Les variables
• Les mots-clefs

/* /* */ ceci n’est pas un commentaire */


Composantes d'un programme
en C par le langage à
Sont reservés
• La fonctionunmain
usage bien défini et ne
peuvent pas être utilisé comme
• Les identificateurs
identificateurs
• Les commentaires
• Les mots-clefs
• Les variables
Composantes d'un programme
en C
• La fonction main
Les identificateurs
• Type_variable Nom_variable1, Nom_variable2, ,,,Nom_variablen ;

• Les commentaires
• Les mots-clefs
• Les variables
Quelques regles d'ecritures

Format libre
Variable & types prédéfinis

On trouvera dans un programme des variables et


des constantes, il faut fixer leurs types.

Pour produire de nouvelles valeurs, les variables


et les constantes peuvent être combinées à
l'aide d'opérateurs dans des expressions.
Leslestypes prédéfinis
flottants : Les: types
les entiers int. Les typesdouble
float, entiers (int)
et
void; floatpeuvent
char ; int ;long ; être caractérisés d'un des
double servent à représenter des
mots clés long ou short. Ces mots clés
nombres en virgule flottante.
permettent
De même, les
les réels caractères
de modifier : char
en double la taille; du
précision
peuvent être qualifiés du type , clé long, ce qui
mot
augmente leur plage
• Entier standard: int ; de valeurs.
• les entiers longs
short : long int, ou long ;
double.
• les entiers courts : short int, ou short

le type vide : void. Ce type est utilisé


pour spécifier le fait qu'il n'y a pas de
type. Cela a une utilité pour faire des
procédures (fonctions ne renvoyant
rien) et les pointeurs sur des données non
typées (voir plus loin) ;
Remarque: Types des variables
Chaînes de caractères Tableaux de
caractères

Tous les
types de
booléennes variables
numériques

FAUX = 0
VRAI = 1
Conversion de type forcée
Il est possible de convertir explicitement une
valeur en un type quelconque:
(type) expression;
Le contenu de A reste inchangé,
seule la valeur utilisée dans le
calcul est convertie.
Les opérateurs
Il est possible de convertir explicitement une
valeur en un type quelconque:
(type) expression;
Le contenu de A reste inchangé,
seule la valeur utilisée dans le
calcul est convertie.
Les opérateurs
Nom_variable=expression;
• Affectation
• L'affectation avec des valeurs constantes:
(=)
Pi = 3.1416; Lettre = 'L';
• Affectation avec des valeurs variables: a=b;
• Affectation avec des expressions
Les opérateurs
• L'affectation (=)
• Les opérateurs arithmétiques

+ addition
- soustraction
* multiplication
/ division
% modulo( 5%2=1)
Les opérateurs
• L'affectation (=)
• Les opérateurs arithmétiques
• Les opérateurs logiques
&& -> ET
|| -> OU
! -> NON
Les résultats des opérations
logiques sont de type int:
valeur 0 =FAUX,
valeur 1 =VRAI
Les opérateurs
• L'affectation (=)
• Les opérateurs arithmétiques
• Les opérateurs logiques
== l'égalite de comparaison
• Les opérateurs
!= inegalite
< inférieur
<= inférieur ou égal
> supérieur
>= supérieur ou égal
syntaxe : expression1 op expression2
Les opérateurs
== l'égalite
!= inegalite
• L'affectation (=)
< inférieur
<= inférieur ou égal
• Les opérateurs
> supérieur arithmétiques
>= supérieur ou égal
• Les opérateurs logiques
syntaxe : expression1 op expression2
• Les opérateurs de comparaison

RQ:Les opérateurs logiques considèrent


• Toute valeur différente de 0 comme VRAI,

• toute valeur nulle comme FAUX.


Les opérateurs
i = i + 2; en C, on peut écrire:
i+ = 2;
• L'affectation (=)
on remplace:
expr1 = (expr1) Opérateur
• Les opérateurs arithmétiques
(expr2);
par
• Les opérateurs logiques
expr1 Opérateur = expr2;
• Les opérateurs de comparaison
• L'opérateur d'affectation composée
Les opérateurs
• L'affectation (=)
• Les opérateurs arithmétiques
• Les opérateurs logiques
• Les opérateurs de comparaison
• L'opérateur d'affectation composée
• L'op d'incrémentation et de décrémentation
Les opérateurs :l'op d'incrémentation
et de décrémentation
Cas
Dansd'une boucle
ce cas, (dansentre
on choisit ce cas,
la notation
i = i + 1 => préfixe
pas et postfixe: entre:
i++deoudifférence
++i
i = i - 1 => Xi--
= ou
i++;--i 1. X<-- i,
la notation préfixe (++i,--i)
2. i++
Les opérateurs ++ et et-- sont utilisés pour :
X =la++i;
notation postfixe (i++,i--).
1. i++
1. Incrémenter ou décrémenter
2. X<-- i, une variable,
2. Incrémenter ou décrémenter une variable et en
même temps affecter sa valeur à une autre
variable.

Vous aimerez peut-être aussi