c'est un simple aiguillage en fonction de test condition
if (condition)
{
bloque1
}
else
{
bloque2
}
il est important ici que si la condition à la valeur NULL (0) ou \0 ... c'est FAUX toute autre valeur VRAIE
switch(expression) {
case x:
/* code block */
break;
case y:
/* code block */
break;
default:
/* code block */
}
Ne jamais utiliser ... goto apportera des bugs a coup sur, car le code est dit non structuré.
un saut doit être associé a au moins a une condition ... sujet philosophique, un code bien écrit n'utilise pas de goto !
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur =0;
etiquette:
printf("%d \n",compteur);
compteur=compteur+1;
if (compteur==10) goto dehors;
goto etiquette;
dehors:
return EXIT_SUCCESS;
}
compteur++ est équivalent a compteur=compteur+1, c 'est une particularité du langage C
Pour comprendre le ++ avant ou après ... écrire ce code et tester pour comprendre.
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur =0;
printf("%d \n",compteur); /* affiche 0 */
printf("%d \n",compteur++); /* affiche 0 */
printf("%d \n",compteur); /* affiche 1 */
printf("%d \n",++compteur); /* affiche 2 */
printf("%d \n",compteur++); /* affiche 2 */
/* pourtant ici compteur vaut 3 ! */
printf("%d \n",compteur); /* affiche 3 */
return EXIT_SUCCESS;
}
ce qui se fait avec ++ peut se faire avec --
3 champs pour définir le for
pour (initialisation(s) de départ ; condition de sortie de la boucle (tant que) on reste; action(s) après le bloc)
{
bloc à réaliser
}
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur =0;
for (compteur = 0; compteur <=10;compteur=compteur+1)
printf("%d \n",compteur);
return EXIT_SUCCESS;
}
for en utilsation
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur;
int variable;
for (compteur = 0, variable =10 ; compteur <=10;compteur=compteur+1)
{
printf("%d \n",compteur);
printf("%d \n",variable);
}
return EXIT_SUCCESS;
}
ceci est juste un exemple ! mais cela est rarement vu !
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur;
int variable;
for (compteur = 0, variable =10 ; compteur <=10;compteur=compteur+1,printf("=>"))
{
printf("%d \n",compteur);
printf("%d \n",variable);
}
return EXIT_SUCCESS;
}
bruno@elliott:~/Works/langage_C/for$ gcc for.c -o for -Wall -ansi -pedantic
bruno@elliott:~/Works/langage_C/for$ ./for
0
10
=>1
10
=>2
10
=>3
10
=>4
10
=>5
10
=>6
10
=>7
10
=>8
10
=>9
10
=>10
10
le test est dés le début de la boucle ( tant que)
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur =0;
while (compteur <=10)
printf("%d \n",compteur++);
return EXIT_SUCCESS;
}
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int compteur =0;
do
printf("%d \n",compteur++);
while(compteur<=10);
return EXIT_SUCCESS;
}