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.
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
.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()
.
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.
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;
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);
Les boucles et les conditions sont utilisées pour contrôler le flux du programme.
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++; }
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"); }
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;
}
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.
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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.
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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.
Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
This website uses cookies.