Outils pour utilisateurs

Outils du site


programmation:c:fiche_rapide

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
programmation:c:fiche_rapide [03/11/2015 02:20]
sky99
programmation:c:fiche_rapide [03/11/2015 12:37] (Version actuelle)
sky99
Ligne 1: Ligne 1:
 ====== Fiche rapide de rappels en C ====== ====== Fiche rapide de rappels en C ======
-Il s'agit ici d'une fiche rapide de rappels sur **une partie** des notions vues en cours. Ce n'est en aucun cas un cours complet!+Il s'agit ici d'une fiche rapide de rappels sur **une partie** des notions vues en cours. Ce n'est en aucun cas un cours complet! ​Cette fiche sert surtout de référence pour retrouver rapidement les syntaxes et quelques notions élémentaires.
 ===== Les variables ===== ===== Les variables =====
 Déclaration d'une variable : Déclaration d'une variable :
Ligne 256: Ligne 256:
 } }
 </​code>​ </​code>​
 +==== Les conditions composées ====
 +On peut combiner plusieurs conditions, en utilisant les opérateurs logiques **ET** et **OU**.
 +Exemples : 
 +=== opérateur logique ET ===
 +<code C>
 +//si a vaut 0 et que b est inférieur à 10
 +if(a==0 && b<10)
 +{
 +  printf("​a=0 et b plus petit que 10.\n"​);​
 +}
 +</​code>​
 +Il s'agit du caractère **et commercial** (&) qui se trouve sur la touche **1** des touches numériques au dessus des lettres. ​
 +
 +=== opérateur logique OU ===
 +<code C>
 +//si a vaut 0 OU bien si b est inférieur à 10
 +if(a==0 || b<10)
 +{
 +  printf("​a=0 et/ou b est plus petit que 10.\n"​);​
 +}
 +</​code>​
 +Il s'agit du caractère pipe (tuyau, en anglais) (|) qui se trouve sur la touche **6** des touches numériques au dessus des lettres, accessible en pressant la touche Alt Gr + la touche 6 en question.
 +
 +On peut combiner ces opérateurs à volonté. Par exemple si l'on souhaite que **a** soit compris entre 0 et 42 (inclus), ou que **b** soit négatif, je ferai comme suit : 
 +<code C>
 +//si 0<​a<​=42 OU bien si b est inférieur à 0
 +if(a>0 && a<=42 || b<10)
 +{
 +  //faire quelque chose 
 +}
 +</​code>​
 +
 +===== Les boucles =====
 +En programmation,​ nous aurons souvent besoin de répéter une opération un certain nombre de fois. Pour cela, nous utiliserons les boucles, qui permettent de répéter des instructions autant que souhaité. Les deux boucles étudiées sont **for** et **while**.
 +
 +==== Boucle for ====
 +La boucle for permet de répéter un nombre précis de fois une instruction,​ même s'il est possible de passer outre ce comportement classique. En pratique, si l'on souhaite par exemple afficher les nombres de 1 à 100, on ferra comme suit : 
 +
 +<code C>
 +#include <​stdio.h>​
 +int main()
 +{
 +int i;
 +for (i=1;​i<​=100;​i++)
 +{
 +  printf("​i vaut %d\n",​i);​
 +}
 +return 0;
 +}
 +</​code>​
 +Dans les parenthèses du for, on trouve trois blocs séparés par un point virgule.
 +  - Le premier initialise la variable de boucle, ici à 1;
 +  - le second bloc sera la condition qui permet à la boucle de continuer. Tant que c'est vrai, on continue. Donc ici, on continue jusqu'​à ce que i dépasse 100;
 +  - le dernier bloc permet de spécifier la modification sur la variable de boucle à chaque tour(ici on l'​incrémente de 1).
 +
 +Notre boucle commencera à i=1, et continuera tant que i sera inférieur ou égal à 100, et à chaque tour i augmentera de 1. Les instructions entre les accolades du for seront celles qui seront exécutées à chaque tour. Nous afficherons donc ici les nombres de 1 (inclus) à 100 (inclus).
 +i++ est une forme compactée de i=i+1, et il est possible de faire varier i comme on le souhaite, par exemple i=i*2, i=i-2, etc...
 +
 +===== Les fonctions =====
 +Les fonctions permettent en quelques sortes d'​ajouter du vocabulaire à notre langage C. Ainsi, nous utilisons déjà les fonctions printf() et scanf(), mais il nous est possible d'en créer d'​autres.
 +==== Les noms de fonctions ====
 +Les noms de fonctions respecteront les mêmes contraintes que celles des noms de variables. De plus une fonction et une variable ne peuvent jamais avoir le même nom au sein d'un même programme.
 +==== Déclarer une fonction ====
 +Le prototype générique de la déclaration d'une fonction sera donc le suivant : 
 +<code C>
 +
 +type nomfonction(type1 param1,​type2 param2,​...,​typeN paramN)
 +{
 +  //​instructions effectuées par la fonction
 +}
 +</​code>​
 +Entre les parenthèses,​ on mettra les paramètres. On peut avoir autant de paramètres que voulu, ou aucun (dans ce cas, on ne met rien entre les parenthèses).
 +
 +Le type de la fonction correspond au type de valeur retournée. Si notre fonction renvoie un entier, il sera int par exemple. Il s'agit donc des mêmes types que ceux utilisés pour les variables. Si la fonction ne renvoie rien, elle sera de type **void**.
 +
 +Pour retourner une variable ou une valeur, on utilisera le mot clef **return**.
 +
 +==== Exemples de fonctions ====
 +Une fonction qui fait la somme de deux entiers : 
 +<code C>
 +int somme(int a, int b)
 +{
 +  int c=a+b;
 +  return c;
 +}
 +</​code>​
 +On peut aussi l'​écrire comme suit : 
 +<code C>
 +int somme(int a, int b)
 +{
 +  return a+b;
 +}
 +</​code>​
 +
 +Une fonction qui ne renvoie rien
 +<code C>
 +void etat_solde(int solde)
 +{
 +  if(solde>​0)
 +  {
 +    printf("​Vous avez des économies sur votre compte\n"​);​
 +  }
 +  else if(solde==0)
 +  {
 +    printf("​votre compte est vide\n"​);​
 +  }
 +  else
 +  {
 +    printf("​Vous avez des dettes!\n"​);​
 +  }
 +}
 +</​code>​
 +Exemple de fonction sans paramètre et qui ne retourne rien : 
 +<code C>
 +void analyse_nombre()
 +{
 +  int a=0;
 +  printf("​veuillez saisir un nombre entier"​);​
 +  scanf("​%d",&​a);​
 +  if(a>0)
 +  {
 +    printf("​le nombre est strictement positif.\n"​);​
 +  }
 +  else
 +  {
 +    printf("​Le nombre est négatif ou nul.\n"​);​
 +  }
 +}
 +</​code>​
 +
 +http://​grimaag.univ-ag.fr/​~sregis/​CoursTPL1S1/​TP1_SE.pdf
 +
 +
 +
 +
 +
 +
  
  
programmation/c/fiche_rapide.1446513647.txt.gz · Dernière modification: 03/11/2015 02:20 par sky99