nom1
|
1nom
|
nom_2
|
nom.2
|
_nom_3 | -nom-3 |
Nom_de_variable | Nom de variable | deuxieme_choix | deuxième_choix | mot_francais | mot_français |
fonction-1 | 3e_jour | __A_ | _MOYENNE_du_MOIS_ | a | limite_inf. |
lim_supérieure | _ | 3 |
auto
|
double
|
int
|
struct
|
break
|
else
|
long
|
switch
|
case
|
enum
|
register
|
typedef
|
char
|
extern
|
return
|
union
|
const
|
float
|
short
|
unsigned
|
continue
|
for
|
signed
|
void
|
default
|
goto
|
sizeof
|
volatile
|
do
|
if
|
static
|
while
|
Créer un répertoire TP1 afin d'y placer tous les programmes correspondant aux exercices suivants
SYMBOLE
|
TYPE
|
IMPRESSION COMME
|
%d ou %i
|
int
|
entier relatif
|
%u
|
int
|
entier naturel (unsigned)
|
%o
|
int
|
entier exprimé en octal
|
%x
|
int
|
entier exprimé en hexadécimal
|
%c
|
int
|
caractère
|
%f
%nf
%.nf |
double
|
rationnel en notation décimale
avec un nombre fixe n de chiffres
après la virgule |
%e
|
double
|
rationnel en notation scientifique
|
%s
|
char*
|
chaîne de caractères
|
Arguments du type long
Les spécificateurs %d, %i, %u, %o, %x peuvent seulement représenter des valeurs du type int ou unsigned int.
Une valeur trop grande pour être codée dans deux octets est coupée sans avertissement si nous utilisons %d.
Pour pouvoir traiter correctement les arguments du type long, il faut utiliser les spécificateurs %ld, %li, %lu, %lo, %lx.
\a
|
sonnerie
|
\\
|
trait oblique
|
\b
|
curseur arrière
|
\?
|
point d'interrogation
|
\t
|
tabulation
|
\'
|
apostrophe
|
\n
|
nouvelle ligne
|
\"
|
guillemets
|
\r
|
retour au début de ligne
|
\f
|
saut de page (imprimante)
|
\0
|
NUL
|
\v
|
tabulateur vertical
|
Contrôle des saisies : saisir deux valeurs et afficher leur valeur, puis calculer et afficher leur somme som, le minimum min , le maximum max (utilisation d'une conditionnelle).
Rappel de la syntaxe : if (condition)
instruction1;
else instruction2;
#include <stdio.h> int main(void) { int a,b,i; float x,y; char c,s ; /* declarations des variables */ int *pa, *pb; float *px, *py; char *pc, *ps, *p; /* declarations de pointeurs */ a=54; b=-12;x=1.5; y=-1,25;c='k'; s='é'; /* affectation des valeurs aux variables */ /* question 1 : en s'inspirant de l'instruction suivante afficher les valeurs des variables a,b,x,y,c, s avec les bons formats */ printf("la valeur de a est %i\n",a); /* question 2 : en s'inspirant de l'instruction suivante afficher la taille de la place memoire requise par ces variables */ printf("la taille d\'une variable de type int est de %i octets \n",(int) sizeof(a)); /* question 2 (suite): et les categories de variables ou types */ printf("la taille d\'un type int est de %i octets \n", (int) sizeof(int)); /* question 2 (fin): remarquer le polymorphisme de la fonction size of qui s'applique aussi bien sur des variables que sur des categories de variables ou types */ /* question 3 :reprendre les instructions suivantes en utilisant a la place de la variable a les variables b,x,y,c,s et les pointeurs correspondants */ pa= &a; /* l'operateur & signifie adresse de */ printf("la valeur de pa est %li\n", pa); /* affiche la valeur des variables pointeurs */ pa ++; /* incrementation des pointeurs par pas de 1 */ printf("la nouvelle valeur de pa est %li\n", pa); /* afficher la nouvelle valeur des pointeurs */ /* question 3 (fin) : que deduire sur l'algebre des pointeurs ? */ /* representation en memoire */ /* question 4 : recommencer l'execution suivante avec d'autres valeurs de a : 0,2,4,8,16,32,1024 -2, -4, -8 */ a=4; /* on initialise la variable a */ pa = &a; /* on affecte l'adresse de a au pointeur pa :pointeur sur entier */ p = (char *) pa; /* on transforme pointeur sur entier en pointeur sur caractère */ for (i=1; i<= (int)sizeof(a); i++) /* on lit chaque caractere de l'entier */ { printf("valeur de l\'octet %i est en hexa %x \n", i,*p); p++;< }; /* question 4 (fin):pour les valeurs négatives, vérifier en calculant le complement a 1 */ return 0; }
Classes de priorités :
|
Ordre de l'évaluation : | |
Priorité 1 (la plus forte)
|
()
|
->
|
Priorité 2
|
!
++ --
|
<-
|
Priorité 3
|
*
/ %
|
->
|
Priorité 4
|
+
-
|
->
|
Priorité 5
|
<
<= > >=
|
->
|
Priorité 6
|
==
!=
|
->
|
Priorité 7
|
&&
|
->
|
Priorité 8
|
||
|
->
|
Priorité 9 (la plus faible)
|
=
+= -= *= /= %=
|
<-
|