Langage C : ELEMENTS DE LANGAGE C (Cours et Exercices corrigés)
Monday, June 6, 2011     17:19
  • Mon @ IP: 54.147.142.16



retour

Poster un commentaire ou une réponse

ELEMENTS DE LANGAGE C (Cours et Exercices corrigés)

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:13:35

Une disquette contenant les programmes (développés sous Borland C++) de ce polycopié est disponible, en évitant la saisie.
Le corrigé des exercices et le listing de ces programmes se trouvent à la fin de chaque chapitre.



----------------------INTRODUCTION----------------



Le langage C est un langage évolué et structuré, assez proche du langage machine destiné à des applications de contrôle de processus (gestion d'entrées/sorties, applications temps réel ...). Les compilateurs C possèdent les taux d'expansion les plus faibles de tous les langages évolués (rapport entre la quantité de codes machine générée par le compilateur et la quantité de codes machine générée par l'assembleur et ce pour une même application);

Le langage C possède assez peu d'instructions, il fait par contre appel à des bibliothèques, fournies en plus ou moins grand nombre avec le compilateur.

exemples:
math.h : bibliothèque de fonctions mathématiques
stdio.h : bibliothèque d'entrées/sorties standard

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:13:45

On ne saurait développer un programme en C sans se munir de la documentation concernant ces bibliothèques.

Les compilateurs C sont remplacés petit à petit par des compilateurs C++.
Un programme écrit en C est en principe compris par un compilateur C++.
Le cours qui suit est un cours ce langage C écrit dans un contexte C++.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:14:35

------ETAPES PERMETTANT L'EDITION, LA MISE AU POINT, L'EXECUTION D'UN PROGRAMME------

1- Edition du programme source, à l'aide d'un éditeur (traitement de textes). Le nom du fichier contient l'extension .CPP, exemple: EXI_1.CPP (menu « edit »).

2- Compilation du programme source, c'est à dire création des codes machine destinés au microprocesseur utilisé. Le compilateur indique les erreurs de syntaxe mais ignore les fonctions-bibliothèque appelées par le programme.
Le compilateur génère un fichier binaire, non listable, appelé fichier objet: EXI_1.OBJ (commande « compile »).

3- Editions de liens: Le code machine des fonctions-bibliothèque est chargé, création d'un fichier binaire, non listable, appelé fichier executable: EXI_1.EXE (commande « build all »).

4- Exécution du programme (commande « flèche jaune »).

Les compilateurs permettent en général de construire des programmes composés de plusieurs fichiers sources, d'ajouter à un programme des unités déjà compilées ...

Exercice I-1: Editer (EXI_1.CPP), compiler et exécuter le programme suivant:

#include <stdio.h>/* bibliotheque d'entrees-sorties standard */ #include <conio.h> void main() { puts("BONJOUR");/* utilisation d'une fonction-bibliotheque */ puts("Pour continuer frapper une touche..."); getch(); /* Attente d'une saisie clavier */ }

Le langage C distingue les minuscules, des majuscules. Les mots réservés du langage C doivent être écrits en minuscules.

On a introduit dans ce programme la notion d’interface homme/machine (IHM).
- L’utilisateur visualise une information sur l’écran,
- L’utilisateur, par une action sur le clavier, fournit une information au programme.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:14:45

Modifier le programme comme ci-dessous, puis le tester :

#include <stdio.h>/* bibliotheque d'entrees-sorties standard */ #include <conio.h> void main() {
int a, b, somme ; /* déclaration de 3 variables */ puts("BONJOUR");/* utilisation d'une fonction-bibliotheque */
a = 10 ; /* affectation* /
b = 50 ; /* affectation */
somme = (a + b)*2 ; /* affectation et opérateurs */
printf(« Voici le resultat : %d\n », somme) ; puts("Pour continuer frapper une touche..."); getch(); /* Attente d'une saisie clavier */ }


Publicité

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:14:56

Dans ce programme, on introduit 3 nouveaux concepts :
- La notion de déclaration de variables : les variables sont les données que manipulera le programme lors de son exécution. Ces variables sont rangées dans la mémoire vive de l’ordinateur. Elle doivent être déclarées au début du programme.
- La notion d’affectation, symbolisée par le signe =.
- La notion d’opération.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:15:19

--------------------LES DIFFERENTS TYPES DE VARIABLES--------------------


1- Les entiers

Le langage C distingue plusieurs types d'entiers:

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:17:39

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:18:07

Numération: En décimal les nombres s'écrivent tels que, précédés de 0x en hexadécimal.
exemple: 127 en décimal s'écrit 0x7f en hexadécimal.

Remarque: En langage C, le type char est un cas particulier du type entier:

un caractère est un entier de 8 bits

Exemples:

Les caractères alphanumériques s'écrivent entre ‘ ‘

Le caractère 'b' a pour valeur 98 (son code ASCII).
Le caractère 22 a pour valeur 22.
Le caractère 127 a pour valeur 127.
Le caractère 257 a pour valeur 1 (ce nombre s'écrit sur 9 bits, le bit de poids fort est perdu).

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:18:32

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:18:55

Modifier ainsi le programme et le tester :

#include <stdio.h>/* bibliotheque d'entrees-sorties standard */ #include <conio.h> void main() {
int a, b, calcul ; /* déclaration de 3 variables */
char u, v; puts("BONJOUR");/* utilisation d'une fonction-bibliotheque */
a = 10 ; /* affectation* /
b = 50 ; /* affectation */
u = 65 ;
v = ‘A’ ;
calcul = (a + b)*2 ; /* affectation et opérateurs */
printf(« Voici le resultat : %d\n », calcul) ;
printf(« 1er affichage de u : %d\n »,u) ;
printf(« 2ème affichage de v : %c\n »,u) ; printf(« 1er affichage de u: %d\n »,v) ;
printf(« 2éme affichage de v: %c\n »,v) ; puts("Pour continuer frapper une touche..."); getch(); /* Attente d'une saisie clavier */ }


Publicité

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:19:08

2- Les réels

Un réel est composé - d'un signe- d'une mantisse- d'un exposant
Un nombre de bits est réservé en mémoire pour chaque élément.

Le langage C distingue 2 types de réels:

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:20:02

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:20:34

-------------LES INITIALISATIONS --------------


Le langage C permet l'initialisation des variables dans la zône des déclarations:

char c;est équivalent à char c = 'A';
c = 'A';

int i;est équivalent à int i = 50;
i = 50;

Cette règle s'applique à tous les nombres, char, int, float ...

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:21:04

------------SORTIES DE NOMBRES OU DE TEXTE A L'ECRAN-----------------

-------------------LA FONCTION PRINTF---------------------------


Ce n'est pas une instruction du langage C, mais une fonction de la bibliothèque stdio.h.

Exemple: affichage d'un texte:

printf("BONJOUR"); /* pas de retour à la ligne du curseur apres l'affichage, */
printf("BONJOUR\n");/* affichage du texte, puis retour à la ligne du curseur. */

Exercice I-2: Tester le programme suivant et conclure.

#include <stdio.h>
#include <conio.h>
void main() { printf("BONJOUR "); printf("IL FAIT BEAU\n"); /* equivalent à puts("BONJOUR"; */ printf("BONNES VACANCES"); puts("Pour continuer frapper une touche..."); getch(); /* Attente d'une saisie clavier */ }

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:21:16

La fonction printf exige l'utilisation de formats de sortie, avec la structure suivante:

printf("%format",nom_de_variable);

Exercice I-3: Affichage d'une variable de type char:

Tester le programe suivant et conclure.
Dans un deuxième temps, le modifier ce programme pour améliorer l’interface utilisateur.

#include <stdio.h>
#include <conio.h>
void main()
{
char c;
c =66;/* c est le caractere alphanumerique A */
printf("%d\n",c);/* affichage du code ASCII en decimal */
/* et retour … à la ligne */
printf("%o\n",c); /* affichage du code ASCII en base huit
/* et retour … à la ligne */
printf("%x\n",c); /* affichage du code ASCII en hexadecimal
/* et retour … à la ligne */
printf("%c\n",c); /* affichage du caractère */
/* et retour à la ligne */
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */
}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:28:48

Exercice I-4: Affichage multiple de structure:

printf("format1 format2 .... formatn",variable1,variable2, .......,variablen);

Tester le programe suivant et conclure:

#include <stdio.h>
#include <conio.h>
void main() { char c; c ='A';/* c est le caractere alphanumerique A */ printf("decimal = %d ASCII = %c\n",c,c);
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */ }


Publicité

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:31:27

%d affichage en décimal (entiers de type int),
%x affichage en hexadécimal (entiers de type int),
%u affichage en décimal (entiers de type unsigned int),

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:32:12

D'autres formats existent, consulter une documentation constructeur.

Exercice I-5:

a et b sont des entiers, a = -21430b = 4782, calculer et afficher a+b, a-b, a*b, a/b, a%b en format décimal, et en soignant l’interface homme/machine.

a/b donne le quotient de la division, a%b donne le reste de la division.

Exercice I-6:

Que va-t-il se produire, à l'affichage, lors de l'exécution du programme suivant ?

#include <stdio.h> /* ex I_6 */
#include <conio.h>
void main()
{ char a = 0x80;
unsigned char b = 0x80;
clrscr();
printf("a en decimal vaut: %d\n",a);
printf("b en decimal vaut: %d\n",b);
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */
}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 11:33:51

Exercice I-7:

En C standard, la taille des entiers est de 32 bits;
Que va-t-il se passer, à l'affichage, lors de l'exécution du programme suivant ?

#include <stdio.h> /* ex I_7.C */ #include <conio.h>
void main()
{
int a = 12345000, b = 60000000, somme;
somme=a*b;
printf("a*b = %d\n",somme);
printf("a*b (en hexa) = %x\n",somme);
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */
}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:26:45

%f : format de sortie pour les réels

Exercice I-8:

a et b sont des réels, a = -21,43b = 4,782, calculer et afficher a+b, a-b, a*b, a/b, en soignant l’interface homme/machine.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:27:01

--------------AUTRES FONCTIONS DE SORTIES--------------


Affichage d'un caractère: La fonction putchar permet d'afficher un caractère:
c étant une variable de type char, l'écriture putchar(c); est équivalente à printf("%c\n",c);

Affichage d'un texte: La fonction puts permet d'afficher un texte:
l'écriture puts("bonjour"); est équivalente à printf("bonjour\n");

Il vaut mieux utiliser puts et putchar si cela est possible, ces fonctions, non formatées, sont d'exécution plus rapide, et nécessitent moins de place en mémoire lors de leur chargement.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:28:15

----------------LES OPERATEURS--------------


Opérateurs arithmétiques sur les réels: + - * / avec la hiérarchie habituelle.

Opérateurs arithmétiques sur les entiers: + - * / (quotient de la division) % (reste de la division) avec la hiérarchie habituelle.

Exemple particulier:
char c,d;
c = 'G';
d = c+'a'-'A';
Les caractères sont des entiers sur 8 bits, on peut donc effectuer des opérations. Sur cet exemple, on transforme la lettre majuscule G en la lettre minuscule g.


Opérateurs logiques sur les entiers:
& ET
| OU
^ OU EXCLUSIF
~ COMPLEMENT A UN
« DECALAGE A GAUCHE
» DECALAGE A DROITE.

Exemples:
p = n « 3;/* p est égale à n décalé de 3 bits à gauche */
p = n » 3;/* p est égale à n décalé de 3 bits à droite */


L'opérateur sizeof(type) renvoie le nombre d'octets réservés en mémoire pour chaque type d'objet.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:28:31

Exemple: n = sizeof(char);/* n vaut 1 */

Exercice I-9: n est un entier (n = 0x1234567a), p est un entier (p = 4). Ecrire un programme qui met à 0 les p bits de poids faibles de n.

Exercice I-10: Quels nombres va renvoyer le programme suivant ?

#include <stdio.h> #include <conio.h>
void main() {
printf("TAILLE D'UN CARACTERE:%d\n",sizeof(char));
printf("TAILLE D'UN ENTIER:%d\n",sizeof(int));
printf("TAILLE D'UN REEL:%d\n",sizeof(float));
printf("TAILLE D'UN DOUBLE:%d\n",sizeof(double));
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */ }

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:30:34

----------------INCREMENTATION - DECREMENTATION---------------Le langage C autorise des écritures simplifiées pour l'incrémentation et la décrémentation de variables:i = i+1; est équivalent à i++;i = i-1; est équivalent à i--;

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:30:57

------------------OPERATEURS COMBINES-----------------


Le langage C autorise des écritures simplifiées lorsqu'une même variable est utilisée de chaque côté du signe = d'une affectation. Ces écritures sont à éviter lorsque l'on débute l'étude du langage C car elles nuisent à la lisibilité du programme.

a = a+b; est équivalent à a+= b;
a = a-b; est équivalent à a-= b;
a = a & b; est équivalent à a&= b;

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:31:31

-------------------LES DECLARATIONS DE CONSTANTES------------------


Le langage C autorise 2 méthodes pour définir des constantes.

1ere méthode: déclaration d'une variable, dont la valeur sera constante pour tout le programme:

Exemple:
void main()
{
const float PI = 3.14159;
float perimetre,rayon = 8.7;
perimetre = 2*rayon*PI;
....
}


Dans ce cas, le compilateur réserve de la place en mémoire (ici 4 octets), pour la variable pi, mais dont on ne peut changer la valeur.


2eme méthode: définition d'un symbole à l'aide de la directive de compilation #define.


Exemple:
#define PI = 3.14159;
void main()
{
float perimetre,rayon = 8.7;
perimetre = 2*rayon*PI;
....
}


Le compilateur ne réserve pas de place en mémoire. Les constantes déclarées par #define s'écrivent traditionnellement en majuscules, mais ce n'est pas une obligation.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:33:53

------------------LES CONVERSIONS DE TYPES-------------------


Le langage C permet d'effectuer des opérations de conversion de type: On utilise pour cela l'opérateur de "cast" ().

Exemple et exercice I-11:

#include <stdio.h>
#include <conio.h>
void main()
{
int i=0x1234,j;
char d,e;
float r=89.67,s;
j = (int)r;
s = (float)i;
d = (char)i;
e = (char)r;
printf("Conversion float -> int: %5.2f -> %d\n",r,j);
printf("Conversion int -> float: %d -> %5.2f\n",i,s);
printf("Conversion int -> char: %x -> %x\n",i,d);
printf("Conversion float -> char: %5.2f -> %d\n",r,e);
printf("Pour sortir frapper une touche ");getch();
}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:35:22

CORRIGE DES EXERCICES

Exercice I-5:

#include <stdio.h>
#include <conio.h>
void main() {
int a,b;
a= -21430;
b= 4782;
printf("A + B = %d\n",a+b);
printf("A - B = %d\n",a-b);
printf("A x B = %d\n",a*b);
printf("A sur B = %d\n",a/b);
printf("A mod B = %d\n",a%b);
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */
}


Exercice I-6:

a en décimal vaut -128b en décimal vaut 128
Rques:
En C, le type char désigne un entier codé sur 8 bits.
-128 <= char <=+127
0<= unsigned char <= 255


Exercice I-8:

#include <stdio.h>/* EXI_8*/
#include <conio.h>
void main()

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:36:06

{ float a,b;
a= -21.43;
b= 4.782;
printf("A + B = %f\n",a+b);
printf("A - B = %f\n",a-b);
printf("A x B = %f\n",a*b);
printf("A sur B = %f\n",a/b);
puts("Pour continuer frapper une touche...");
getch(); /* Attente d'une saisie clavier */
}


Exercice I-9:

#include <stdio.h>
#include <conio.h>
main()
{
int n,p,masque;
clrscr();
n = 45;
p = 4;
printf("valeur de n avant modification:%x\n",n);
masque = ~0;/* que des 1 */
masque = masque « p;
n = n & masque;
printf("n modifié vaut:%x\n",n);
}

Exercice I-10:

En C standard: sizeof(char) vaut 1 sizeof(int) vaut 4 sizeof(float) vaut 4 sizeof(double) vaut 8.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:36:22

Voici les exécutables des Exercices

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:37:11

EXI_1.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:37:26

EXI_2.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:37:41

EXI_3.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:37:52

EXI_4.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:38:05

EXI_5.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:38:19

EXI_6.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:38:32

EXI_7.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:38:43

EXI_8.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:38:55

EXI_9.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:39:08

EXI_10.CPP

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 27-01-2015 à 13:39:44

Si vous codez avec code blocks remplacez "void main" par "int main"

Poster un commentaire ou une réponse :
Poster
     Ajouter un document à la discussion:
       

Actualité informatique et High-Tech

16-10-2015               lire

Dropbox propose aussi un outil d'écriture collaborative à son service

16-10-2015               lire

Bientôt des DRM dans des JPEG

17-04-2015               lire

Google propose une requête pour retrouver son téléphone

17-04-2015               lire

Youtube prépare une offre payante sans publicité

17-04-2015               lire

Sony Pictures : Des milliers de mails et documents confidentiels dévoilés

07-04-2015               lire

T411 bloqué par les FAI français

07-04-2015               lire

NVIDIA publie un pilote correctif et met à jour SHIELD Hub ainsi que GeForce Experience

07-04-2015               lire

Linkedin acquiert la start-up Refresh

03-04-2015               lire

Chromebit, la clé USB Google et Asus qui transforme n’importe quel écran en ordinateur

03-04-2015               lire

Une personne aurait pu supprimer toutes les vidéos d’une chaine Youtube en quelques secondes

03-04-2015               lire

Firefox 37 apporte un cryptage complémentaire à HTTPS

03-04-2015               lire

Windows XP, ce système qui ne veut pas mourir

02-04-2015               lire

Piratage de Labio.fr : le laboratoire répond à nos questions et ne payera pas la rançon

02-04-2015               lire

AWS lance des instances géantes avec 48 To de stockage

02-04-2015               lire

WhatsApp ajoute les appels gratuits et illimités à son application

31-03-2015               lire

Nadim Kobeissi : de Cryptocat à Peerio, du piratage au doctorat

31-03-2015               lire

L'Université de Nantes inaugure son datacenter modulaire taillé pour le HPC

31-03-2015               lire

GitHub victime d’une attaque DDoS majeure

27-03-2015               lire

Googlinette : les recherches de Google en devinettes

27-03-2015               lire

F8 : Facebook ouvre Messenger au e-commerce

27-03-2015               lire

À la SNCF, une fuite de données simple comme une touche F5

23-03-2015               lire

Des satellites GPS de Boeing affectés par une erreur technique

23-03-2015               lire

Plus de 700 000 routeurs ADSL vulnérables au piratage

23-03-2015               lire

Twitter sous le coup d’une action collective pour discrimination

22-03-2015               lire

Les montres connectées étaient déjà présentes dans les films, séries et dessins animés

22-03-2015               lire

Une Audi autonome va traverser les USA de SF à New York

20-03-2015               lire

Éclipse du Soleil : comment la suivre en direct sur Internet

20-03-2015               lire

Projet Leap : des bus 2.0 à San Francisco

20-03-2015               lire

Nvidia dévoile Drive PX, un système de conduite autonome

17-03-2015               lire

Embarquez pour Apollo 11, expérience virtuelle hors du commun

16-03-2015               lire

Ce jour où Google a exposé les données de 282 867 domaines

16-03-2015               lire

Yahoo publie le code de son plug-in de chiffrement mail

16-03-2015               lire

Après un an sans mise à jour, HAWKEN revient à la vie

12-03-2015               lire

Le big data au service du séquençage ADN pour accélérer les diagnostics

12-03-2015               lire

Clap de fin pour PlayStation Mobile

12-03-2015               lire

Apple : retour à la normale après une panne de plus de 11 heures

12-03-2015               lire

Ericsson va supprimer 2 200 postes en Suède

12-03-2015               lire

Le plan de Fleur Pellerin contre le piratage sur Internet

10-03-2015               lire

Apple Watch, Watch Edition et Watch Sport : de 399 à 18.000 euros !

10-03-2015               lire

Apple présente le “nouveau MacBook” qui remplace le MacBook Air

09-03-2015               lire

Google développe une version d'Android pour la réalité virtuelle

09-03-2015               lire

Quand la MPAA demande à Google de déréférencer son propre site

09-03-2015               lire

Heroes of the Dorm : un tournoi HotS avec 450 000 $ de bourses d'études à gagner

09-03-2015               lire

1 milliard d'adresses mails volées, 2 pirates inculpés

09-03-2015               lire

VMware accusé de violation de code Linux

09-03-2015               lire

Les drones civils bientôt immatriculés ?

05-03-2015               lire

7 sites qui permettent d’envoyer des fichiers de + ou – 2 Go

04-03-2015               lire

Smartphones : Apple passe en tête devant Samsung56% des consommateurs inquiets pour leurs données en Europe

04-03-2015               lire

Smartphones : Apple passe en tête devant Samsung

04-03-2015               lire

MWC 2015 : Onevisage pésente un scan facial 3D pour smartphones

04-03-2015               lire

Caméras sportives : Xiaomi s'attaque au monopole GoPro

04-03-2015               lire

Yi Camera, la caméra embarquée de Xiaomi à moins de 60€

04-03-2015               lire

Faille FREAK : quand des connexions SSL/TLS se contentent d'un chiffrement RSA sur... 512 bits

04-03-2015               lire

Bientôt des pubs sur Google Play (Android)

28-02-2015               lire

En partenariat avec "Positive Technologies", Esprit a l'honneur d'inviter ses étudiants à la 1ère édition de l’événement ESPRIT HACK DAYS dans les locaux d'ESPRIT Chotrana 2 et ce le 03 et le 04 Mars 2015.

28-02-2015               lire

La direction des stages d’ESPRIT et Ernst & Young ont le plaisir d'inviter ses étudiants à la journée de l’entreprise du mercredi 4 mars 2015 dans la salle E5 d’ESPRIT Factory.

25-02-2015               lire

Adobe fête les 25 ans de son logiciel Photoshop

25-02-2015               lire

Linux 4.0 : gros numéro et petite version

Haut de page.