Chapitre 1 : Vers le premier programme C 1 Structure d`instruction L

publicité
Chapitre 1 : Vers le premier programme C
1 Structure d’instruction
L’instruction est composée, en assembleur, du Code opératoire et de deux opérandes. Elle est analysée par le µP
bit/bit. Le processeur doit avoir accès en lecture et en écriture.
2 Définitions
Variable = zone de mémoire identifiée par un nom (dyn.)
Constante = valeur texte, numérique ou logique (fixe)
Les variables et les constantes occupent une certaine place en mémoire.
3. Premières instructions
Assignation : on donne à une variable une valeur. / !\ Si on ne donne pas de valeur à une variable, elle ne vaut pas 0 !
Déclaration : on définit une zone en mémoire pour une variable (taille varie selon le type : float, double, int, etc)
Affichage : printf(‘’ch de caractères’’,variable) ;
4. Périphériques
Un périphérique est un matériel informatique relié à l’ordinateur. Ex : le clavier. L’intérêt ici est de lire les données
entrées par l’utilisateur (d’où « lire a »). On utilise la fonction scanf.
Syntaxe : scanf(‘’%x »,&a’’) : x dépend du type de variable : float %f , double %lf, int %d
INCONVENIENT : Si on tape ENTER, pas de message d’erreur – Le buffer peut ne pas être vide
Vider le buffer : fflush(stdin)
5. Etapes de programmation
Pseudo-code : Quoi ? Lesquelles ? Vers quoi ? Comment ? Qu’afficher ?... => LOGIQUE
V
Encodage : Editeur -> fichier .C
V
Compilation : Vérifie la syntaxe, fournit le fichier obj qui contient les infos d’emplacement des biblios de fct.
V
Link : Editeur de liens - lie les biblios au fichier obj afin de pouvoir créer le fichier exe
V
Execution du programme
6. Structure d’un programme
- #include <biblio.h> (nb : .h = header file)
- fonction principale (void main (void))
- Accolade d’ouverture, décla. variables, instructions, accolade de fermeture
/ !\ En C, tout est fonction y compris le programme.
Chapitre 2 : Programmation structurée
1 Introduction
Diviser un problème en module => démarche rationnelle. Séparer les modules :
- Meilleure compréhension
- Facilite la maintenance
- Répartition entre programmeurs
Les modules sont des fonctions
2 Appel de fonction
L’appel de la fonction n’est composée que du nom de celle-ci (cf pg 16)
3. Commentaires
Le comilateur ignore tous les commentaires (syntaxe : /* (début) et */ (fin)
Chapitre 3 : Données numériques
1 Données numériques et binaire
Short int
2 octets
Int
4 octets
Unsigned int
4 octets
Long
4 octets
Float
4 octets
Double
8 octets
limite : -32 768 à + 32 767 (2^15 – 1)
limite : 2^31 – 1
Le bit de poids fort ou le bit de signature est le bit le plus à gauche et dit si le nombre est positif ou négatif.
0:+
1:2 Conversion entre types de données.
Un entier par un entier donne un entier, un float par un entier donne un float. Il y a moyen alors de convertir :
- Casting : r = (float) a/ b. Le compilateur doit interpréter a comme un float
- Transformation : r = a * 1.0 / b. a*1.0 sera un float
3. Dépassement de valeurs.
/ !\ Aux limites permises par les types de variables et aux résultats intermédiaires sinon on obtient n’importe quoi.
La priorité des opérateurs intervient ici.
4. Format d’affichage float %x.yf
%f : toutes les décimales - %8.2f : 8 positions dont 2 décimales - %.2f : limite de décimales uniquement
5. Identificateurs
Variables et fonctions : ensemble de majuscules et minuscules avec prédominance de minuscules (ex : iPwet)
Constantes : majuscules uniquement. (ex : CSTE)
/ !\ Premier caractère : toujours une lettre ou underscore. Pas d’espace. Pas de mots réservés.
Chapitre 4 : Priorité des opérateurs
()
Fonctions
*,/,% (calcul modulo : reste de la division entière du 1er nbre par le 2ème )
+,=
Chapitre 5 : Séquence
Les instructions sont exécutées en séquence, c'est-à-dire les unes après les autres. Si le programme est décomposé
en modules, les modules seront eux aussi exécutés dans l’ordre. Les instructions du module sont dites structurées.
Chapitre 6 : Alternatives
Evaluation d’une condition . Ex : S’il fait beau,j’irai me promener, sinon,j’irai au cinéma. / !\ Le ALORS n’est pas
traduit en C.
Pseudo-code :
SI (condition)
ALORS instructions ;
SINON instructions ;
FIN SI
En C :
if ( a > b )
{
instructions;
}
Else
{
Instructions ;
}
Règles d’écriture
- Accolades d’ouverture et de fermeture ! Ne pas oublier de fermer les accolades dès ouverture
- Décalage des instructions
- Les instructions doivent commencer à la même colonne.
Alternative incomplète (ex : S’il fait beau j’irai me promener)
SI (condition)
ALORS instruction ;
FIN SI
Importance des {}
Si la condition est vraie : les instructions seront exécutées et le programme se comportera comme attendu
Si la condition est fausse : la première instruction ne sera pas exécutée mais les autres bien.
Conditions composées
ET ( && ) :
- Vrai : si toutes les conditions sont vraies
- Faux : si au moins UNE condition est fausse
OU ( || ) :
- Vrai : si au moins UNE condition est vraie
- Faux : si toutes les conditions sont fausses
0 ou différent de 0 :
Condition vraie si elle vaut 0, condition fausse si != de 0
If (i != 0) (différent de) peut s’écrire if (i )
If (i == 0) peut s’écrire if ( ! i ) (négation)
Assignation n’est pas comparaison
If ( a = b ) ,b sera assigné à a. Puis la condition sera interprétée comme « si a différent de 0 »
Donc attention !
Lisibilité
Attention aux indentations !
Structure sélective
Permet d’éviter d’avoir trop de if imbriqués. Pseudo code, Le switch est traduit par SELECTIONNER.
Syntaxe :
Switch(Variable de choix)
{
Case #value : instructions ;
Break ;
Case#value2 : instructions ;
Break ;
Default : instructions ;
}
Téléchargement