Langage C/C++

Structure d’un Programme en Langage C

×

Recommandés

Guide complet : strcpy en C
La fonction strcpy en C est...
En savoir plus
Comment fonctionne la récursion terminale en C...
La récursion terminale en C La récursion...
En savoir plus
Exemple de QCM - Programmation en C
La programmation en C est une...
En savoir plus
Les Types de Données en C :...
Le langage C, inventé par Dennis...
En savoir plus
Pair impair en langage C : Concepts...
La notion de pair et impair...
En savoir plus
Convertir une Chaîne de Caractères en Majuscule...
La manipulation de chaînes de caractères...
En savoir plus

Le langage de programmation C, développé dans les années 1970 par Dennis Ritchie, est l’un des langages les plus influents et les plus largement utilisés. Sa syntaxe simple et ses capacités puissantes en font un choix populaire pour le développement de systèmes d’exploitation, de logiciels embarqués, et d’applications à hautes performances. Comprendre la structure d’un programme en C est essentiel pour tout programmeur débutant. Cet article détaille les composants clés d’un programme en C.

1. Les Directives de Préprocesseur

Les directives de préprocesseur sont des instructions spéciales qui sont exécutées avant la compilation du programme. Elles commencent par le symbole # et n’occupent pas d’espace mémoire à l’exécution. Les directives les plus courantes incluent :

  • #include: Utilisée pour inclure les fichiers d’en-tête. Par exemple, #include <stdio.h> inclut la bibliothèque standard d’entrée/sortie.
  • #define: Utilisée pour définir des constantes symboliques. Par exemple, #define PI 3.14.
2. Les Fichiers d’En-tête

Les fichiers d’en-tête, souvent avec l’extension .h, contiennent des déclarations de fonctions, des macros, et des définitions de types de données que d’autres fichiers peuvent inclure. Par exemple, stdio.h contient des déclarations pour les fonctions d’entrée/sortie comme printf() et scanf().

3. La Fonction main

Chaque programme en C doit avoir une fonction main, qui est le point d’entrée du programme. La syntaxe générale de main est :

int main(void) {
    // corps du programme
    return 0;
}

Le type de retour int indique que la fonction retourne un entier, généralement 0 pour indiquer que le programme s’est terminé correctement.

4. Les Déclarations de Variables

Les variables doivent être déclarées avant leur utilisation. La déclaration d’une variable spécifie son type et son nom. Par exemple :

int age;
float salary;
char initial;
5. Les Instructions

Les instructions sont les commandes exécutées par le programme. Elles peuvent inclure des affectations, des appels de fonctions, des boucles, des conditions, etc. Par exemple :

age = 25;
salary = 50000.0;
initial = 'A';

printf("Age: %d, Salary: %.2f, Initial: %c\n", age, salary, initial);
6. Les Boucles et Conditions

Les boucles et les conditions sont utilisées pour contrôler le flux du programme.

  • Les Boucles : Permettent d’exécuter un bloc de code plusieurs fois.
    • for loop : Utilisée pour itérer un nombre spécifique de fois.
    for (int i = 0; i < 10; i++) { printf("%d\n", i); }
    • while loop : Exécute un bloc de code tant qu’une condition est vraie.
    int i = 0; while (i < 10) { printf("%d\n", i); i++; }
  • Les Conditions : Permettent d’exécuter un bloc de code si une condition est vraie.
    • if statement : Vérifie une condition et exécute le bloc de code associé si la condition est vraie.
      c if (age > 18) { printf("Adult\n"); } else { printf("Not an Adult\n"); }
7. Les Fonctions

Les fonctions en C permettent de structurer le code en blocs réutilisables. Une fonction est définie par son type de retour, son nom, et ses paramètres. Par exemple :

int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(3, 4);
    printf("Result: %d\n", result);
    return 0;
}
8. Les Commentaires

Les commentaires sont utilisés pour rendre le code plus compréhensible et ne sont pas exécutés par le compilateur. Ils peuvent être sur une seule ligne (//) ou sur plusieurs lignes (/* ... */).

// Ceci est un commentaire sur une seule ligne

/*
Ceci est un commentaire
sur plusieurs lignes
*/

Exemple Complet

Voici un exemple complet d’un programme en C qui lit deux nombres de l’utilisateur, calcule leur somme, et affiche le résultat :

#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int main() {
    int num1, num2, sum;
    printf("Enter two integers: ");
    scanf("%d %d", &num1, &num2);
    sum = add(num1, num2);
    printf("Sum: %d\n", sum);
    return 0;
}

Conclusion

Comprendre la structure de base d’un programme en C est crucial pour tout développeur. Cette connaissance permet de créer des programmes plus complexes et plus efficaces. En suivant les composants décrits dans cet article, vous serez bien équipé pour écrire et comprendre des programmes en C.


Cet article couvre les bases essentielles pour débuter avec le langage C. Pour approfondir vos connaissances, explorez des concepts avancés comme la gestion de la mémoire, les pointeurs, et la programmation orientée objet en C.

Exemples de Programmes en Langage C
1. Programme « Hello, World! »

Ce programme est souvent le premier programme écrit par les débutants pour s’initier à la syntaxe du langage C.

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}
2. Calcul de la Somme de Deux Nombres

Ce programme lit deux nombres de l’utilisateur, calcule leur somme, et affiche le résultat.

#include <stdio.h>

int main() {
    int num1, num2, sum;

    printf("Enter two integers: ");
    scanf("%d %d", &num1, &num2);

    sum = num1 + num2;

    printf("Sum: %d\n", sum);

    return 0;
}
3. Vérification d’un Nombre Pair ou Impair

Ce programme vérifie si un nombre entré par l’utilisateur est pair ou impair.

#include <stdio.h>

int main() {
    int num;

    printf("Enter an integer: ");
    scanf("%d", &num);

    if (num % 2 == 0) {
        printf("%d is even.\n", num);
    } else {
        printf("%d is odd.\n", num);
    }

    return 0;
}
4. Calcul de la Factorielle d’un Nombre

Ce programme calcule la factorielle d’un nombre donné en utilisant une boucle for.

#include <stdio.h>

int main() {
    int num, i;
    unsigned long long factorial = 1;

    printf("Enter an integer: ");
    scanf("%d", &num);

    if (num < 0) {
        printf("Factorial of a negative number doesn't exist.\n");
    } else {
        for (i = 1; i <= num; ++i) {
            factorial *= i;
        }
        printf("Factorial of %d = %llu\n", num, factorial);
    }

    return 0;
}
5. Calcul de la Série de Fibonacci

Ce programme affiche les n premiers termes de la série de Fibonacci.

#include <stdio.h>

int main() {
    int n, t1 = 0, t2 = 1, nextTerm;

    printf("Enter the number of terms: ");
    scanf("%d", &n);

    printf("Fibonacci Series: ");

    for (int i = 1; i <= n; ++i) {
        printf("%d, ", t1);
        nextTerm = t1 + t2;
        t1 = t2;
        t2 = nextTerm;
    }

    return 0;
}
6. Inversion d’une Chaîne de Caractères

Ce programme inverse une chaîne de caractères entrée par l’utilisateur.

#include <stdio.h>
#include <string.h>

int main() {
    char str[100], temp;
    int i, j;

    printf("Enter a string: ");
    gets(str);

    j = strlen(str) - 1;

    for (i = 0; i < j; i++, j--) {
        temp = str[i];
        str[i] = str[j];
        str[j] = temp;
    }

    printf("Reversed string: %s\n", str);

    return 0;
}
7. Tri d’un Tableau d’Entiers

Ce programme trie un tableau d’entiers en ordre croissant en utilisant l’algorithme de tri par sélection.

#include <stdio.h>

int main() {
    int arr[100], n, i, j, min_idx, temp;

    printf("Enter the number of elements: ");
    scanf("%d", &n);

    printf("Enter the elements: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    for (i = 0; i < n-1; i++) {
        min_idx = i;
        for (j = i+1; j < n; j++) {
            if (arr[j] < arr[min_idx]) {
                min_idx = j;
            }
        }
        temp = arr[min_idx];
        arr[min_idx] = arr[i];
        arr[i] = temp;
    }

    printf("Sorted array: ");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}
8. Recherche d’un Élément dans un Tableau

Ce programme recherche un élément dans un tableau d’entiers en utilisant la recherche linéaire.

#include <stdio.h>

int main() {
    int arr[100], n, i, search, found = 0;

    printf("Enter the number of elements: ");
    scanf("%d", &n);

    printf("Enter the elements: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    printf("Enter the element to search: ");
    scanf("%d", &search);

    for (i = 0; i < n; i++) {
        if (arr[i] == search) {
            printf("Element found at index %d\n", i);
            found = 1;
            break;
        }
    }

    if (!found) {
        printf("Element not found\n");
    }

    return 0;
}

Ces exemples couvrent divers aspects de la programmation en C, y compris l’entrée/sortie, les boucles, les conditions, les tableaux, et les fonctions. Ils sont conçus pour aider les débutants à se familiariser avec les bases du langage C.

Programmes en Langage C pour Résoudre des Problèmes du Quotidien
1. Calculatrice Simple

Ce programme implémente une calculatrice simple capable d’effectuer les quatre opérations arithmétiques de base.

#include <stdio.h>

int main() {
    char operator;
    double num1, num2, result;

    printf("Enter an operator (+, -, *, /): ");
    scanf("%c", &operator);

    printf("Enter two operands: ");
    scanf("%lf %lf", &num1, &num2);

    switch (operator) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            if (num2 != 0)
                result = num1 / num2;
            else {
                printf("Error! Division by zero.\n");
                return 1;
            }
            break;
        default:
            printf("Error! Operator is not correct\n");
            return 1;
    }

    printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);

    return 0;
}
2. Conversion de Degrés Celsius en Fahrenheit

Ce programme convertit une température donnée en degrés Celsius en Fahrenheit.

#include <stdio.h>

int main() {
    float celsius, fahrenheit;

    printf("Enter temperature in Celsius: ");
    scanf("%f", &celsius);

    fahrenheit = (celsius * 9/5) + 32;

    printf("%.2f Celsius = %.2f Fahrenheit\n", celsius, fahrenheit);

    return 0;
}
3. Calcul de l’Indice de Masse Corporelle (IMC)

Ce programme calcule l’IMC à partir du poids et de la taille de l’utilisateur.

#include <stdio.h>

int main() {
    float weight, height, bmi;

    printf("Enter weight (kg): ");
    scanf("%f", &weight);

    printf("Enter height (meters): ");
    scanf("%f", &height);

    bmi = weight / (height * height);

    printf("Your BMI is: %.2f\n", bmi);

    if (bmi < 18.5)
        printf("Underweight\n");
    else if (bmi < 24.9)
        printf("Normal weight\n");
    else if (bmi < 29.9)
        printf("Overweight\n");
    else
        printf("Obesity\n");

    return 0;
}
4. Calcul des Intérêts Simples

Ce programme calcule les intérêts simples sur un principal donné, un taux d’intérêt et une période de temps.

#include <stdio.h>

int main() {
    float principal, rate, time, interest;

    printf("Enter principal amount: ");
    scanf("%f", &principal);

    printf("Enter annual interest rate (in %%): ");
    scanf("%f", &rate);

    printf("Enter time (in years): ");
    scanf("%f", &time);

    interest = (principal * rate * time) / 100;

    printf("Simple Interest = %.2f\n", interest);

    return 0;
}
5. Conversion de Distance

Ce programme convertit une distance donnée en kilomètres en miles.

#include <stdio.h>

int main() {
    float kilometers, miles;
    const float conversion_factor = 0.621371;

    printf("Enter distance in kilometers: ");
    scanf("%f", &kilometers);

    miles = kilometers * conversion_factor;

    printf("%.2f kilometers = %.2f miles\n", kilometers, miles);

    return 0;
}
6. Conversion d’Heures en Minutes et Secondes

Ce programme convertit une durée en heures en minutes et en secondes.

#include <stdio.h>

int main() {
    int hours, minutes, seconds;

    printf("Enter time in hours: ");
    scanf("%d", &hours);

    minutes = hours * 60;
    seconds = hours * 3600;

    printf("%d hours = %d minutes = %d seconds\n", hours, minutes, seconds);

    return 0;
}
7. Calcul du Salaire Hebdomadaire

Ce programme calcule le salaire hebdomadaire d’un employé en fonction de son taux horaire et des heures travaillées.

#include <stdio.h>

int main() {
    float hourly_rate, hours_worked, weekly_salary;

    printf("Enter hourly rate: ");
    scanf("%f", &hourly_rate);

    printf("Enter hours worked in a week: ");
    scanf("%f", &hours_worked);

    weekly_salary = hourly_rate * hours_worked;

    printf("Weekly Salary = %.2f\n", weekly_salary);

    return 0;
}
8. Calcul de la Moyenne d’un Ensemble de Nombres

Ce programme calcule la moyenne d’un ensemble de nombres entrés par l’utilisateur.

#include <stdio.h>

int main() {
    int n, i;
    float num, sum = 0.0, average;

    printf("Enter the number of elements: ");
    scanf("%d", &n);

    for (i = 1; i <= n; ++i) {
        printf("Enter number %d: ", i);
        scanf("%f", &num);
        sum += num;
    }

    average = sum / n;

    printf("Average = %.2f\n", average);

    return 0;
}

Ces programmes pratiques en langage C peuvent aider à résoudre divers problèmes du quotidien, allant des calculs financiers aux conversions de mesure. Ils démontrent comment le langage C peut être utilisé pour créer des outils simples mais efficaces pour une utilisation quotidienne.

Recommandés

Guide Complet : Pointeur de Pointeur en...
Un pointeur de pointeur (ou double...
En savoir plus
Les Fonctions Récursives en C
Une fonction récursive est une fonction...
En savoir plus
Déclaration de Tableau Dynamique en C avec...
Les tableaux dynamiques en C sont...
En savoir plus
Calcul de puissance en C avec pow()...
Dans cet article, nous explorerons l'utilisation...
En savoir plus
Tableaux en C : Manipulation, Fonctionnalités et...
Dans cet article, nous explorerons...
En savoir plus
Les Majuscules en C: Une Porte vers...
Introduction Pour les débutants en programmation, comprendre...
En savoir plus
AZ

Recent Posts

Les différents types de modèles économiques

Comprendre ce qu’est un modèle économique - Télécharger un Modèle Excel des différents types de…

3 heures ago

La note d’intention d’un documentaire : Exemple

Avant qu’un documentaire n’apparaisse à l’écran, une étape discrète mais déterminante intervient dans le processus…

11 heures ago

Mémoire de fin d’étude infirmier : méthode, structure + modèle à télécharger

Le mémoire de fin d’étude infirmier reste un moment à part dans un parcours de…

14 heures ago

Note d’intention pour un court métrage modèle Word

L’imaginaire du cinéma fait souvent naître les films à partir d’une image. Un visage saisi…

20 heures ago

Exercices corrigés sur le discours rapporté au passé

Une méthode claire pour progresser dans le contexte scolaire français Au collège comme au lycée,…

1 jour ago

Rédiger une note d’intention de comédie dans un contexte franco-américain

Télécharger un exemple Word d'une note d’intention de comédie dans un contexte franco-américain ⬇️ Écrire…

1 jour ago

This website uses cookies.