Définir un langage algorithmique procédural, permettant de programmer les couches basses du système.
Instructions préprocesseur avec #
Séparation .h
et .c
Un exemple de programme en C est :
#include <stdio.h>
/* Demandeà l'utilisateur un nombre entre 1 et 10 */
int Get_X() {
int x;
do {
printf("\nEntrez un nombre entre 0 et 10 ");
scanf ("%d", &x);
} while (x < 0 || x > 10);
return (x);
}
main() {
int c, c1; c = c1 = 0;
while ((c = getchar()) != EOF) {
if (c != ' ' && c != '\t' && c != '\n')
printf ("%c", c);
else
if (c1 != ' ' & c1 != '\t' && c1 != '\n')
printf ("\n");
c1 = c;
}
}
Un exemple de compilation C est :
cc MonSource.c
ou avec un compilateur GNU/Linux :
gcc MonSource.c
=+,
=*, etc.), ce qui introduisait une ambigüité pour des expressions du type
x=-y).
Version | Commentaire | |||
---|---|---|---|---|
Release | ||||
Fix | ||||
Couche | Technologie | Maintenance | Description | |
Types | Texte | char |
Caractère ASCII | |
char* |
Pointeur sur suite de char | Chaîne à zéro terminal | ||
Numériques | char |
8 bits signés (-128 à 127) | ||
unsigned char |
8 bits non signés (0 à 255) | |||
int |
16 bits signés (-32768 à 32767) | |||
unsigned int |
16 bits non signés (0 à 65535) | |||
long int |
32 bits signés (-2147483648 à 2147483647) | |||
unsigned long int |
32 bits non signés (0 à 4294967295) | |||
float |
32 bits | Précision à 6 décimales | ||
double |
64 bits | Précision à 10 décimales | ||
long double |
80 bits | Précision à 10 décimales | ||
Librairies | ANSI | Assertions | assert.h |
|
ctype.h |
Classement de caractères et macros de conversion | |||
Codes d'erreur | errno.h |
Mnémoniques pour codes d'erreur | ||
Arithmétique flottante | float.h |
Macros spécifiques à la plate-forme pour les mathématiques à virgule flottante | ||
Types | limits.h |
Définit les limites spécifiques à la plate-forme pour les valeurs de types | ||
Localisation | locale.h |
Paramètres spécifiques au pays | ||
Mathématiques | math.h |
Prototypes de fonctions mathématiques | ||
setjmp.h |
Définitions de types et fonctions pour setjmp/longjmp | |||
Signaux système | signal.h |
Constantes et déclarations pour signal() et raise() | ||
Arguments | stdarg.h |
Macros pour traiter des listes d'arguments | ||
stddef.h |
Types de données et macros communs | |||
Entrées/Sorties | stdio.h |
Types et macros nécessaires pour E/S standards | ||
Divers | stdlib.h |
Prototypes de fonctions courantes et diverses | ||
Texte | string.h |
Prototypes de fonctions de manipulation de chaînes de caractères | ||
Temps | time.h |
Structures pour routines de conversion de temps |