Cours langage C opérateurs et expressions

Cours langage C opérateurs et expressions, tutoriel & guide de travaux pratiques langage C en pdf.

conversion de types

conversion implicite

Si un opérateur porte sur deux opérandes de types différents, il y a conversion du type le plus faible dans le type le plus fort (nombre d’octets).
conversion forcée
Utilisation de fonctions de conversion appelées opérateur de cast.
Syntaxe:
(float) n
(int) x
(float)(n/p)
(double) n/p
déclaration de constantes symboliques
Soit à l’aide du préprocesseur
#define
exemple: #define x 100
Toute valeur de x dans le programme aura la valeur 100
#define entier int
#define debut {
Soit par l’attribut const
Const int n=10;
n est une constante entière qui ne peut être modifiée dans la fonction où elle est déclarée.
définir un nouveau type
Au moyen du constructeur typedef
Le constructeur typedef permet de donner un nouveau nom à un type déjà existant.
Syntaxe:
typedef <déclaration>
Exemple: typedef int entier
typedef float reel
typedef double variable
Rem: Attention à la syntaxe différente de l ‘instruction define où il y a affectation tandis que pour typedef il y a synonyme

ECRITURE DES CONSTANTES NUMERIQUES

entières
-décimales
-octales: nombre écrit en base 8 précédé du chiffre 0
-héxadécimales: nombre écrit en base héxadécimale précédé des caractères 0x ou 0X
Possibilité de gérer des constantes sur 32 bits en ajoutant L ou l à la suite de sa valeur.
Possibilité de gérer des constantes non signées en ajoutant u ou U à la suite de sa valeur.
réelles
-flottantes: doivent comporter un point.
-exp: lettre e sans espace dans l’exposant.
Possibilité de gérer des constantes de type float en fa isant suivre son écriture de la lettre F ou f .
caractères
-directement entre apostrophes ‘ ‘ : soit ‘s’; ‘+’;’10’.
-soit à partir du code ASCII sous forme octale: ‘\012’
-soit à partir du code ASCII sous forme héxadécimale: ‘\x7’
remarque générale:
Les constantes sont converties par le préprocesseur dans les calculs en type double.

OPERATEURS ET EXPRESSIONS

Une expression est constituée de variables et constantes (littérales ou symboliques) reliées par des opérateurs.
Lorsque les types des opérandes sont différents, il y a conversion implicite dans le type le plus fort.
opérateurs arithmétiques
+,-,*,/,%
Pas d’opérateur de puissance; appel à la fonction pow.
A priorité identique: associativité de gauche à droite.
opérateurs relationnels
<, <=, >, >=, ==(identique), != (différent)
Le résultat d’une comparaison est un entier: 1 si vrai 0 si faux.
opérateurs logiques
&& (et), || (ou), ! (négation)
Les opérateurs logiques acceptent tout opérande numérique avec: 0 correspond à faux ( renvoi 0) et toute valeur numérique !=0 à vrai (renvoi 1).
opérateurs d’incrémentation et de décrémentation
++, — ce sont des opérateurs unaires permettant d’ajouter ou de retrancher 1 au contenu de leur opérande.
Cette opération est effectuée après ou avant l’évaluation de l’expression suivant que l’opérateur suit ou précède son opérande
Exemple: ++i pré incrémentation de i de 1
i++ post incrémentation de i de 1
5.5 opérateurs d’affectation logique
Opérateur suivi d’une affectation: i+=k équivalent à i=i+k i*=(i-3) équivalent à i=i*(i-3)
Ceci peut s’employer avec beaucoup d’autres opérateurs.
+=, -=, *=, /=, %=
Syntaxe générale:
ivalue=ivalue opérateur expression, équivalent à ivalue opérateur=expression
opérateur conditionnel
?: opérateur ternaire
Syntaxe:
exp1? exp2 : exp3
La valeur de l’expression exp1 est interprétée comme un booléen. Si elle est vraie c’est à dire non nulle seule l’expression 2 est évaluée sinon c’est l’expression 3 qui est évaluée. Exemple: (i<0)?0:10;9
opérateur séquentiel
Possibilité de plusieurs séquences: i++,j=i+k;
5.8 opérateur d’adressage
& Cet opérateur appliqué à un objet renvoie l’adresse en héxadécimale de cet objet.
opérateur de taille
sizeof
Renvoie la taille en octets de son opérande. L’opérande est soit une expression soit une expression de type.
Exemple: sizeof i;
sizeof (int)
opérateurs de manipulation de bits
opérateurs arithmétiques bit à bit
Ils correspondent aux 4 opérateurs de l’arithmétique booléenne:
~ non logique & et logique | ou logique ^ ou exclusif
Les opérandes sont de type entier et les opérations s’effectuent bit à bit suivant la logique binaire.
opérateurs de décalage
>> décalage à droite << décalage à gauche Exemple: n<<2
Le motif binaire est décalé du nombre de bits indiqué. Dans le cas d’un décalage à gauche les bits les plus à gauche sont perdus. Les positions binaires vacantes sont remplies par des 0.
Pour un décalage à droite, les bits le plus à droite sont perdus. Si l’entier décalé est non signé les positions binaires vacantes sont remplies par des 0, s’il est signé le remplissage se fait à l’aide du bit de signe (0 ou 1).

LIRE AUSSI :  La programmation en C++ cours complet

SORTIES-ENTREES

LIEN
Faire appel au préprocesseur par la commande:
#include<stdio.h>
SORTIES
syntaxe
printf(« codes format »,liste d’arguments);
-code format: constante chaîne à afficher contenant ou non un code format précédé par % . Le tout entre quotas.
-liste d’arguments: suite de variables séparées par des virgules;
code format
a -entier
%dlibre
%nd n: nombre de caractères à afficher avec cadrage à droite.
%-nd idem avec cadrage à gauche
%nld entier long, ou %ld ou %Ld
%u entier sans signe et %lu pour sans signe et long
%+d pour afficher le signe
b -réel flottant
%f 6 chiffres après le point décimal avec cadrage à droite
%lf flottant double
%Lf flottant long double
%nf n: nombre total de caractères à afficher avec toujours 6 chiffres décimaux
%n.pf p: indicateur de précision correspondant au nombre de chiffres décimaux à garder
c -réel exponentiel
%e 13 caractères en tout affichés dont 3 pour la puissance et 6 chiffres décimaux
%le exp double
%Le exp long double
%n:pe n: nombre total de caractères et p nombre de chiffres décimaux
d -précision variable
%n.* affichage en flottant ou * signifie que la précision est fournie dans la liste d’arguments
e -octal et héxadécimal
%o valeur en octal
%x valeur en héxadécimal
f -caractère
%c (voir aussi d’autres fonctions telles que putchar()

NOTIONS FONDAMENTALES
1 STRUCTURE D’UN PROGRAMME C
1.1 PROGRAMME C
1.2 FONCTION
1.3 EXEMPLE
2 COMPILATEUR ET EDITION DE LIENS
3 LES DECLARATIONS DE VARIABLES OU CONSTANTES
3.1 Les types de base
3.2 conversion de types
3.3 déclaration de constantes symboliques
3.4 définir un nouveau type
4 ECRITURE DES CONSTANTES NUMERIQUES
4.1 entières
4.2 réelles
4.3 caractères
5 OPERATEURS ET EXPRESSIONS
5.1 opérateurs arithmétiques
5.2 opérateurs relationnels
5.3 opérateurs logiques
5.4 opérateurs d’incrémentation et de décrémentation
5.5 opérateurs d’affectation logique
5.6 opérateur conditionnel
5.7 opérateur séquentiel
5.8 opérateur d’adressage
5.9 opérateur de taille
5.10 opérateurs de manipulation de bits
6 SORTIES -ENTREES
6.1 LIEN
6.2 SORTIES
6.3 ENTREES
7 INSTRUCTIONS DE CONTROLE
7.1 INSTRUCTIONS DE CHOIX
7.2 INSTRUCTIONS DE BOUCLE
7.3 INSTRUCTIONS DE BRANCHEMENT
8 VECTEURS (tableaux)
8.1 VECTEURS UNE DIMENSION
8.2 VECTEURS DEUX DIMENSIONS
8.3 INITIALISATIONS
9 FONCTIONS
9.1 PROPRIETES GENERALES
9.2 PASSAGE ARGUMENTS
9.3 RECURSIVITE
10 CLASSES D’ALLOCATION OU CLASSES DE MEMORISATION
10.1 CLASSES AUTOMATIQUES: classes auto
10.2 CLASSES STATIQUES
10.3 CLASSES GLOBALES
10.4 FONCTIONS
11 POINTEURS
11.1 DEFINITION
11.2 DECLARATION
11.3 OPERATIONS SUR LES POINTEURS
11.4 POINTEURS ET VECTEURS
11.5 POINTEURS ET FONCTIONS
11.6 OBJETS PLUS COMPLEXES
12 STRUCTURES
12.1 DEFINITION
12.2 DECLARATION
12.3 ACCES AUX MEMBRES
12.4 INITIALISATION DE STRUCTURES
12.5 EXEMPLES DE STRUCTURES
12.6 STRUCTURE EN ARGUMENT DE FONCTION
12.6.1 par valeur
13 CHAINES DE CARACTERES
13.1 INITIALISATION
13.2 ENTREE-SORTIE DE CHAINES
13.3 FONCTIONS DE MANIPULATION DE CHAINES
14 FICHIERS
14.1 OUVERTURE ET FERMETURE D’UN FICHIER
14.2 ECRITURE ET LECTURE BINAIRE
14.3 FIN DE FICHIER
14.4 EXEMPLE DE PROGRAMME
14.5 ECRITURE ET LECTURE FORMATEES
14.6 ACCES DIRECT
15 PREPROCESSEUR
15.1 PRINCIPALES DIRECTIVES

………..

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *