Types entiers
4 variantes d'entiers : caractères (char), entiers courts (short int),
entiers longs (long int) et entiers standards (int).
Caractéristiques :
Remarques :
Un caractère est un nombre entier (il s'identifie à son code ASCII). un
char peut contenir une valeur entre -128 et 127 et elle peut subir les mêmes
opérations que les variables du type short, int ou long.
Un nombre entier de type int est souvent représenté sur 1 mot machine (16
bits ou 32 bits).
Si l'on ajoute le préfixe unsigned à l'une de ces variantes, alors on
manipule des entiers non signés :
unsigned char : indique des valeurs entières entre 0 et 255.
unsigned int (resp. short) : entre 0 et 65535.
unsigned long : entre 0 et 4294967295.
Types réels:
3 types de réels :
réels simple précision (float),
réels double précision (double) et
réels très grande précision (long double).
Caractéristiques :
Déclaration des types simples
Les variables et les constantes sont les données principales
manipulées par un programme.
En C toute variable utilisée dans un programme doit auparavant avoir
été définie. Cette définition consiste à la nommer, à lui donner un type
Syntaxe de déclaration :
<type> <NomVar1>, <NomVar2>, …, NomVarN> ;
Exemple en C :
long x, y ;
short compteur ;
float hauteur, largeur ;
double r ;
char touche ;
Déclaration des types simples
Constantes
Entière
* Sous forme décimale : 100, 255.
Utilisation des suffixe U, L ou UL
* Sous forme octale: 0144, 0377.
Pour forcer le type
* Sous forme hexadécimale: 0x64, 0Xff
Réelle
* Sous forme décimale : 123.4.
* Sous forme exponentielle: 1234e-1.
Type double; utilisation des suffixes
F ou L pour forcer le type
Caractère
* Sont toujours indiqués entre apostrophes ' ‘: ’A’.
* Pour les caractères spéciaux, utiliser \: \t.
Chaîne de caractères
* Une suite de caractères représentées entre guillemets " " : " a"
* Le caractère nul '\0' est rajoutée à toute chaîne pour indiquer sa fin.
Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations
Le Langage C fournis plusieurs opérateurs. Des opérateurs classiques (arithmétique, relationnels, logiques), d’autres moins classiques (manipulation de bits) ou d’opérateurs originaux d’affectation ou d’incrémentation Une expression est un calcul qui donne une valeur comme résultat.
En C, les constantes et les variables sont des expressions..
Une expression peut comporter des variables et des constantes combinés entre eux par des opérateurs et former ainsi une expression complexe
Toute expression suivie d'un point virgule devient une instruction.
Une instruction en C est un ordre qui sera traduit (par la compilateur) en un ou plusieurs instructions machine.
const int LONG = 141 ;short val, résultat ; val = LONG ;
resultat = 45 + 5 * val;
a=b=c=d <--> a=(b=(c=d))
+ - * /
L'opérateur % permet d'obtenir le reste de la division entière.
L'opérateur / retourne un quotient entier si les deux opérandes sont entiers. Il retourne un quotient réel si l’un au moins des opérandes est un réel.
&& : ET logique (and)
|| : OU logique (or)
! : négation logique (not)
S'appliquent à des expressions booléennes (0 si faux et valeur non nulle si vrai)
ET retourne la valeur 1 si les deux opérandes sont non nuls, et 0 sinon.OU retourne la valeur 1 si au moins un des opérandes est non nul, et 0 sinon.
Exemples
= = , != ,<, <=, >, >=
Opérateurs retournent la valeur 0 si la comparaison est fausse et 1 sinon
Exemple 0 || !(32 > 12) retourne la valeur 0.
Ils travaillent sur les bits. Les opérandes doivent être de type entier (char, short, int, long, signés ou non).
Opérateurs de décalage de bits
>> : décalage à droite. << : décalage à gauche.
L'opérande gauche constitue l'objet à décaler et l'opérande droit le nombre de bits de décalage.
Si la quantité à décaler est signée alors le bit signe est préservée lors d'un décalage à droite, c.-à-d. ce bit se propage de façon à garder le signe de la donnée.
Si la quantité est non signée, les bits laissés libres sont mis à 0.
Exemple
short j,i = -32768 ; /* représ. de i : 1000 0000 0000 0000 */ j = i>>2 ; /* représ. de j : 1110 0000 0000 0000 = -8192*/ unsigned short v,u = 32768 ; /* représ. de u : 1000 0000 0000 0000 */ v = u>>2 ; /* représ. de v : 0010 0000 0000 0000 *
& : ET logique; | : OU inclusif
^ : OU exclusif; ~ : complément à 1.
Ici, les opérateurs portent sur les bits de même rang.
Rappel :
Pour la plupart des expressions de la forme :
lvalue = lvalue OPérateur (expr2)
Il existe une formulation équivalente utilisant un opérateur d’affectation étendu:
lvalue OP= expr2
Opérateurs d'affectation utilisables :
+= -= *= /= %=
<<= >>= &= ^= |=
Exemples
a = a + b s'écrit a += b
n = n << 2 s'écrit n <<= 2
<expr1> , <expr2>,…, <exprN>
Exprime des calculs successifs dans une même expression
Le type et la valeur de l'expression sont ceux du dernier opérande.
Exemple :
L'expression : x = 5 , x + 6 a pour valeur 11
<expression> ? <expr1> : <expr2>
<expression> est évaluée. Si sa valeur est non nulle, alors la valeur de
<expr1> est retournée. Sinon, c'est la valeur de <expr2> qui est renvoyée.
Exemple
sizeof(<type>) ou sizeof(<variable>)
int x ; sizeof(x) /* retourne la valeur 2 ou 4*/
Exemples
La multiplication a la priorité sur l'addition
La multiplication et l'addition ont la priorité sur l'affectation.
Les parenthèses forcent la priorité
Char c; c= c+1;
char a = 49; // a = ‘1’
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.