Publicité
Apprendre à programmer est une expérience cumulative. En plus d'apprendre la syntaxe du langage que vous avez choisi, vous devez également apprendre les principes généraux utilisés par tous les langages de programmation.
Comprendre et apprendre la programmation C peut être intimidant, mais il y a quelques idées de base avec lesquelles il vaut la peine de se familiariser au début. Un projet simple est un excellent moyen d'apprendre les bases de C.
Alors par où commencer? En disant bonjour !
1. Bonjour le monde!
La première partie de presque tous les cours de codage est la Bonjour le monde programme. L'examiner en détail met en évidence certaines des différences entre C et les autres langages. Pour commencer, ouvrez un éditeur de texte ou IDE Éditeurs de texte vs. IDE: lequel est le meilleur pour les programmeurs ?Choisir entre un IDE avancé et un éditeur de texte plus simple peut être difficile. Nous vous proposons quelques informations pour vous aider à prendre cette décision. Lire la suite de votre choix, et entrez ce code :
#comprendre /* ceci est un script Hello World en C */ int principal (vide) { printf("Bonjour tout le monde! \n"); renvoie 0; }
Ce court morceau de code s'imprime sur la console avant de terminer le programme. Enregistrez-le dans un endroit facile à retenir comme Bonjour c. Maintenant, vous devez compiler et construire votre fichier.
Faire fonctionner
Habituellement, vous n'aurez pas besoin d'installer de logiciel supplémentaire sur votre ordinateur pour exécuter des scripts C. Ouvrez une fenêtre de terminal (ou une invite de commande si vous exécutez Windows) et accédez au répertoire dans lequel vous avez enregistré votre script.
La façon dont vous compilez et exécutez votre fichier varie d'un système à l'autre :
- Utilisateurs Windows : Rendez votre fichier exécutable en tapant cl bonjour.c et appuyez sur Entrée. Cela créera hello.exe dans le même dossier, que vous pouvez exécuter en tapant Bonjour.
- Utilisateurs Linux et macOS : Taper gcc -o bonjour bonjour.c et appuyez sur Entrée pour le rendre exécutable, et exécutez-le en tapant ./Bonjour.
Quelle que soit la méthode que vous utilisez, l'exécution de votre script devrait vous montrer ceci :
Si cela ne fonctionnait pas sous Windows, assurez-vous d'exécuter le invite de commande en mode administrateur. Pour macOS, vous devrez peut-être installer Xcode depuis l'App Store et suivez ces étapes à partir de StackOverflow.
Maintenant, regardons le programme ligne par ligne pour voir comment cela fonctionne, et améliorons-le !
Sous le capot: comprendre le langage C
Préprocesseurs
Le script que vous venez de créer commence par l'inclusion d'une bibliothèque.
#comprendre
La première ligne du script s'appelle un préprocesseur. Ceci est effectué avant que le reste du script ne soit compilé. Dans ce cas, il indique au script d'utiliser le stdio.h une bibliothèque. Il existe un grand nombre de préprocesseurs disponibles pour différentes tâches.
Stdio.h s'occupe d'obtenir les entrées de l'utilisateur du programme et de leur renvoyer les informations.
/* ceci est un script Hello World en C */
La ligne suivante est un commentaire. La barre oblique et l'étoile indiquent au compilateur d'ignorer tout ce qui se trouve entre elle et l'étoile et la barre oblique de fermeture. Bien que cela puisse sembler inutile, être capable de laisser à vous-même et aux autres des notes claires sur ce que fait votre code est une habitude essentielle à prendre.
La fonction principale
int principal (vide)
Chaque programme C doit avoir un principale fonction. Main est une fonction qui renvoie un entier, noté par entier. Les crochets après main sont pour ses arguments, bien que dans ce cas, il n'en faut aucun, c'est pourquoi vous utilisez le annuler mot-clé.
Vous écrivez le code à exécuter entre deux accolades.
{ printf("Bonjour tout le monde! \n"); renvoie 0; }
A l'intérieur de la fonction, vous appelez le printf() fonction. Juste comme principale(), printf est une fonction. La différence est que printf est une fonction dans le stdio bibliothèque que vous avez incluse au début.
Printf imprime tout ce qui se trouve entre parenthèses, entre les guillemets, sur la console. Les \n est une séquence d'échappement appelée newline, indiquant au compilateur de passer à la ligne suivante de la console avant de continuer.
Notez que ces lignes se terminent par points-virgules, que le compilateur utilise pour séparer une tâche de la suivante. Portez une attention particulière à ces points-virgules: les manquer est la principale cause de problèmes !
Enfin, la fonction revient avec le nombre 0, terminant le programme. Les principale() la fonction doit toujours retourner un entier, et retour = 0 ; signale à l'ordinateur que le processus a réussi.
Comprendre chaque étape de ce script est un bon début pour apprendre à la fois la syntaxe C et le fonctionnement du langage.
2. Créer vos propres fonctions C
Vous pouvez créer vos propres fonctions personnalisées en C. Au lieu d'imprimer Hello World dans la fonction principale, créez une nouvelle fonction pour le faire pour vous.
void print_for_me() { printf("Bonjour tout le monde! \n"); }
Décomposons cela.
annuler est un mot-clé signifiant que la fonction suivante ne retournera rien.
print_for_me() est le nom de la fonction, et les crochets vides montrent qu'elle ne nécessite pas d'arguments pour fonctionner. Un argument est une information à transmettre à une fonction pour la faire fonctionner. Plus tard, vous ajouterez votre propre argument pour modifier la sortie! Noter: Ce n'est pas la même chose que la fonction main() ci-dessus qui utilisait void. Cette fonction ne peut pas prendre d'arguments, alors que celle-ci peut (mais dans ce cas, n'a pas à le faire).
Le bloc de code devrait vous être familier - c'est juste l'instruction print de la fonction principale d'origine.
Maintenant, vous pouvez appeler cette fonction depuis votre fonction principale.
int principal (vide) { print_for_me(); print_for_me(); renvoie 0; }
Vous pouvez voir ici un avantage à utiliser votre propre fonction. Plutôt que de taper printf("Bonjour, Monde! \n") à chaque fois, vous pouvez appeler la fonction deux fois.
Pour le moment, cela peut ne pas sembler si important, mais si votre fonction print_for_me contenait beaucoup de lignes de code, pouvoir l'appeler si facilement est un excellent gain de temps !
C'est une idée fondamentale de la programmation que vous rencontrerez tout au long de votre éducation. Écrivez votre propre fonction une fois, plutôt que d'écrire les mêmes gros morceaux de code encore et encore.
3. Utiliser des prototypes de fonctions en C
Les prototypes sont l'une des principales différences entre le C débutant et les autres langages. Bref, un prototype est comme un aperçu d'une fonction définie ultérieurement. Si vous écrivez la fonction print_for_me() après la fonction principale, vous pouvez recevoir un avertissement lors de la compilation :
Le message d'avertissement vous indique que le compilateur a exécuté la fonction print_for_me avant qu'elle ne soit déclarée, il ne pouvait donc pas être sûr qu'elle fonctionnerait correctement lorsque le programme s'exécuterait.
Le code fonctionnerait toujours, mais l'avertissement peut être complètement évité en utilisant un prototype.
#comprendre void print_for_me(); int principal (vide) { print_for_me(); print_for_me(); renvoie 0; } annuler print_for_me() { printf("Bonjour tout le monde! \n"); }
En regardant le programme complet, vous pouvez voir que le prototype de print_for_me() existe au début du programme, mais ne contient rien. La fonction prototype montre au compilateur à quoi devrait ressembler la fonction et si elle nécessite des arguments ou non.
Cela signifie que lorsque vous l'appelez dans la fonction principale, le compilateur sait s'il est appelé correctement et peut lancer un avertissement ou une erreur si nécessaire. Cela peut sembler étrange maintenant, mais les connaître maintenant aidera à l'avenir.
Ce programme fonctionne toujours sans prototype, mais c'est une bonne pratique à utiliser. La sortie est toujours la même pour le moment, modifions-la pour la rendre plus personnelle !
4. Passer des arguments aux fonctions C
Changer le script
Pour cette dernière étape, vous demanderez le nom de l'utilisateur et enregistrerez sa saisie. Ensuite, vous l'utiliserez dans la fonction que vous avez créée auparavant. En C, les mots ne sont pas connus comme des chaînes comme dans d'autres langages de programmation.
Au lieu de cela, ils sont un tableau de caractères uniques. Le symbole d'un tableau est [] et le mot-clé est carboniser. Commencez par mettre à jour votre fonction prototype au début de votre script :
#comprendre void print_for_me (nom de caractère[]);
Maintenant, le compilateur saura que la fonction plus tard dans le script prend un tableau de caractères appelé Nom. Pour l'instant, ce personnage n'existe pas. Mettez à jour votre fonction principale pour la créer et utilisez-la pour stocker l'entrée utilisateur :
int principal (vide) { nom de caractère[20]; printf("Entrez le nom: "); scanf("%s", nom); print_for_me (nom); print_for_me("Tout le monde !"); renvoie 0; }
La première ligne de main crée un tableau de caractères avec 20 espaces possibles appelés name. Ensuite, l'utilisateur est invité à saisir son nom à l'aide de printf. La ligne suivante utilise une nouvelle fonction appelée scanf qui prend le mot suivant que l'utilisateur tape.
Les "%s" indique à la fonction qu'elle doit stocker les données sous forme de chaîne et l'appelle Nom.
Modification de la fonction
Maintenant, lorsque vous appelez print_for_me, vous pouvez inclure Nom dans les parenthèses. Sur la ligne suivante, vous verrez que vous pouvez également passer d'autres caractères tant qu'ils sont entre guillemets. Les deux fois, ce qui est entre parenthèses est transmis à la fonction print_for_me.
Modifiez-le maintenant pour utiliser les nouvelles informations que vous lui donnez :
void print_for_me (nom du caractère[]) { printf("Bonjour, "); met (nom); }
Ici, vous pouvez voir que les crochets ont été mis à jour tout comme le prototype au début du script. À l'intérieur, vous imprimez toujours bonjour en utilisant printf. Une nouvelle fonction ici est met. Il s'agit d'une version plus avancée de printf.
Tout ce qui est mis entre parenthèses sera imprimé sur la console, et une nouvelle ligne (le \n vous avez utilisé plus tôt) est ajouté automatiquement.
Enregistrez et compilez votre code de la même manière que précédemment. Notez que vous pouvez nommer le programme différemment si vous ne souhaitez pas écraser votre programme précédent. j'ai nommé le mien bonjour2:
Comme vous devriez le voir, le programme prend l'entrée et l'utilise dans la fonction, avant d'envoyer le message d'accueil prédéfini de « Tout le monde! » donnant à nouveau deux sorties distinctes à la même fonction.
L'ABC de la programmation C
Ce programme est simple, mais certains de ses concepts ne le sont pas. Un code C plus avancé doit être très bien écrit pour éviter les plantages. C'est pourquoi beaucoup pensent que c'est un excellente langue à apprendre en premier car il inculque de bonnes habitudes aux nouveaux programmeurs.
D'autres pensent qu'apprendre C++ est une meilleure idée, car il s'appuie sur C tout en conservant son contrôle système inférieur. (Il y a aussi Rust à considérer - c'est un langage de programmation passionnant qui est syntaxiquement similaire à C++.)
Une chose est sûre: langages comme Python sont beaucoup plus conviviaux pour les débutants. Pour un ancien langage, C est encore utilisé partout, mais Python pourrait être le langage du futur 6 raisons pour lesquelles Python est le langage de programmation du futurVous voulez apprendre ou développer vos compétences en programmation? Voici pourquoi Python est le meilleur langage de programmation à apprendre cette année. Lire la suite !
Ian Buckley est un journaliste indépendant, musicien, interprète et producteur vidéo vivant à Berlin, en Allemagne. Quand il n'écrit pas ou ne monte pas sur scène, il bricole de l'électronique ou du code DIY dans l'espoir de devenir un savant fou.