
Tutorial n°1 - Vos premiers pas en C
Publié par Elfen le 11/5/2006 (5127 lus)
Dans ce tutorial, vous apprendez a coder un programme "Hello, world", a vous servir d'un IDE (un peu) et a executer ce programme.
Bon courage
Votre premier programme en C
Bonjour à tous, je me présente, je suis Elfen, je serais votre guide durant ce cours de C qui sera composé de plusieurs "tutos". J'essayerais de faire un cours le plus simple possible.
1/ Le programme
Ça y est, vous y êtes, vous allez bientôt apprendre un des langages les plus puissant et un des plus utilisés du monde, le langage dans lequel est programmé plus de la moitié (et je suis gentil) de votre système d'exploitation : windows, probablement.
Venons-en a ce pour quoi vous êtes ici : coder votre premier programme en C, le voici :

Mais, qu'est-ce que ce programme peut bien faire ?
Et bien j'ai le plaisir de vous annoncer que vous avez tapé 101 caractères pour finalement écrire la phrase : "Hello, world" dans une immonde mocheté (question de goût, perso je ne la trouve pas si moche que ça
) : la console. Si vous êtes bien sous windows vous devriez obtenir ça :

2/ les IDE
Seulement voilà, si vous avez bien suivit ce que je vous ai dit et uniquement ce que je vous ai dit vous n'obtiendrez pas de resultat, et ce pour une raison simple, c'est que vous ne savez pas :
1/ où taper ce code (code = le texte incompréhensible que je vous ai donné)
2/ comment faire pour que ce texte qui ressemble vaguement à de l'anglais puisse être compris par un ordinateur, qui ne comprend que le binaire (10101011 11011110 00110110 par exemple).
Comme je suppose que 99% d'entre vous sont sous windows (je ne saurait que trop vous recommander de ne pas continuer ainsi ...) je vais vous proposer uniquement les programmes windows qui permettent cela (pour le pourcent qui reste je vous conseille l'excellent www.google.com
), ces programmes sont appelés IDE ou EDI (signifiant respectivement Integrated Developpment Environment et Environnement de Développement Intégré) :
Premier choix : Microsoft visual c++ 2005 express edition (l'édition express à pour avantage d'être gratuite), c'est un choix honorable si vous n'êtes ni amoureux du logiciel libre ni de la portabilité
(portabilité = fait pour un programme de pouvoir être utilisé sous différentes plateformes par simple recompilation du code, vous verrez bientôt ce qu'est la compilation), cependant pour un produit du microsoft il est de bonne qualité
.
Second choix : Dev-C++, ce n'est pas le meilleur mais c'est simplement LA référence en la matière, il n'est pas assez mis a jour, c'est là son moindre défaut. Il a aussi pour avantage d'être libre (logiciel libre = logiciel souvent gratuit dont on peut obtenir le code source, contrairement aux logiciels proprietaires, le code source designe tout le code necessaire pour faire un programme).
Dernier choix : Code::Blocks, c'est le meilleur, le plus "intelligent" et il est libre comme Dev-C++, il a de nombreux avantages que vous verrez au fur et a mesure de son utilisation, il peut entre autre utiliser le système de "plugins" de Dev-C++, il a donc les avantages de Dev sans ses inconvénients. La coloration syntaxique est d'après moi la meilleure chez Code::Blocks car elle est à la fois dense et esthétique. Code::Blocks est également disponible sur la plupart des plateformes.
Donc choisissez un IDE (Code::Blocks de préférence, si vous en choisissez un autre, sachez que je n'expliquerait les manoeuvres que sur Code::Blocks a partir de maintenant) et créez un nouveau projet EN MODE CONSOLE ET EN C (et pas en C++).
Sous Code::Blocks il faut aller dans "Files/New project", choisir "Console Application" et ne pas oublier de mettre "C source" dans "File(s) option" pour les autres DEBROUILLEZ-VOUS
, si vous êtes sous Dev cela devrait ressembler a la manoeuvre sous Code::Blocks
(profitez-en pour essayer de mieux connaître votre IDE).
Ensuite vous récrirez le code dans l'éditeur qui se présente à vous (un bout de code est déjà écrit, sous Code::Blocks, et probablement sous les autres, il s'agit du Hello world, cependant Code::Blocks donne une version légèrement différente de la mienne ("Hello world!" au lieu de mon "Hello, world").
3/ Et c'est partit (enfin ... )
Maintenant nous allons transformer notre programme en un exécutable (fichier binaire compréhensible par l'ordinateur), cette étape s'appelle la compilation, puis nous allons le lancer, pour cela, au lieu de dire à notre IDE "compile moi ça !!!" puis "lance le fichier que tu vient de compiler !!!", on va utiliser la méthode dite "du flemmard" : dire à l'IDE "compile moi ça et lance-le ... ". Pour cela vous allez utiliser la fonction "build and run" qui sous Code::Blocks se situe dans "build", vous compilez et lancez donc votre programme et si vous n'avez pas pris Code::Blocks ... ça ne marche toujours pas
, mais pourquoi ? Et bien parce que quand windows exécute votre programme, il fait tout ce qu'il a à faire (afficher "Hello, world" dans notre cas), puis ferme la console, donc en réalité le programme marche mais on a pas le temps de le voir ... 
Pour remédier a cela il y a plusieurs possibilités : le system("pause") et le getchar(), le premier vous propose d'appuyer sur une touche pour continuer et le second attend que vous appuyiez sur [Entrée] sauf qu'il ne vous le précise, malgré tout je vous conseille d'utiliser getchar() (de toute façon dans le prochain cours vous apprendrez à écrire "appuyez sur une touche" juste avant le getchar(), si vous n'avez pas déjà compris) car l'autre fonctoin n'est pas portabl (ne fonctionne que sous Windows).
Voilà a quoi ressemble maintenant notre programme sous notre IDE (si vous êtes sous Code::Blocks ne mettez pas le getchar()) :

Vous pouvez remarquer deux choses : d'abord les jolies couleurs, c'est l'IDE qui fait ça, c'est plus facile de se retrouver dans un code comme ça, ensuite le ";" derrière chaque instruction, ceci est obligatoire en langage C pour la simple raison qu'on aurait pu écrire :

ATTENTION !!! Ce n'est pas parce que c'est possible que vous pouvez le faire (vous en avez la possibilité mais pas le droit), je vous interdit d'ailleurs formellement cette écriture qui serait plus qu'illisible sur un programme de plus de dix lignes, il existe d'autres styles de programmation que celui que je vais utiliser ici (regardez ici, je vous conseille les 4 premiers styles, les plus utilisés sont le K&R et le BSD/Allman, personnellement je trouve que le style GNU est le plus beau mais pour l'utiliser il est préférable d'avoir l'éditeur Emacs) mais celui la je vous l'interdit franchement.
4/ Problème
Vous avez peut-être compris quelle partie du programme permettait d'afficher du texte dans la console et vous vous êtes peut-être dit "
ben, et si j'essayai d'écrire autre chose dans la console", vous avez eu raison, on ne progresse vraiment qu'en écrivant du code, en ayant des problèmes, en les résolvant (meme si pour cela on doit parfois demander de l'aide), et bien si vous avez voulu écrire du texte en français, vous êtes peut-être tombé sur votre premier problème : vous vouliez écrire "J'ai programmé ce truc tout seul." et, comble de l'horreur, vous vous êtes retrouvé avec "?" au lieu d'un "é"
(ou autre chose, c'est ce que j'ai eu personnellement) la raison est simple : la console de windows n'affiche pas les caractères spéciaux (j'ai essayé le plus de caractères spéciaux possible et j'ai remarqué qu'un des seuls qu'elle affichait bien était le "$", c'est microsoft après tout
), les solutions sont simples aussi, il y en a deux principales :
- Passer sous un autre système que windows (Linux).
- Ne pas mettre les accents, cette solution me paraît meilleure pour le moment ^^.
5/ Dernière petite chose
Enfin dernière chose que nous allons apprendre : ce sont les commentaires. Premièrement : les commentaires à quoi ça sert ? Eh bien on pourrait considérer que ça ne sert à rien puisque votre programme sera, après compilation, exactement le même que vous aillez mis des commentaires ou non, en fait le compilateur ne "lit" pas vos commentaires, il passe tout bonnement a cote, cependant, vous ou un autre programmeur peut les lire, en fait les commentaires servent à dire au programmeur "là, on écrit le texte dans le fichier" ou "là, on affiche 'Hello, world'", vous me suivez ? En fait on se retrouve mieux dans un code grâce aux commentaires. Venons en au fait : comment on met ces commentaires qui ont l'air si formidables ? Et bien il y a deux méthodes : la méthode C et la méthode C++, ces deux méthodes fonctionnent sur les compilateurs C modernes. La méthode C consiste à encadrer son commentaire avec /* et */ : /* Je suis un commentaire */, la méthode C++ consiste à commencer son commentaire avec // et à le terminer avec un retour a la ligne (en gros votre commentaire commence avec // et se continue jusqu'à la fin de la ligne), perso je préfère la méthode dite "C++" car elle est plus simple et que de toute façon vous aurez rarement besoin de commentaires de plusieurs lignes.

Que constatons nous ici les enfants ? On constate que commentaire C qui avait l'air si fort a oublié de se fermer, ce qui a causé un terrible bug lors de la compilation (Oh ! non !
)
Conclusion
Voilà, c'est la fin de ce premier tuto de C, j'espère qu'il vous a plu, sachez que j'essayerais d'en faire une (longue) série dans laquelle vous apprendrez, en plus des bases, certaines librairies essentielles comme les librairies réseaux : les chaussettes (vous comprendrez pourquoi ce nom plus tard) et peut-être même une librairie graphique (GTK+ ?).
Bon courage

Votre premier programme en C
Bonjour à tous, je me présente, je suis Elfen, je serais votre guide durant ce cours de C qui sera composé de plusieurs "tutos". J'essayerais de faire un cours le plus simple possible.
1/ Le programme
Ça y est, vous y êtes, vous allez bientôt apprendre un des langages les plus puissant et un des plus utilisés du monde, le langage dans lequel est programmé plus de la moitié (et je suis gentil) de votre système d'exploitation : windows, probablement.
Venons-en a ce pour quoi vous êtes ici : coder votre premier programme en C, le voici :

Mais, qu'est-ce que ce programme peut bien faire ?
Et bien j'ai le plaisir de vous annoncer que vous avez tapé 101 caractères pour finalement écrire la phrase : "Hello, world" dans une immonde mocheté (question de goût, perso je ne la trouve pas si moche que ça
) : la console. Si vous êtes bien sous windows vous devriez obtenir ça :
2/ les IDE
Seulement voilà, si vous avez bien suivit ce que je vous ai dit et uniquement ce que je vous ai dit vous n'obtiendrez pas de resultat, et ce pour une raison simple, c'est que vous ne savez pas :
1/ où taper ce code (code = le texte incompréhensible que je vous ai donné)
2/ comment faire pour que ce texte qui ressemble vaguement à de l'anglais puisse être compris par un ordinateur, qui ne comprend que le binaire (10101011 11011110 00110110 par exemple).
Comme je suppose que 99% d'entre vous sont sous windows (je ne saurait que trop vous recommander de ne pas continuer ainsi ...) je vais vous proposer uniquement les programmes windows qui permettent cela (pour le pourcent qui reste je vous conseille l'excellent www.google.com
), ces programmes sont appelés IDE ou EDI (signifiant respectivement Integrated Developpment Environment et Environnement de Développement Intégré) :Premier choix : Microsoft visual c++ 2005 express edition (l'édition express à pour avantage d'être gratuite), c'est un choix honorable si vous n'êtes ni amoureux du logiciel libre ni de la portabilité
(portabilité = fait pour un programme de pouvoir être utilisé sous différentes plateformes par simple recompilation du code, vous verrez bientôt ce qu'est la compilation), cependant pour un produit du microsoft il est de bonne qualité
.Second choix : Dev-C++, ce n'est pas le meilleur mais c'est simplement LA référence en la matière, il n'est pas assez mis a jour, c'est là son moindre défaut. Il a aussi pour avantage d'être libre (logiciel libre = logiciel souvent gratuit dont on peut obtenir le code source, contrairement aux logiciels proprietaires, le code source designe tout le code necessaire pour faire un programme).
Dernier choix : Code::Blocks, c'est le meilleur, le plus "intelligent" et il est libre comme Dev-C++, il a de nombreux avantages que vous verrez au fur et a mesure de son utilisation, il peut entre autre utiliser le système de "plugins" de Dev-C++, il a donc les avantages de Dev sans ses inconvénients. La coloration syntaxique est d'après moi la meilleure chez Code::Blocks car elle est à la fois dense et esthétique. Code::Blocks est également disponible sur la plupart des plateformes.
Donc choisissez un IDE (Code::Blocks de préférence, si vous en choisissez un autre, sachez que je n'expliquerait les manoeuvres que sur Code::Blocks a partir de maintenant) et créez un nouveau projet EN MODE CONSOLE ET EN C (et pas en C++).
Sous Code::Blocks il faut aller dans "Files/New project", choisir "Console Application" et ne pas oublier de mettre "C source" dans "File(s) option" pour les autres DEBROUILLEZ-VOUS
, si vous êtes sous Dev cela devrait ressembler a la manoeuvre sous Code::Blocks
(profitez-en pour essayer de mieux connaître votre IDE).Ensuite vous récrirez le code dans l'éditeur qui se présente à vous (un bout de code est déjà écrit, sous Code::Blocks, et probablement sous les autres, il s'agit du Hello world, cependant Code::Blocks donne une version légèrement différente de la mienne ("Hello world!" au lieu de mon "Hello, world").
3/ Et c'est partit (enfin ... )
Maintenant nous allons transformer notre programme en un exécutable (fichier binaire compréhensible par l'ordinateur), cette étape s'appelle la compilation, puis nous allons le lancer, pour cela, au lieu de dire à notre IDE "compile moi ça !!!" puis "lance le fichier que tu vient de compiler !!!", on va utiliser la méthode dite "du flemmard" : dire à l'IDE "compile moi ça et lance-le ... ". Pour cela vous allez utiliser la fonction "build and run" qui sous Code::Blocks se situe dans "build", vous compilez et lancez donc votre programme et si vous n'avez pas pris Code::Blocks ... ça ne marche toujours pas
, mais pourquoi ? Et bien parce que quand windows exécute votre programme, il fait tout ce qu'il a à faire (afficher "Hello, world" dans notre cas), puis ferme la console, donc en réalité le programme marche mais on a pas le temps de le voir ... 
Pour remédier a cela il y a plusieurs possibilités : le system("pause") et le getchar(), le premier vous propose d'appuyer sur une touche pour continuer et le second attend que vous appuyiez sur [Entrée] sauf qu'il ne vous le précise, malgré tout je vous conseille d'utiliser getchar() (de toute façon dans le prochain cours vous apprendrez à écrire "appuyez sur une touche" juste avant le getchar(), si vous n'avez pas déjà compris) car l'autre fonctoin n'est pas portabl (ne fonctionne que sous Windows).
Voilà a quoi ressemble maintenant notre programme sous notre IDE (si vous êtes sous Code::Blocks ne mettez pas le getchar()) :

Vous pouvez remarquer deux choses : d'abord les jolies couleurs, c'est l'IDE qui fait ça, c'est plus facile de se retrouver dans un code comme ça, ensuite le ";" derrière chaque instruction, ceci est obligatoire en langage C pour la simple raison qu'on aurait pu écrire :

ATTENTION !!! Ce n'est pas parce que c'est possible que vous pouvez le faire (vous en avez la possibilité mais pas le droit), je vous interdit d'ailleurs formellement cette écriture qui serait plus qu'illisible sur un programme de plus de dix lignes, il existe d'autres styles de programmation que celui que je vais utiliser ici (regardez ici, je vous conseille les 4 premiers styles, les plus utilisés sont le K&R et le BSD/Allman, personnellement je trouve que le style GNU est le plus beau mais pour l'utiliser il est préférable d'avoir l'éditeur Emacs) mais celui la je vous l'interdit franchement.
4/ Problème
Vous avez peut-être compris quelle partie du programme permettait d'afficher du texte dans la console et vous vous êtes peut-être dit "
ben, et si j'essayai d'écrire autre chose dans la console", vous avez eu raison, on ne progresse vraiment qu'en écrivant du code, en ayant des problèmes, en les résolvant (meme si pour cela on doit parfois demander de l'aide), et bien si vous avez voulu écrire du texte en français, vous êtes peut-être tombé sur votre premier problème : vous vouliez écrire "J'ai programmé ce truc tout seul." et, comble de l'horreur, vous vous êtes retrouvé avec "?" au lieu d'un "é"
(ou autre chose, c'est ce que j'ai eu personnellement) la raison est simple : la console de windows n'affiche pas les caractères spéciaux (j'ai essayé le plus de caractères spéciaux possible et j'ai remarqué qu'un des seuls qu'elle affichait bien était le "$", c'est microsoft après tout
), les solutions sont simples aussi, il y en a deux principales :- Passer sous un autre système que windows (Linux).
- Ne pas mettre les accents, cette solution me paraît meilleure pour le moment ^^.
5/ Dernière petite chose
Enfin dernière chose que nous allons apprendre : ce sont les commentaires. Premièrement : les commentaires à quoi ça sert ? Eh bien on pourrait considérer que ça ne sert à rien puisque votre programme sera, après compilation, exactement le même que vous aillez mis des commentaires ou non, en fait le compilateur ne "lit" pas vos commentaires, il passe tout bonnement a cote, cependant, vous ou un autre programmeur peut les lire, en fait les commentaires servent à dire au programmeur "là, on écrit le texte dans le fichier" ou "là, on affiche 'Hello, world'", vous me suivez ? En fait on se retrouve mieux dans un code grâce aux commentaires. Venons en au fait : comment on met ces commentaires qui ont l'air si formidables ? Et bien il y a deux méthodes : la méthode C et la méthode C++, ces deux méthodes fonctionnent sur les compilateurs C modernes. La méthode C consiste à encadrer son commentaire avec /* et */ : /* Je suis un commentaire */, la méthode C++ consiste à commencer son commentaire avec // et à le terminer avec un retour a la ligne (en gros votre commentaire commence avec // et se continue jusqu'à la fin de la ligne), perso je préfère la méthode dite "C++" car elle est plus simple et que de toute façon vous aurez rarement besoin de commentaires de plusieurs lignes.

Que constatons nous ici les enfants ? On constate que commentaire C qui avait l'air si fort a oublié de se fermer, ce qui a causé un terrible bug lors de la compilation (Oh ! non !
)Conclusion
Voilà, c'est la fin de ce premier tuto de C, j'espère qu'il vous a plu, sachez que j'essayerais d'en faire une (longue) série dans laquelle vous apprendrez, en plus des bases, certaines librairies essentielles comme les librairies réseaux : les chaussettes (vous comprendrez pourquoi ce nom plus tard) et peut-être même une librairie graphique (GTK+ ?).
| Naviguer à travers les tutoriaux | |
Tutorial n°2 - La mémoire
|
|
|
Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
|
||||







