Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes
Hiver 2005Maj 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 2005Maj JGA Beaulieu & Capt MWP LeSauvage Synopsis Types Variables Constantes Caractères spéciaux
Hiver 2005Maj 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 lintention dune variable rencontre son utilisation. Définissent un ensemble de valeurs et un ensemble dopé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 2005Maj 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 2005Maj JGA Beaulieu & Capt MWP LeSauvage Types en C - void void: Aucune valeur et seulement une opération; laffectation (=). Cest un type générique qui peut être utilisé pour représenter dautres types. Ce type est très flexible et comme nous allons le voir durant le cours, il est souvent utilisé.
Hiver 2005Maj 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 linformation sur la grandeur des entiers (int) pour la plateforme courante INT_MAX et INT_MIN Aussi vous pouvez vérifier la grandeur (en octets) dun int avec lopérateur sizeof() sizeof(short int);
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Types en C – Integer (int) TypeSigneOctetsValeur MinValeur Max short intSigned Unsigned 2-32, ,767 65,535 int (16 bits) Signed Unsigned 2-32, ,767 65,535 int (32 bits) Signed Unsigned 4-2,147,483, ,147,483,647 4,294,967,295 long intSigned Unsigned 4-2,147,483, ,147,483,647 4,294,967,295
Hiver 2005Maj 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 à lappendice A de Forouzan. Exemple a = 0x61 or 97 10
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Types en C - float Un nombre fractionnaire (float) est un nombre qui a une partie fractionnelle (i.e ) Il y a trois différentes grandeurs pour un float: float, double et long double. TypeOctets float4 double8 long double10
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Types en C - Booléen Il ny a pas de variables booléennes en C!!! No Booléen for you!
Hiver 2005Maj 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 2005Maj JGA Beaulieu & Capt MWP LeSauvage Types en C – String Il ny a pas de strings en C non plus; il y a juste des tableaux de caractères, nous allons voir cela bientôt.
Hiver 2005Maj 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 quune variable a un type, elle a aussi une grandeur et un ensemble dopé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 davoir à savoir où les variables sont physiquement; cela devient la responsabilité du compilateur. Les variables ne peuvent pas être déclarées comme void
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Variables
Hiver 2005Maj 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 2005Maj 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 = Comme les variables, les constantes ont un type.
Hiver 2005Maj 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éraleValeurType 123 int L-32,000long int 76453LU76,453unsigned long int
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage Constantes - float Les constantes float: Si vous ne spécifiez pas un type, la constante est un double. LittéraleValeurType 1.0 double F3.1416float L76,453.1long double
Hiver 2005Maj 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 2005Maj 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 2005Maj JGA Beaulieu & Capt MWP LeSauvage Quiz Time Pourquoi utilisons nous des types dans un langage? Quest-ce quune variable