Cours langage C éléments fondamentaux au langage C

Extrait du cours langage C éléments fondamentaux au langage C

Chapter1 Les bases
1.1 Le compilateur
Les compilateurs C font subir deux transformations aux programmes:
1. un preprocesseur fait subir au texte des transformations d’ordre purement lexical,
2. le compilateur proprement dit prend le texte genere par le preprocesseur et le traduit en instructions machine.
Le but du preprocesseur est de rendre des services du type traitement de macros et compilation conditionnelle. Initialement, il s’agissait de deux outils di erents, mais les possibilites du preprocesseur ontete utilisees de maniere tellement extensive par les programmeurs,qu’on en est venua considerer le preprocesseur comme partie integrante du compilateur.C’est cette derniere philosophie qui est retenue par l’ANSI dans sa proposition de norme pour le langage C.
1.2 Les types de base
1.2.1 les caracteres
Le mot cle designant les caracteres estchar. charest le type dont l’ensemble des valeurs est l’ensemble des valeurs entieres formant le code des caracteres utilise sur la machine cible. Le typecharpeut donc etre considere comme un sous-ensemble du type entier.
Le code des caracteres utilise n’est pas de ni par le langage: c’est un choix d’implementation.
Cependant, dans la grande majorite des cas, le code utilise est le code dit ASCII.
1.2.2 Les entiers
Le mot cledesignant les entiers estint.
Les entiers peuvent^etre a ectes de deux types d’attributs :un attribut de precision et un attribut de representation.
Les attributs de precision sont shortetlong. Du point de vue de la precision, on peut donc avoir trois types d’entiers : les short int, les intet leslong int. Lesint sont implementes sur ce qui est un mot \naturel  » de la machine. Leslong intsont implementes si possible plus grands que lesint, sinon comme des int. Lesshort int  ont implementes plus courts que lesint, sinon comme des int. Les implementations classiques mettent lesshort intsur 16 bits, leslong intsur 32 bits, et lesintsur 16 ou 32 bits selon ce qui est le plus ecace.
1.2.3 Les ottants
Les ottants peuvent etre en simple ou en double precision. Le mot cledesignant les ottants simple precision est float, et celui designant les ottants double precision est double. La precision eff ectivement utilisee pour ces deux types depend de l’implementation.
1.3 Les constantes
1.3.1 Les constantes entieres
On dispose de 3 notations pour les constantes entieres: decimale, octale et hexadecimale.
Les contantes decimales s’ecrivent de la maniere usuelle (ex: 372). Les constantes octales doivent commencer par un zero (ex: 0477). Les constantes hexadecimales doivent commencer par 0x ou 0X et on peut utiliser les lettres majuscules aussi bien que les minuscules pour les chi res hexadecimaux.
ex:
0x5a2b
0X5a2b
0x5A2B
Si une constante entiere peut tenir sur unint, elle aletypeint, sinon elle a le type long int.
On dispose d’une convention permettant d’indiquer au compilateur qu’une constante entiere doit avoir le typelong int. Cette convention consiste  a faire suivre la constante de la lettre l(en majuscule ou en minuscule). Les notations decimales, octales et hexadecimales peuvent etre utilisees avec cette convention.
1.3.2 Les constantes caracteres
La valeur d’une constante caractere est la valeur numerique du caractere dans le code de la machine.
Si le caractere dispose d’une representation imprimable, une constante caractere s’ecrit entouree du signe’. ex: ‘g’
En ce qui concerne les caracteres ne disposant pas de representation imprimable, C autorise une notation a l’aide d’un caractere d’escapequi est\:
1.3.3 Les constantes ottantes
La notation utilisee est la notation classique par mantisse et exposant. Pour introduire l’exposant, on peut utiliser la lettre e sous forme minuscule ou majuscule.
1.4 Les chaines de caracteres litterales
Une chaine de caracteres litterale est une suite de caracteres entoures du signe ». ex: »ceci est une chaine »
Toutes les notations de caracteres non imprimables de nies en 1.3.2 sont utilisables dans les cha^nes. ex:
« si on m’imprime,\nje serai sur\ntrois lignes a cause des deux new line »
Le caractere\suivi d’un passage  a la ligne suivante est ignore. Cela permet de faire tenir les longues chaines sur plusieurs lignes de source.
ex: « ceci est une tres tres longue chaine que l’on fait tenir \ sur deux lignes de source » Le compilateur rajoute a la n de chaque chaine un caractere mis  a zero. (Le caractere dont la valeur est zero est appelle null dans le code ASCII). Cette convention de n de chaine est utilisee par les fonctions de la librairie standard.

LIRE AUSSI :  Software-Defined Wireless Networks (SDWN) Platforms

………

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours langage C éléments fondamentaux au langage C ( 671 KO) (Cours PDF)
Cours langage C

Télécharger aussi :

Laisser un commentaire

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