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

Code Block

Ce document présente un cours d'informatique sur le langage C, abordant les bases de la programmation, l'utilisation de l'environnement de développement Code::Blocks, et les concepts fondamentaux comme les variables, les types de données et les fonctions. Il décrit également le déroulement de l'année académique, les objectifs des séances et les méthodes d'évaluation. Enfin, il souligne l'importance de la lisibilité et de la documentation du code.

Transféré par

gedeon1132
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)
0 vues70 pages

Code Block

Ce document présente un cours d'informatique sur le langage C, abordant les bases de la programmation, l'utilisation de l'environnement de développement Code::Blocks, et les concepts fondamentaux comme les variables, les types de données et les fonctions. Il décrit également le déroulement de l'année académique, les objectifs des séances et les méthodes d'évaluation. Enfin, il souligne l'importance de la lisibilité et de la documentation du code.

Transféré par

gedeon1132
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

Cours d’informatique

en Langage C
è
ère
1 année 2014‐2015
L’i
L’informatique
f ti à l’IOGS
1A : Langage C : apprentissage d’un langage de
programmation
p g structuré
3 séances Matlab : analyse numérique

2A : Langage C++ à Bordeaux

3A : Palaiseau : Python

2
Dé l
Déroulement
tdde l’
l’année
é
 U session
Une i ded cours‐td
td au 1S
11 séances de 2h
Dont 2 synthèses (2h  note), un mini‐projet
+ un examen individuel
i di id l sur machine
hi

 Un projet au 2S
3 séances de 4h
+ une présentation orale du projet
3
But d 1ères séances
B t des é

 Préciser (un peu) ce qu’est l’informatique


 Bases
B d’
d’un llangage iinformatique
f ti : lle langage
l C
 Bases du raisonnement informatique q
 Prise en main d’un environnement de
développement : Code::Blocks
 Essais de 1ers programmes

4
L LLangage C
Le

 Créé au début des années 70 par Dennis


Ritchie et Brian Kernighan
 Langage multi plate‐forme : Windows, Mac,
Linux, nombreux micro‐processeurs
 En
n respectant la norme ANSI/ISO, le même code
va pouvoir être recompilé par plusieurs systèmes
 Reste encore aujourd'hui
aujourd hui un langage très
utilisé dans le monde (perfectionné depuis : la
norme a évolué)
é l é)
5
L LLangage C
Le

 Langage évolué / langage de bas niveau


 Évolué : « relativement » proche de ll’humain
humain
 Bas niveau : proche de la machine

 Langage C :
 Langage évolué
 Mais aussi assez proche de la machine
 Permettra
P par exemple
l de
d programmer des
d
microprocesseurs.

6
1ère Approche
A h de
d l’informatique
l’i f ti

 Manipulation de données
 Calculs, entrées, sorties – saisies, affichages – écriture
et lecture dans des fichiers, …
 Données : stockées dans des cases mémoires
 Case mémoire : emplacement physique où est stockée
(
(sous forme électrique)
q ) la donnée à traiter
 La case mémoire élémentaire : c’est l’octet (on y
reviendra)
 Une case mémoire : connue par la machine grâce à
son adresse = son emplacement physique
 Connue par le programmeur par un nom (à choisir)
7
1ère Approche
A h de
d l’informatique
l’i f ti

 Traitements de base sur les mémoires


 Initialisation d’une
d une mémoire
 Affectation du résultat d’un calcul ou d’un
traitement à une mémoire
é

 Et aussi
 Saisie d
d’une
une valeur au clavier et stockage dans une
mémoire
 Affichage
Affi h sur l’é
l’écran d
du contenu d
de lla mémoire
é i
8
1ère Approche
A h de
d l’informatique
l’i f ti
 Un exemple d’algorithme : Résolution d’une équation du 1er
degré à coefficients réels : a.x + b = 0
Saisir a p
puis b
si a=0 faire
si b=0 faire
Affi h « Tout
Afficher T t réel
é l estt solution
l ti »
sinon Faire
Afficher « Pas de solution réelle »
sinon Faire
Calculer –b/a  Solution
Afficher Solution

9
1ère Approche
A h de
d l’informatique
l’i f ti

 Processus de développement :
 A partir d’un
d un problème donné
Méthode Traduction
à mettre Langage en Micro
Humain
en œuvre : informatique informations -processeur
algorithme exécutables

Le développeur Code::Blocks Le PC

10
Les bases du Langage C

 Le programme main

main()
{
}

11
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Code::Blocks est un IDE (Integrated


p
Development Environment)) :
 Il permet
 d'éditer lle code
d'édi d ((taper lle programme))
 de compiler pour traduire le code en langage
machine
 faire l’édition de liens et réaliser un exécutable
 d’exécuter le programme
 de corriger les erreurs (déboguer) et de mettre au
point le programme grâce aux outils de debug. 12
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Code::Blocks est téléchargeable gratuitement à:


[Link]

 Lancer Code::Blocks par exemple avec le


raccourci sur le bureau

13
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Créer un nouveau projet

14
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Créer une Application Console

15
P é t ti de
Présentation d Code::Blocks
C d Bl k

Cliquer sur Next

Sélectionner comme
langage le C

Info C – IOGS 1A
2012-2013 16
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Renseigner les noms et les chemins


 Par exemple en créant un dossier spécifique pour
la session de C et un dossier par séance
 en remplaçant
l si b
besoin \\hera
\\h par U:\\

 Exemple :
U:\[Link]\Mes
\j \ documents\ProgrammesEnC\td1
\ g \

17
P é t ti de
Présentation d Code::Blocks
C d Bl k

L’espace projet
tel qu’il apparaît
Incluant un
programme de
base

Info C – IOGS 1A
2012-2013 18
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Une fois le code écrit, il faut générer un


p
exécutable en compilant :
 avec Build > Build
 ou avec CTRL – F9
 ou avec
 Pour exécuter le programme :
 avec Build > Run
 ou avec CTRL – F10
 ou avec
19
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Nb : on peut tout faire en une fois :


 avec Build > Build and run
 ou avec F9
 ou

 Nb : pour mettre en forme le programme


 Plugin > Source code formatter

20
P é t ti de
Présentation d Code::Blocks
C d Bl k

 En cas d’erreurs, aller lire la fenêtre suivante puis


cliquer sur l’erreur

 Et toujours commencer par corriger la 1ère erreur


de la liste avant de relancer la compilation
21
P é t ti de
Présentation d Code::Blocks
C d Bl k

 Règles à respecter absolument :


 Un seul main () par projet.
 Et donc un seul fichier comprenant la fonction
main
 Tous les fichiers de code source devront avoir
l’ t i .c
l’extension
 Attention aux extensions en .cpp (erreur dans la
création du projet) qui ne fonctionneront pas ici

22
Les bases du Langage C

 Une ligne de code se


termine
i par ;

main()
{

mem3 = mem1 + mem2;

}

23
Aff t ti : avec le
Affectation l signe
i =

 Ne permet pas de tester l’égalité


mathématique !
 Affecte l’expression de droite à la variable de
gauche
 Expressions
xpressions non autorisées :
b + c = 50 ;
3 = a ;
 Instructions autorisées :
b = a + c ;
b = c + 77 ;
a = b = 44; 24
E
Exemple
l 1

 En pseudo‐code  En Langage C
20  mem1 main()
250  mem2 {
mem1 + mem2  mem3 int mem1;
int mem2;
int mem3;
mem1 = 20;
Pour utiliser une mem2 = 250;
variable,, il faut
d’abord l’avoir mem3
3 = mem11 + mem2;
2
déclarée en précisant }
son type

25
E
Exemple
l 1 ((variantes)
i t )
 main()
{
/* Utilisation de la , */
int mem1,mem2,mem3;
1 2 3
mem1 = 20;
mem2 = 250;
mem3 = mem1 + mem2;
}

 main()
{
// Déclaration et Initialisation
int mem1=20 , mem2=250 , mem3;
mem3 = mem1 + mem2;
}
26
C
Commentaires
t i du d code
d
 Un code doit être commenté
 Afin d
d’être
être lisible par d
d’autres
autres (vos enseignants,
votre binôme, vos futurs collègues, les personnes
qui vont modifier votre code, …)
 Les commentaires sont compris entre /* et */
avec d’éventuels
d éventuels sauts de lignes
 Ou encore // uniquement pour le reste de la ligne

27
Li ibilité du
Lisibilité d code
d
 Un code doit être lisible
 Grâce aux commentaires
 Avec des noms de variables ou de fonctions
explicites
 Avec une mise en forme des différents blocs

28
Id tifi t
Identificateurs des
d variables
i bl
 Identificateur = nom permettant de désigner
une variable ((ou une fonction))
 Caractères autorisés
 a, …,z,A,
A …,ZZ et 0
0, …, 9 et _
 Un identificateur commence par une lettre ou par
le caractère _
 Attention : Le C différencie majuscules
j et
minuscules

29
Id tifi t
Identificateurs des
d variables
i bl
 Choix de nom explicite
 Améliore la lisibilité du code
 Exemples :
 Ma_Variable
Ma Variable
 TemperatureFarenheit

 Les noms explicites


p de variables permettent
p
de ne pas surcommenter

30
Dé l ti des
Déclaration d variables
i bl en C
 Déclarer une variable c’est définir son nom et
son type
int mem1; /* mem1 est de type int */
 En Langage C, on doit déclarer une variable
avant de l’utiliser
 On effectue les déclarations de variables en
début de bloc, c‐à‐d juste après {
 Pas d’importance
d importance dans l’ordre
l ordre des
déclarations
 Attention
A i : ne pas mélanger
él liligne exécutables
é bl
et déclarations 31
Q l
Quelques ttypes de
d variables
i bl en C
 Type entier : int
 Exemple : int MaVariable ;

 Type réel : float


 Exemples : float Discriminant ;
float Eps = 1e-6 ;
float Tempe= 23.5 ;

32
V i bl en C
Variables
 On va rencontrer les variables à 3 occasions :
 Déclaration  traité ici
 Initialisation  Souvent indispensable … pour éviter
des pprogrammes
g faux (même
( s’ils compilent)
p )
 Utilisation  traité à plusieurs reprises

 Initialisation : de 2 façons
int MaVariable ; int MaVariable = 2 ;
…//déclaration
//déclaration ou code // Déclaration & Init
MaVariable = 2 ; // Init simultanées

Au choix du développeur 33
F ti
Fonctions d’affichage
d’ ffi h (1ère approche)
h )
 Affichage d’une phrase, d’un entier, d’un réel :
Nécessaire en début de code
 #include <stdio.h>
<stdio h> pour utiliser la fonction
main() d’affichage
{
int mem1 = 10 ;
3 appels à la fonction
float mem2 = 20.0 ; d’affichage

printf("Bonjour, ça va bien?\n");
printf("%d\t"
printf( %d\t , mem1);
printf("%f\n", mem2);
}

34
Fi hi d’
Fichiers d’en tête
têt : .h
h
 Stdio : standard input output
 Fichier .h
h (comme header) ou fichier d’en‐tête
d en tête
 Contient la déclaration de la fonction utilisée
 Permet de s’en servir en sachant :
 Ce qu’elle
qu elle fait
 La syntaxe à utiliser
 Mais
M i sans connaître
î le l code
d de
d la
l fonction
f i
 Il en existe de nombreux autres :
 math.h, stdlib.h, string.h, ctype.h, time.h
35
Fonctions de saisie au clavier ((1ère
approche)
 Saisie d’un entier ou d’un réel :
 #include <stdio.h>
<stdio h>
main()
{
int mem1 ;
float mem2 ;

scanf("%d",&mem1); Attention à bien
mettre le & avant le
scanf("%f"
scanf( %f ,&mem2);
&mem2); nom de la variable
… (mem1 ici)
} Attention :pas de
\n du type :
‘scanf(’%d\n ’’) ;
36
St t
Structure d’un
d’ programme simple
i l
 #include <stdio.h> En-tête
Corps du programme :
main() main()
{ Accolade de début
int mem1 ;
Dé l
Déclarations
ti des
d variables
i bl
float mem2 ;

scanf("%d",&mem1);
Instructions du programme
scanf("%f",&mem2);

} Accolade de fin

37
L structures
Les t t d
de contrôle
t ôl
 Quelques problèmes simples :
 Convertir les Fahrenheit en Celsius et afficher un
message si la température (en °C) est négative
 Déterminer le min et le max parmi 2 nombres
 Afficher les nombres impairs entre 0 et 100
(inclus)

 Nécessitent des tests ou des boucles : ce sont


les structures de contrôle

38
St t
Structure de
d contrôle
t ôl : LLes b
boucles
l
 3 types de boucles
 Boucles for
 De i = 0 à N, faire instructions

 Boucles while
 Tant que (condition vraie),
vraie) faire instructions

 Boucles
B l do d while
hil
 faire instructions Tant que (condition vraie)

39
L b
Les boucles
l
 E
Exemples
l d de b
boucles
l for
f :
for (i=0;i<100;i++)
Nombre = Nombre *2; /* Fin de la boucle for : i s’incrémente s’il
n’est
’ pas éégall à 100 et la
l ligne
l d’instruction
d’ est ré‐exécutée
é é é */

for (i=0;i<=100;i=i+10)
{
Nombre = Nombre *2; /* Plusieurs instructions : donc on met des
accolades */
Nombre2 = Nombre2 *3;
} /* Fin de l a boucle for : i s’incrémente etc… */

for (i=0;;i++) {…} /* La condition de terminaison est


facultative mais pas le ; */

for (;;) {…} //* Une boucle for particulière !! *//

40
L b
Les boucles
l
 E
Exemples
l d de b
boucles
l while
hil :
while (i<100)
ii++;; //* Fin de la boucle while: i s’incrémente
s incrémente ss’ilil n
n’est
est pas égal
à 100 et la ligne d’instruction est ré‐éxécutée*/

while (i<100)
( )
{
i++;
Nombre = Nombre *i;i; //* Plusieurs instructions : donc on met
des accolades */
Nombre2 = Nombre2 *2*i;
} ; //* Fin de la boucle while*/
while /

while (1) { … } /* Une boucle while particulière !! */

41
L b
Les boucles
l
 Les boucles do … while :
 Syntaxe proche des while
 Mais ce type de boucle sera exécutée au moins
une fois (même si la condition est fausse
d’emblée)
do {
i++;
}
while (i<100) ;

42
L conditions
Les diti d’arrêt
d’ êt des
d boucles
b l
 Condition d’arrêt : expression logiques
 Opérateurs :
Opérateurs Signification
< I fé i
Inférieur à
<= Inférieur ou égal à Même
priorité
> Supérieur ou égal à
>= Supérieur ou égal à
== Égal (ne pas confondre avec =
qui correspond à l’affectation)
Priorité
!= Différent de inférieure

43
L conditions
Les diti d’arrêt
d’ êt
 Condition d’arrêt : expression logique
 Évaluation d d’expression
expression logique :
 A l’aide de : || (Ou) && (Et) ! (négation logique)

 Exemple l : (i>= 100) || (j==10) && !(k>0)


 && pprioritaire sur ||
 0 correspond à Faux

 Toute
To te valeur
ale r non nulle
n lle correspond à Vrai
 Exemple : if (correct) ou bien if(!correct)

44
St t
Structure de
d contrôle
t ôl : LLes ttests
t
 2 types d
de tests
 Les if … else
 Les
L switch
it h

 Les if … else
if (Condition) instruction1;

if (Condition)
(C diti ) i instruction1;
t ti 1
else instruction2;

if (Condition)
{ instruction1; instruction2; }
else { instruction2 ;}

45
L ttests
Les t : lles if imbriqués
i bi é
 E
Exemple
l
if (choix1< 0)
if (choix2>0)
instruction1;
else
instruction2;
 Le else se rapporte toujours au dernier if sans else
 L’indentation n’a pas de conséquence sur la
compilation …
 … maisi sur lla lilisibilité:
ibilité PPensez donc
d à iindenter
d t !
 Code::Blocks propose d’ailleurs une mise en forme via
gg > Source code fformatter
Pluggins

46
L ttests
Les t : lles if successifs
if
 Application : choix successifs
if (
(choix1< 0)
) instruction1;
;
else if (choix2>0) instruction2;
else if (choix3>0)
( h i 3>0) i
instruction3;
t ti 3
else if (choix4>0) instruction4;
[ else instruction5; ]

47
L ttests
Les t
 Les switch
Switch (Choix)
{
case 1 : instruction1 ; break;
case 2 : instruction2 ; break;
case 3 : instruction3 ; break;

default : instruction_default ; break;
}

 Le break permet de sortir de la boucle lorsque la


condition est vérifiée
 La variable de choix doit être de type entier (ou
caractère)
 Le
e default nn’est
est exécuté que si aucun des autres cas
n’est vrai : il est facultatif.
 Le break après default est facultatif mais est une bonne
convention d’écriture

48
T bl
Tableau à 1 di
dimension
i en LLangage C
 Comme pour les variables, on va rencontrer les tableaux dans
3 types de circonstance : Déclaration – Initialisation –
Utilisation
 Déclaration :
int tab[10] ;
Attention : int tab[n] est interdit en C
 L numérotation
La é t ti d des composantest commence à 0 ett se
termine à N‐1 ; ex : tab[0] à tab[9]
 Utilisation :
x = tab[2] + tab[4];
tab[2] = tab[4]*2 ;
tab[i] = i + j ; 49
T bl
Tableau à 1 di
dimension
i en LLangage C
 Attention :
Si on dépasse la taille du tableau : le programme compile mais
l’ é i « plantera
l’exécution l »
 Initialisation :
 Fortement conseillé
 2 façons : soit à la déclaration, soit dans le code
int Montab[5] = {1,3,17,-54,2} ;
__________________________________
int Montab[5] ;
… bout de code
// boucle remplissant les cases tab[i]
50
T bl
Tableau à 2 di
dimensions
i en LLangage C
 Pratiquement comme pour les tableaux 1D.
 Déclaration :
int tab[10][2] ; // 10 lignes, 2 col.

 Utilisation :
x = tab[2][3] + tab[2][4];
tab[2][4] = tab[1][4]*2 ;
tab[i][j] = i + j ;

51
L b
La base 2
 EEn iinformatique,
f i l iinformations
les f i sont stockées

dans des dispositifs électroniques ne prenant que
2 états électriques : un état correspond à 0 et
l’autre à 1.
 On parle alors de bits (« binary digit »)
 Ca impose de représenter les nombres en base 2
(ou binaire)
 On peut presque s’en affranchir pour
programmer en Langage évolué.
 Voyons en cependant le principe

52
L b
La base 2
 En base 10 : on exprime les nombres avec 10
chiffres de 0 à 9 :
1984 = 1.103 + 9.102 + 8.101 + 4.100
 E b
En base 2:
2 on a seulement
l t 2 chiffres
hiff 0 ett 1
1011 = 1.23 + 0.22 + 1.21 + 1.20
soit 11

53
L b
La base 2
 En informatique : la « case mémoire »
élémentaire est l’octet (g
(groupement
p de 8 bits))
ou byte en anglais
 Une donnée peut être mémorisée sur
plusieurs octets (voir juste après)
 Un octet permet de coder :
De 0000 0000 à 1111 1111
Soit de 0 à 255 en non‐signé
ou de – 128 à +127 en signé
54
T
Types des
d variables
i bl en C
 Pourquoi déclarer le type des variables ?
 Pour que ll’ordinateur
ordinateur puisse traiter une mémoire
il doit connaître :
 Son emplacement physique
 La taille occupée par cette mémoire (en nombre
d’octets))

 Emplacement physique  Rôle de la chaîne de


développement (Code::Blocks)
 La taille occupée  le programmeur le fait en
indiquant le type
55
T
Types des
d variables
i bl en C
 Types entiers :
c
char
a : 1 octet
 short: 2 octets
 long:
l 4 octets
 int: 2 ou 4 octets car ça dépend du
compilateur : type le plus employé. Ici 4 octets.
 Et aussi
 Types « unsigned » : unsigned short int,
unsigned long int int.
56
O é ti
Opérations sur lles entiers
ti
 5 opérations :
 + (addition),
(addition) ‐ (soustraction),
(soustraction) * (produit),
(produit)
/ (division), % (reste de la division entière).
 ÉÉvaluation
l i d de lla gauche
h vers lla d
droite
i
 / et * : même niveau de priorité et priorité sur +
et ‐

57
O é ti
Opérations sur lles entiers
ti
 Opérations unaires :
 i++
 ++i
 i--
i
 --i
 i+=5 signifie i = i+5
 Idem avec i*=a etc.

58
T
Types des
d variables
i bl en C
 Types réels :
 float:
oat réel en simple
p précision
p codé sur 4
octets
 double: réel en double précision codé sur 8
octets
 4 opérations
é ti :
 Les mêmes que pour les entiers, mais sans le
modulo (%)

59
E résumé
En é é
Type en C
T Nom F
N Françaisi T ill (octets)
Taille ( t t) V l
Valeurs permises
i
unsigned short int entier court non signé 2 0 à 65 536
short entier court 2 -32 768 à 32 767
unsigned long int entier long non signé 4 0 à 4 294 967 295
long int entier long 4 -2 147 483 648 à 2 147 483 647
int entier (16 bits) 2 -32 768 à 32 767
int entier (32 bits) 4 -2 147 483 648 à 2 147 483 647
unsigned int entier non signé (16 2
0 à 65 536
bits)
unsigned int entier non signé (32 4
0 à 4 294 967 295
bits)
char texte 1 256 caractères (0 à 255)
float nombre décimal 4 1.2e-38 à 3.4e38
double nombre double 8 de 2.2e-308
2 2e 308 à 1.8e308
1 8e308

60
P i ité d
Priorité des opérateurs
é t
 L’expression la plus à droite est d’abord
évaluée p
puis stockée dans la variable
immédiatement à gauche du =
 Dans une expression
expression, la règle d’associativité
est de gauche à droite
 Avec certaines règles de priorité :
(du plus au moins prioritaire)

++ ‐‐
* / %
+ ‐
61
Ch i d
Choix des ttypes
 Attention : Le compilateur ne fait pas le
traitement des dépassements de capacité.
 C’est au développeur de typer ses variables de
façon correcte
 Exemple :
char a,b,c;

a = b + c ;
Ce programme va être compilé, s’exécuter
(apparemment) normalement, mais est faux !
62
C
Conversion
i ded types
t
 Attention
Att ti : les
l opérateurs
é t sontt conçus pour 2 opérandes
é d de d même
ê
type et produisent un résultat du même type.
int a,b;
a+b est de type int
5/2 est donc int et vaut 2 !!
32/100*100
32/100 100 vaut 0
 Quand 2 opérandes de types différents, le compilateur convertit
dans le type dominant avec la convention :
Ch
Char < short
h t i intt < long
l int
i t < float
fl t < d double
bl

 Forçage
ç g de type
yp :
5/2.0 Le résultat est un float valant 2.5
32/100.0*100
Le résultat est un float valant 32.0
32 0
63
C
Conversion
i ded types
t
 Exemples :
int a=64,b=2;
float x=1,y=2;

b=7/b;
b 7/b;
/* En premier : calcul de l'argument à droite du = donc 7 (entier) /
2 (entier) donne 3 (entier, reste 1, que l'on obtiendrait par 5%2).
donc b=3 */

x=7/b;
/* 7 et b entiers => passage en réel inutile, calcul de 7/2 donne 3
( ti
(entier, reste
t 1) puis
i opérateur
é t = (t
(transformation
f ti d
du 3 en 3
3.0
0 puis
i
transfert dans X qui vaut donc 3.0) */

x=7/y;
x 7/y;
/* un int et un float autour de / : transformation implicite de 7 en
réel (7.0), division des deux réel (3.5), puis transfert dans x */

x=7.0/b;
/* un int et un float autour de / : transformation implicite de b en
réel, division des deux réel (3.5), puis transfert dans x */ 64
C
Conversion
i ded types
t
 Attention :
 Le compilateur fait une conversion de type sans
tenir compte du membre de gauche de
l affectation
l’affectation
 Le résultat peut donc dépasser le type prévu
 D’où perte d’informations !

65
C t t symboliques
Constantes b li
 Définies
Défi i en début
déb de d programme (au
( même
ê
niveau que les #include) par :
#define PI 3
3.14159
14159
#define TAUX_TVA 0.196
 Règle de style : constantes symboliques en
majuscules
 Règle
g de syntaxe
y :p
pas de signe
g = et p
pas de ;
 Intérêt :
 Lisibilité du code
 1 seule modification de la valeur même s’il y a
plusieurs occurrences

66
C t t symboliques
Constantes b li
 Exemples d’utilisation
x = sin(2*PI*Omega*t) ;
Prix = Cout* (1 + TAUX_TVA) ;

 Les constantes symboliques sont très utilisées

67
Affi h
Affichage console
l avec printf
i tf
 Affichage de variables
int x;
printf("x =%d\n" ,x);
Affiche ll’int
int x et saute à la ligne suivante
Les codes de format d’affichage sont :
%d int
%c char
%f fl t
float
%lf double …

68
Affi h
Affichage console
l avec printf
i tf
 Affichage de variables et de chaînes de
caractères
int x = 2 ;
double y = 2.5 ;
printf(‘‘le produit de %d par %lf vaut
%lf \n’’ , x , yy, x*y);
y
Affiche : le produit de 2 par 2.5 vaut 5

69
S i i clavier
Saisie l i avec scanff ett printf
i tf
 Saisies de valeur de variables
int x ;
printf(‘‘Entrez x = \n’’);
scanf(‘‘%d ’’,&x);

 Stocke nombre tapé au clavier dans la variable x

Attention :
au signe & devant la variable x
pas de \\n dans le scanf
p
70

Vous aimerez peut-être aussi