Comment apprendre la programmation en C avec ce projet débutant
Added 2018-11-29
Apprendre à programmer est une expérience cumulative. En plus d'apprendre la syntaxe de la langue de votre choix, vous devez également apprendre les principes généraux utilisés par tous les langages de programmation.
Comprendre et apprendre la programmation en C peut être décourageant, mais il existe quelques idées de base qui valent la peine de se familiariser avec lors du démarrage. Un projet simple est un excellent moyen d’apprendre les bases de C.
Alors par où devriez-vous commencer? En disant bonjour!
1. Bonjour le monde!
#comprendre
/ * c'est un script Hello World en C * /
int main (void)
{
printf ("Bonjour le monde! \ n");
retourne 0;
}
Ce court morceau de code s'imprime sur la console avant de terminer le programme. Enregistrez-le dans un endroit facile à mémoriser Bonjour c . Maintenant, vous devez compiler et construire votre fichier.
Le faire courir
Généralement, il n’est pas nécessaire d’installer un logiciel supplémentaire sur votre ordinateur pour exécuter les scripts C. Ouvrez une fenêtre de terminal (ou une invite de commande si vous utilisez Windows) et accédez au répertoire dans lequel vous avez enregistré votre script.
La manière dont vous compilez et exécutez votre fichier varie d'un système à l'autre:
- Utilisateurs Windows: Rendre votre fichier exécutable en tapant cl hello.c et en appuyant sur entrer. Cela créera hello.exe dans le même dossier, que vous pourrez exécuter en tapant Bonjour .
- Utilisateurs Linux et macOS: Type 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, exécuter votre script devrait vous montrer ceci:
Si cela ne fonctionne pas sous Windows, veillez à exécuter l'invite de commande en mode administrateur. . Pour macOS, vous devrez peut-être installer Xcode à partir de l'App Store et Suivez ces étapes à partir de StackOverflow .
Maintenant, regardons le programme ligne par ligne pour voir comment cela fonctionne et l’améliorer!
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 dit au script d’utiliser le stdio.h bibliothèque. Il existe un grand nombre de pré-processeurs disponibles pour différentes tâches.
Stdio.h se charge de recueillir les commentaires de l’utilisateur du programme et de leur renvoyer les informations.
/ * c'est un script Hello World en C * /
Cette ligne suivante est un commentaire. La barre oblique et l'étoile indiquent au compilateur d'ignorer tout ce qui la sépare de l'étoile de fermeture et de la barre oblique. Bien que cela puisse sembler inutile, pouvoir prendre soin de vous-même et de laisser aux autres des notes claires sur ce que fait votre code est une habitude essentielle.
La fonction principale
int main (void)
Chaque programme C doit avoir un principale une fonction. Main est une fonction qui renvoie un entier, noté int . Les crochets après main sont pour ses arguments, bien que dans ce cas, il n’en prend aucun, c’est pourquoi vous utilisez vide mot-clé.
Vous écrivez le code à exécuter entre deux accolades.
{
printf ("Bonjour le monde! \ n");
retourne 0;
}
Dans la fonction, vous appelez le printf () une fonction. Juste comme principale() , printf est une fonction. La différence est que printf est une fonction du stdio bibliothèque que vous avez incluse au début.
Printf imprime tout ce qui est entre crochets, entre les guillemets, sur la console. le \ n est une séquence d'échappement appelée nouvelle ligne, 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: leur absence est la première cause des problèmes qui se produisent!
Enfin, la fonction retourne avec le chiffre 0 pour terminer le programme. le principale() la fonction doit toujours renvoyer un entier, et return = 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 son fonctionnement.
2. Créer vos propres fonctions C
Vous pouvez créer vos propres fonctions personnalisées dans C. Au lieu d'imprimer Hello World dans la fonction principale, créez une nouvelle fonction pour le faire à votre place.
void print_for_me ()
{
printf ("Bonjour le monde! \ n");
}
On va décomposer ça.
vide est un mot clé qui signifie que la fonction suivante ne renverra rien.
print_for_me () est le nom de la fonction, et les crochets vides indiquent qu'il ne nécessite pas d'arguments pour fonctionner. Un argument est toute information à transmettre à une fonction pour la faire fonctionner. Plus tard, vous ajouterez votre propre argument pour modifier le résultat! Remarque: Ce n'est pas la même chose que la fonction main () au-dessus de void utilisée. Cette fonction ne peut pas prendre d’arguments, alors que celle-ci le peut (mais dans ce cas, ce n’est pas obligatoire).
Le bloc de code devrait vous être familier: il ne s’agit que de la déclaration d’impression de la fonction principale initiale.
Vous pouvez maintenant appeler cette fonction à partir de votre fonction principale.
int main (void)
{
print_for_me ();
print_for_me ();
retourne 0;
}
Vous pouvez voir ici l'avantage d'utiliser votre propre fonction. Plutôt que de taper printf (“Bonjour le monde! \ n”) chaque fois, vous pouvez appeler la fonction deux fois.
Pour le moment, cela peut sembler moins important, mais si votre fonction print_for_me contient beaucoup de lignes de code, pouvoir l'appeler aussi facilement vous fera gagner beaucoup de temps!
C’est une idée fondamentale de la programmation que vous rencontrerez tout au long de votre formation. Ecrivez votre propre fonction une fois, plutôt que d'écrire les mêmes gros morceaux de code encore et encore.
3. Utilisation de prototypes de fonctions en C
Les prototypes sont l’un des principaux facteurs qui différencient le débutant en C des autres langues. En 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 sa déclaration. Il n’est donc pas certain que cela fonctionnera correctement lors de l’exécution du programme.
Le code fonctionnerait toujours, mais l’avertissement peut être complètement évité en utilisant un prototype.
#comprendre
void print_for_me ();
int main (void)
{
print_for_me ();
print_for_me ();
retourne 0;
}
void print_for_me ()
{
printf ("Bonjour 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 indique au compilateur à quoi la fonction devrait ressembler 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 émettre un avertissement ou une erreur si nécessaire. Cela peut sembler étrange à présent, mais les connaître maintenant aidera à l'avenir.
Ce programme fonctionne toujours sans prototype, mais il s’agit d’une bonne pratique. La sortie a toujours la même apparence pour le moment, changeons-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 appelés chaînes de caractères, contrairement à d'autres langages de programmation.
Au lieu de cela, ils sont un tableau de caractères simples. Le symbole pour 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 du caractère []);
Maintenant, le compilateur saura que la fonction plus loin dans le script prend un tableau de caractères appelé prénom . Jusqu’à présent, ce personnage n’existe pas. Mettez à jour votre fonction principale pour la créer et utilisez-la pour stocker les entrées de l'utilisateur:
int main (void)
{
nom du personnage [20];
printf ("Entrez le nom:");
scanf ("% s", nom);
print_for_me (nom);
print_for_me ("Tout le monde!");
retourne 0;
}
La première ligne de main crée un tableau de caractères avec 20 espaces possibles appelé nom. Ensuite, l'utilisateur est invité à entrer 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.
le «% S» indique à la fonction qu'il doit stocker les données sous forme de chaîne et les appeler prénom .
Modifier la fonction
Maintenant, lorsque vous appelez print_for_me, vous pouvez inclure prénom entre parenthèses. Sur la ligne suivante, vous verrez que vous pouvez également transmettre d'autres caractères tant qu'ils sont entre guillemets. Les deux fois, ce qui est entre crochets est passé à la fonction print_for_me.
Modifiez cela 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 exactement comme le prototype au début du script. A l'intérieur, vous imprimez encore bonjour en utilisant printf. Une nouvelle fonction est ici met . Ceci est 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é précédemment) est ajouté automatiquement.
Enregistrez et compilez votre code de la même manière que vous l'avez fait 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 à nouveau le message de présélection «Tout le monde!», Donnant deux sorties distinctes à la même fonction.
L'ABC de la programmation en C
Ce programme est simple, mais certains des concepts qu’il contient ne le sont pas. Le code C plus avancé doit être très bien écrit pour éviter les plantages. C'est pourquoi beaucoup pensent que c'est une excellente langue à apprendre en premier car il instille de bonnes habitudes dans les nouveaux programmeurs.
D’autres pensent que l’apprentissage du C ++ est une idée géniale, car il s’appuie sur le C tout en conservant son contrôle système inférieur. (Il faut aussi tenir compte de Rust, c’est un 7 raisons pour lesquelles Rust est le nouveau langage de programmation le plus excitant langage de programmation passionnant syntaxiquement similaire à C ++.)