Upload
rodolph-barret
View
105
Download
0
Embed Size (px)
Citation preview
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
GEF 243BProgrammation informatique appliquée
Types, variables et constantes
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Revue
• Donnez deux différences majeures entre C et Java.• Quelles sont les étapes pour créer un programme
en C? • Quelles sont les caractères valides pour des
identificateurs en C?
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Synopsis
• Types• Variables• Constantes• Caractères spéciaux
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C
• Que sont les types de toute façon?En terme communs, les types aident au compilateur à
faire une vérification de base pour vérifier si l’intention d’une variable rencontre son utilisation.
Définissent un ensemble de valeurs et un ensemble d’opérations qui peuvent être utilisées sur ces valeurs.
Les variables et les fonctions ont des types. • Et les constantes aussi (implicitement)
Les types peuvent être standards ou dérivés. On va regarder les types standards pour les variables;
• les types pour les fonctions et les types dérivés sont vues plus tard.
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C
• Les types de données standard en C sont atomiques (ils ne peuvent pas être décomposés en plus petits éléments)
Figure 2-6
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C - void
• void: Aucune valeur et seulement une opération; l’affectation (=).
• C’est un type générique qui peut être utilisé pour représenter d’autres types.
• Ce type est très flexible et comme nous allons le voir durant le cours, il est souvent utilisé.
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C – Integer (int)
• Les ‘integers’ sont des nombres entiers (sans fractions). En C il y a trois sortes de types de données int: short int, int, long int:
• Un int peut être ‘signed’ ou ‘unsigned’• La bibliothèque limits.h de C, contient
l’information sur la grandeur des entiers (int) pour la plateforme courante INT_MAX et INT_MIN
• Aussi vous pouvez vérifier la grandeur (en octets) d’un int avec l’opérateur sizeof()sizeof(short int);
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C – Integer (int)
Type Signe Octets Valeur Min
Valeur Max
short int Signed
Unsigned
2 -32,768
0
32,767
65,535
int
(16 bits)
Signed
Unsigned
2 -32,768
0
32,767
65,535
int
(32 bits)
Signed
Unsigned
4 -2,147,483,648
0
2,147,483,647
4,294,967,295
long int Signed
Unsigned
4 -2,147,483,648
0
2,147,483,647
4,294,967,295
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C - char
• Les caractères (char) utilisent normalement un octet (8 bits) pour stocker des caractères en ASCII.
• Les char sont stockés en mémoire comme des int, représentant le code ASCII pour le caractère correspondant.Donc en C, les caractères sont souvent traités comme
des entiers (int)Une table ASCII est fournit à l’appendice A de
Forouzan.Exemple ‘a’ = 0x61 or 9710
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C - float
• Un nombre fractionnaire (float) est un nombre qui a une partie fractionnelle (i.e. 43.56)
• Il y a trois différentes grandeurs pour un float: float, double et long double.
Type Octets
float 4
double 8
long double 10
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C - Booléen
• Il n’y a pas de variables booléennes en C!!!
No Booléen for you!
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C – Données logiques
• Touts les nombres qui sont non zéro en C (positifs ou négatifs) sont utilisés pour représenter la valeur logique vrai et zéro est utilisé pour représenter faux
• (1 == 1) vrai• (1 != 1) faux• (i = 0) faux • (i = 1 + 1) vrai
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Types en C – String
• Il n’y a pas de strings en C non plus; il y a juste des tableaux de caractères, nous allons voir cela bientôt.
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Variables
• Les variables ne sont rien de plus que des espaces de mémoire avec un nom et un type Parce qu’une variable a un type, elle a aussi une grandeur et un
ensemble d’opérations qui sont définies par le type
• Les noms de variable sont des symboles qui sont utilisés pour identifier la location des données en mémoire. Ceci libère le programmeur d’avoir à savoir où les variables sont
physiquement; cela devient la responsabilité du compilateur.
• Les variables ne peuvent pas être déclarées comme void
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Variables
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Variables - initialisation
• Les variables ne sont pas initialisées automatiquement quand elles sont déclarées, sauf pour quelques exceptions; elles contiennent des déchets
• Les variables peuvent être initialisées quand elles sont déclarées :
int compte = 0;
char initial = ‘a’;
float tauxTaxe = 0.15;
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Constantes
• Il y a trois façons de coder des constantes dans un programme: Littérale: une constante sans nom pour spécifier des données
• ‘a’ , 5, “Bonjour le Monde”, 3.25
Constantes Définies• #define TAXE_DE_VENTE 0.07 // pas de ;
Constantes de mémoire• const float PI = 3.14159
• Comme les variables, les constantes ont un type.
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Constantes - int
• Les constantes int: Si vous ne spécifiez pas un type, la constante est un signed int.
Littérale Valeur Type
123 123 int
-32000L -32,000 long int
76453LU 76,453 unsigned long int
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Constantes - float
• Les constantes float: Si vous ne spécifiez pas un type, la constante est un double.
Littérale Valeur Type
1.0 1.0 double
3.1416F 3.1416 float
76453.1L 76,453.1 long double
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Constantes – characters & strings
• ‘\0’ /* caractère nulle */• ‘h’ /* le caractère h */• “” /* une string vide */• “h” /* une string contenant le caractère h */• “Bonjour le monde”
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Caractères spéciaux
• Null character ‘\0’• Alert ‘\a’• Backspace ‘\b’• Horizontal tab ‘\t’• New line ‘\n’• Vertical tab ‘\v’• Form feed ‘\f’• Carriage return ‘\r’• Single quote ‘\’’• Double quote ‘\”’• Backslash ‘\\’
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage
Quiz Time
• Pourquoi utilisons nous des types dans un langage?
• Qu’est-ce qu’une variable