Site icon Site Web de gburnet

Comment coder en Langage C

Écriture du programme en langage C, langage de haut niveau. (proche du langage humain)

La fonction main( ) est la fonction principale. C’est dans cette fonction que nous allons mettre notre programme.

Compilation en exécutable. Langage bas niveau (langage machine)

Pour compiler il faut un compilateur. Nous utiliserons celui intégré à code::blocks, le GNU-GCC compiler.

Les fonctions

Les Variables

DECLARATION

int monNombre ;

Type : int (entier)    nom : monNombre   fin de la ligne de code : ;

TYPES

Nom Signification Taille (en octets)
char Caractère 1
unsigned char Caractère non signé (sans négatif) 1
short int Entier court 2
unsigned short int Entier court non signé 2
int Entier 2 (sur processeur 16 bits)
4 (sur processeur 32 bits)
unsigned int Entier non signé 2 (sur processeur 16 bits)
4 (sur processeur 32 bits)
long int Entier long 4
unsigned long int Entier long non signé 4
float Flottant = Nombre à virgule 4
double Flottant double 8
long double Flottant double long 10

UTILISATION

nombre1 = 3;

nombre2 = 4;

nombre3 = nombre1 + nombre2;

OPERATIONS

Symbole Dénomination Effet Exemple Résultat (avec x = 7)
+ opérateur d’addition Ajoute deux valeurs x+3 10
opérateur de soustraction Soustrait deux valeurs x-3 4
* opérateur de multiplication Multiplie deux valeurs x*3 21
/ opérateur de division Divise deux valeurs x/3 2.3333333
% modulo Donne le reste d’une division X%2 1
= opérateur d’affectation Affecte une valeur à une variable x=3 Met la valeur 3 dans la variable x

INITIALISATION

     int nombre = 3;

char caractere = ‘b’;

 

Affichage et saisie du clavier

Affichage avec printf

printf(« mon texte\n »);  //affiche : « mon texte » avec un retour à la ligne

int n = 1;                   //initialise la variable n à « 1 »

printf(« ma variable = %d\n », n); /*affiche : « ma variable = 1 » avec retour

à la ligne */

int nombre1 = 1;             //initialise nombre1 à « 1 »

int nombre2 = 2;             //initialise nombre2 à « 2 »

printf(« nombre1 = %d et nombre2 = %d\n », nombre1, nombre2);/* affiche :

 nombre1 = 1 et nombre2 = 2″ avec retour à la ligne */

Saisie du clavier avec scanf

int variable;

printf(« entrez la valeur : « );

scanf(« %d »,&variable);        /*la valeur saisie est placée à l’adresse de

la variable*/

printf(« la valeur entree est : %d », variable);       //affiche la valeur entrée

Les conditions

UTILISATION

int nombre1 = 3;

int nombre2 = 4;

if(nombre1 < nombre2)

{

printf(« le plus grand nombre est %d »,nombre2);

}

else if (nombre1 > nombre2){

printf(« le plus grand nombre est %d »,nombre1);

}

else {

printf(« les deux nombres sont égaux »);

}

OPERATEUR DE COMPARAISON

Symbole Dénomination Effet Exemple
== opérateur d’égalité Compare deux valeurs et vérifie leur égalité x==3
< opérateur d’infériorité stricte Vérifie qu’une variable est strictement inférieure à une valeur x<3
<= opérateur d’infériorité Vérifie qu’une variable est inférieure ou égale à une valeur x<=3
> opérateur de supériorité stricte Vérifie qu’une variable est strictement supérieure à une valeur x>3
>= opérateur de supériorité Vérifie qu’une variable est supérieure ou égale à une valeur x>=3
!= opérateur de différence Vérifie qu’une variable est différente d’une valeur x!=3

Les tableaux

UTILISATION 1

int monTableau[5];      //déclaration

monTableau[0] = 1;

monTableau[1] = 2;

monTableau[2] = 3;

monTableau[3] = 4;

monTableau[4] = 5;

UTILISATION 2

int monTableau[5]={1,2,3,4,5};     //initialisation

printf(« La case 0 de mon tableau est : %d »,monTableau[0]); //affiche 1

printf(« La case 1 de mon tableau est : %d »,monTableau[1]); //affiche 2

printf(« La case 2 de mon tableau est : %d »,monTableau[2]); //affiche 3

printf(« La case 3 de mon tableau est : %d »,monTableau[3]); //affiche 4

printf(« La case 4 de mon tableau est : %d »,monTableau[4]); //affiche 5

Dans cet exemple :

monTableau[]

Case 0 1 2 3 4
Valeur 1 2 3 4 5

UTILISATION 3

int monTableau[3][2]={1,2,3,4,5,6};      //initialisation

printf(« monTableau[0][1] = : %d »,monTableau[0][1]); //affiche 2

printf(« monTableau[1][0] = : %d »,monTableau[1][0]); //affiche 3

printf(« monTableau[2][1] = : %d »,monTableau[2][1]); //affiche 6

Dans cet exemple :

monTableau[][]

Case 0 1 2
0 1 3 5
1 2 4 6

Les nombres aléatoires

#include <time.h> //Librairie adaptée

srand(time(NULL)); //initialisation de rand

int i = rand(); //met dans la variable i un nombre aléatoire

int j = rand() % 10; //met dans la variable j un nombre entre 0 et 9.

int y = rand()%(b-a) +a; //met dans y un nombre compris entre a et b.

Exemple :

#include <stdio.h>

#include <stdlib.h>

#include <time.h> //Ne pas oublier d’inclure le fichier time.h

// On suppose a<b

int rand_a_b(int a, int b)

{

return rand()%(b-a) +a;

}

int main(void){

int x = 10;

int y = 20;

srand(time(NULL)); // initialisation de rand

nombre_aleatoire = rand_a_b(x,y);

printf(« %d « ,nombre_aleatoire);

return 0;

}

Lire et/ou écrire dans un fichier

  1. On appelle la fonction d’ouverture de fichier fopen qui nous renvoie un pointeur sur le fichier.
  2. On vérifie si l’ouverture a réussi (c’est-à-dire si le fichier existait) en testant la valeur du pointeur qu’on a reçu. Si le pointeur vaut NULL, c’est que l’ouverture du fichier n’a pas fonctionné, dans ce cas on ne peut pas continuer (il faut afficher un message d’erreur).
  3. Si l’ouverture a fonctionné (si le pointeur est différent de NULL donc), alors on peut s’amuser à lire et écrire dans le fichier à travers des fonctions que nous verrons un peu plus loin.
  4. Une fois qu’on a terminé de travailler sur le fichier, il faut penser à le « fermer » avec la fonction fclose.

Les modes d’ouvertures

Ecrire dans un fichier

Exemple :

int main(int argc, char *argv[])
{
FILE* fichier = NULL;
int age = 0;

fichier = fopen(« test.txt », « w »);

if (fichier != NULL)
{
// On demande l’âge
printf(« Quel age avez-vous ? « );
scanf(« %d », &age);

// On l’écrit dans le fichier
fprintf(fichier, « Le Monsieur qui utilise le programme, il a %d ans », age);
fclose(fichier);
}

return 0;
}

Lire dans un fichier

int main(int argc, char *argv[])
{
FILE* fichier = NULL;
int caractereActuel = 0;

fichier = fopen(« test.txt », « r »);

if (fichier != NULL)
{
// Boucle de lecture des caractères un à un
do
{
caractereActuel = fgetc(fichier); // On lit le caractère
printf(« %c », caractereActuel); // On l’affiche
} while (caractereActuel != EOF); /* On continue tant que fgetc n’a pas
retourné EOF (fin de fichier) */
fclose(fichier);
}
return 0;
}

Pour commencer avec CodeBlocks

Ouvrir CodeBlocks.

Create new project > Console application > Next > C > « Nom de projet » + « Emplacement du projet » + Next > Finish

Puis double-cliquez sur « main.c » dans Managements > Projects > Workspace > « nom du projet » > Sources > main.c

 

Quitter la version mobile