Cours Langage C
Cours Langage C
Cours Langage C
Informatique2 (2018/2019)
I.1 Syntaxe :
<include des bibliothèques>
main()
{
<déclaration des variables>
<instructions>
}
Exemple:
#include <stdio.h> /* Bibilothèque d’entrées-sorties standard */
main() /* Notre premier programme en C */
{
printf("Bonjour \n") ;
}
Un programme écrit en langage C est donc composé de définitions et d'appels de fonctions.
Chaque programme doit cependant comporter une fonction dont le nom main est imposé, c'est
celle qui sera automatiquement appelée lorsqu'on exécutera le programme. C'est donc la
fonction principale (main function). On l'appelle également le point d'entrée du
programme (program entry point).
La fonction main
int main(void)
{
return 0;
Ce que nous venons de faire, c'est une définition (création) de fonction. Nous venons de définir
(créer) la fonction main. C'est une fonction qui renvoit un int (int signifie "entier" - integer en
anglais) et qui ne prend rien en entrée (void signifie vide). C'est ainsi qu'il faut définir la fonction
main (nous verrons plus tard que ce n'est pas la seule forme qu'on peut utiliser). Les accolades
servent à délimiter le corps de la fonction. C'est là-dedans qu'on mettra toutes les instructions
qu'on veut faire exécuter à l'ordinateur quand la fonction est appelée.
p. 1
1ère Année ST- LMD
Informatique2 (2018/2019)
L'entier retourné par main est appelé le code de retour (ou code d'erreur) du
programme. Généralement, quand un programme retourne 0, l'appelant (celui qui a appelé
main) conclut le programme s'est terminé normalement.
EX01
Ecrire un programme en langage C qui permet d’afficher le message « Bonjour » à l’utilisateur.
#include <stdio.h>
main ( )
{
printf ("Bonjour \n" ) ;
}
p. 2
1ère Année ST- LMD
Informatique2 (2018/2019)
II.2 Lecture des données
II.2.1 La fonction scanf
La fonction, scanf de lecture de données, permet de lire à partir du clavier des données. Les
variables à saisir sont formatées, le nom de la variable est précédé du symbole & désignant
l'adresse de la variable. La saisie s'arrête avec "RETURN" (c'est à dire taper entré), les éléments
saisis s'affichent à l'écran.
II.2.2 Syntaxe
scanf ("<format> ", <v1>, <v2>, ...);
<format>: format de lecture des données
<v>: & Nom de Variable
Les données reçues correctement sont mémorisées successivement aux adresses
indiquées par <V1>,... .
L'adresse d'une variable est indiquée par le nom de la variable précédé du signe &.
Exemples:
1)
char alpha ;
int i ;
float r ;
scanf ("%c", &alpha) ; /* saisie d'un caractère */
scanf ("%d ", &i) ; /* saisie d'un entier en décimal */
scanf ("%x", &i) ; /* saisie d'un entier en hexadécimal*/
scanf ("%f ",&r) ; /* saisie d'un réel */
2)
int jour, mois, année ;
scanf ("%d %d %d", &jour, &mois, &année) ;
/*lit trois entiers relatifs, séparés par des espaces, tabulations ou Inter lignes. Les valeurs sont
attribuées respectivement aux trois variables JOUR, MOIS et ANNEE.*/
p. 3
1ère Année ST- LMD
Informatique2 (2018/2019)
III.1 Les types prédéfinis
Exemples :
int compteur, x, y ;
float racine ;
char touche ;
/* Déclaration avec initialisation */
int nombre = 1 ;
char lettre = ‘ A ’ ;
Exercice 2 :
Écrire un programme qui permet d'afficher la somme et le produit de deux nombres entiers.
Solution :
#include <stdio.h>
main ( )
{
int a,b,S,P;
printf("donner deux entiers a, b = ");
scanf ("%d %d",&a,&b);
S=a+b;
P=a*b;
printf("la somme S est %d \ n le Produit P est %d \ n ",S,P);
Exercice 3 :
Écrire un programme qui permet de calculer et afficher le quotient et le reste de la division
entière de deux nombres entiers saisis au clavier.
p. 4
1ère Année ST- LMD
Informatique2 (2018/2019)
Solution :
#include <stdio.h>
main()
{
int a,b,quot,rest;
printf("donner deux entiers: \n");
scanf("%d %d",&a,&b);
rest=a%b;
quot=a/b;
printf("le quotient de a/b est %d \n le reste de a/b est %d", quot, rest);
}
Exercice 4 :
Écrire un programme qui permet de calculer et afficher la division réelle de deux nombres réels
saisis au clavier.
Solution :
#include <stdio.h>
int main()
{
float a,b,Div;
printf("donner deux entiers: \n");
scanf("%f %f",&a,&b);
Div= a/b;
printf("la divisio Div est %.3f \n ",Div);
return 0;
}
p. 5