| | Langage C : Introduction et 1er programme | |
|
| Auteur | Message |
|---|
CyberTwister Admin - .: el creator :.


Nombre de messages: 2887 Age: 25 Programme utilisé (Gm/RmXp/...): Game Maker Etudes: Eleve gpx (ENP Sens) Loisirs: Potes , Gamemaker, Xbox, Bob l'eponge , ... Date d'inscription: 07/02/2005
 | Sujet: Langage C : Introduction et 1er programme Mer 4 Jan - 14:12 | |
| INTRODUCTION :Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie et B.W.Kernighan se sont inspirés des langages B et BCPL, pour créer un nouveau langage : le langage C. Différence avec le C++ : Le C++ est un langage basé sur le langage C, auquel on a rajouté des éléments de telle manière à intégrer le concept objet. C'est Bjarne Stroustrup qui a créé la première version de ce langage, appelé C++. 1er Programme :Le C étant un langage compiler, il va nous falloir un compilateur : un programme permettant de transformer un script en un fichier éxécutable : Téléchargez par exemple devC++ : ftp://ftp-developpez.com/c/downloads/compilateurs/devcpp-4.9.9.2_setup.exeCréez un nouveau projet et isérez ce code : | Code: | #include <stdio.h>
int main(void) { printf("Hello World !\n"); printf("Appuyez sur [ENTREE] pour continuer.\n"); getchar(); return 0; } |
Cliquez sur compiler et executer Voila 
Alors, content ? Vous venez de faire votre premier programme en C  Voila ce que ça pourrait rendre une fois compilé : http://cybertwister.jexiste.fr/Database/zone/4%20-%20Autres/C/Exemples/1er_programme_en_C.exe
Comprendre le programme : - Dans ce programme la fonction principale main() contient une fonction appelée printf() qui a pour but d'afficher le message « Ceci est votre premier programme ». En réalité le compilateur ne connaît pas la fonction printf() bien qu'il s'agisse d'une fonction standard du langage C. Cette fonction est effectivement stockée dans un fichier annexe, contenant une librairie de fonctions, appelé fichier de définition (éventuellement fichier d'en-tête ou fichier header), dont l'extension est .h. Il s'agit donc de préciser au compilateur dans quel fichier se trouve la définition de la fonction printf()... Celle-ci se trouve dans le fichier d'en-tête appelé stdio.h. La désignation stdio signifie Standard Input Output (en français Entrées Sorties standard), c'est-à-dire que ce fichier contient la définition de nombreuses fonctions permettant l'entrée (saisie au clavier, ...) et la sortie (affichage, sortie dans un fichier, ...) de données, dont la fonction printf() fait partie. L'incorporation de la déclaration de la fonction printf() se fait au moyen de l'instruction #include (que l'on place en début de fichier) suivie des balises < et > contenant le nom de fichier contenant la définition de la fonction. La déclaration include doit se trouver avant toute utilisation des méthodes déclarées, sinon le compilateur générera au minimum un warning. - Mettez des points virgules à la fin de chaque ligne : le C interprête les points-virgules comme la fin d'une instruction et il ne tient pas compte des espaces ou des retours à la ligne. - printf est une fonction qui sert à écrire du texte : elle prend en argument une chaîne de caractère, soit du texte entre guillemets, suivie d'un nombre indéfini de variables. Pour écrire du texte à l'écran, on entre donc "printf", on ouvre des parenthèses et des guillemets, puis on entre le texte, après quoi on referme les guillemets et les parenthèses pour terminer la ligne par un point-virgule. - le programme se ferme dès que le texte est affiché, et on a pas le temps de voir. Il font donc faire une "pause" une fois le texte affichée. On écrit donc une phrase indiquant qu'il faut appuyer sur une touche pour terminer le programme, puis on entre l'instruction getchar(). Cette instruction attend que l'utilisateur appuie sur une touche : plus tard, nous récupèrerons la valeur de cette touche. Pour l'instant, elle sert juste à faire une pause jusqu'à ce qu'une touche soit pressée. On termine toujours la fonction principale par return 0;, qui sert à indiquer au système que tout s'est déroulé sans problème.
Je connais pas du tout le C et je le découvre en même temps que ce tuto. La plupart des trucs de ce petit tuto sont des bouts de tuto trouvés à droite et gauche sur internet  |
|
 | |
Angel's Dream Modérateur Langages Web


Nombre de messages: 2855 Programme utilisé (Gm/RmXp/...): GM-6.1, Notepad ++, Flash MX 2004, Fruity loop Etudes: Seconde Général Loisirs: Vivre ! Date d'inscription: 04/11/2005
 | Sujet: Re: Langage C : Introduction et 1er programme Mer 4 Jan - 15:12 | |
| si vous voulez introdruire un chifre avec une variable deux facon : #include<stdio.h> #include<math.h> main() {int i float x printf("introduisez un nombre\n") ; scanf("%f\n", &x); printf("le chifre notez est %d", x) ; } Normalement ca marche,vous avez apris a introduire un chiffre. resumon: \n sert à un saut de ligne. /* introduit lle commentaire. */boucle le commentaire. scanf sert a introduir un chifrre ou une lettre à une variable. ("%f", &x)indique que le nombre introduit sera declarer en x. float indique que la variable qui suit est flotante. voila voila. |
|
 | |
Jackamikaz Modérateur GameMaker


Nombre de messages: 992 Age: 20 Programme utilisé (Gm/RmXp/...): GM enregistré, Dev C++ Etudes: Lycée Loisirs: Programmation Date d'inscription: 20/02/2005
 | Sujet: Re: Langage C : Introduction et 1er programme Jeu 5 Jan - 21:00 | |
| Oui Blunkoth, et n'oublie pas de préciser que tu as déclaré ( et pas initialisé ) i et x. Où i est un entier (pour int) et x un flottant (pour float). Donc tu trompe quand tu dis que scanf declare x avec la valeur tabulée, en fait il lui donne une valeur. Il faut être strict avec le vocabulaire sinon on a tendance à s'y perdre trés rapidement. Dis moi, à quoi sert i dans ce code? Pour ma part, je viens de commencer à étudier le C++ (et c'est assez chaud de s'y retrouver) et je viens aussi de commander "le C++ pour les nuls" (en meme temps que Harry Potter 6 et "Nous les dieux" de BW  ). Je vous dirais ce que je pense du livre si ca vous interesse  |
|
 | |
Angel's Dream Modérateur Langages Web


Nombre de messages: 2855 Programme utilisé (Gm/RmXp/...): GM-6.1, Notepad ++, Flash MX 2004, Fruity loop Etudes: Seconde Général Loisirs: Vivre ! Date d'inscription: 04/11/2005
 | Sujet: Re: Langage C : Introduction et 1er programme Ven 6 Jan - 18:01 | |
| c'est un programme du livre que j'ai simplifier. |
|
 | |
dedoud Futur maitre absolu


Nombre de messages: 868 Age: 16 Programme utilisé (Gm/RmXp/...): GM 6.1/photshop CS/devC++ Etudes: 3eme Date d'inscription: 17/08/2005
 | Sujet: Re: Langage C : Introduction et 1er programme Sam 4 Mar - 15:07 | |
| pour la fin y'a plus simple: | Citation: | #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { printf("Hello World !\n"); system("PAUSE"); return 0; } |
En effet la commande system("PAUSE") affiche directement a l'écran "appuyez sur une touche pour continuer" et enfin j'ai changer le début parce que moi j'utilise sa ^^. |
|
 | |
CalintZ Ptit nouveau


Nombre de messages: 17 Age: 21 Programme utilisé (Gm/RmXp/...): C/C++ Etudes: BAC Scientifique Loisirs: Programmation Date d'inscription: 08/06/2006
 | Sujet: Re: Langage C : Introduction et 1er programme Jeu 8 Juin - 16:57 | |
| [ Désolé de poster dans un topic peut-être oublié, mais étant donné qu'il est en post-it, je me permet donc de poster  ] blunkoth 1er tu as fait une erreur dans ton code : | Code: | #include<stdio.h> #include<math.h>
main() {int i float x
printf("introduisez un nombre\n") ; scanf("%f\n", &x); printf("le chifre notez est %d", x) ; } |
Tu as oublié les ';' en fin de déclaration de tes variables, ce qui donne donc:
#include<stdio.h> #include<math.h>
| Code: | int main(int argc, char *argv[]) { int i; float x;
printf("introduisez un nombre\n") ; scanf("%f\n", &x); printf("le chifre notez est %d", x) ; }
|
Pour dedoud, je suis pas exactement sûr, mais il me semble que le: system("PAUSE") n'est pas ce qu'il a de plus conseillé, c'est uen commande propre à Windows il me semble ( que l'on me corrige si je me trompe ^_^ ). Et utiliser getchar() est plus recommandé si on désire porter le code sur un autre OS. |
|
 | |
dedoud Futur maitre absolu


Nombre de messages: 868 Age: 16 Programme utilisé (Gm/RmXp/...): GM 6.1/photshop CS/devC++ Etudes: 3eme Date d'inscription: 17/08/2005
 | Sujet: Re: Langage C : Introduction et 1er programme Ven 9 Juin - 20:02 | |
| Ah bon , bah tu m'en apprend une la enfin... |
|
 | |
Franky Connaisseur


Nombre de messages: 389 Age: 16 Programme utilisé (Gm/RmXp/...): Bloc Notes Etudes: 4eme Date d'inscription: 11/08/2006
 | Sujet: Re: Langage C : Introduction et 1er programme Ven 25 Aoû - 20:04 | |
| non je pense plutôt que le system("PAUSE"); est utilisable sur tous les OS. Il parait que sa marche sous Macintosh et sous Linux! |
|
 | |
Link/DD Possedé par Mark Overmars


Nombre de messages: 1594 Age: 15 Etudes: Lycée Loisirs: Programmer Date d'inscription: 23/11/2006
 | Sujet: Re: Langage C : Introduction et 1er programme Ven 18 Mai - 11:29 | |
| Excuser moi si je remonte un vieux topic mais system(); permet d'executer une commande interne au PC ici PAUSE = PAUSE>NUL c'est pareil or cette fonction est une fonction du langage Windows (le batch) donc il ne peut marcher sous les autre OS. J'ai d'ailleur tester sous Linux : bash: PAUSE: Command not found Je le découvre maintenant ce getchar() très pratique ! En tout qu'a je vais l'utiliser. Maintenant une petite question : Sous Linux, quand je mets return 0; il me marque dans le terminal : Press ENTER to continue... Comme si c'était un getchar(), donc je n'en ai pas besoin. Mais comment faire pour que le programme ce quitte automatiquement ? ***réfléchi*** JE SAIS ! En utilisant une fonction system(); Sous Windows : exit Sous Mac : exit Sous Nux : exit Aucun problème Mes code se terminerons désormais par : | Code: | getchar(); system("exit"); |
Sur ce, @+ |
|
 | |
altor Timide

Nombre de messages: 65 Date d'inscription: 25/12/2006
 | Sujet: Re: Langage C : Introduction et 1er programme Mar 3 Juil - 4:13 | |
| je me permet aussi de poster meme si c'est vieux!!! la commande system("pause") ne peut être utilisé que sous window. Il effectue une commande dos. par exemple, si tu marque system("dir"), ca va afficher tout les programme et répertoires du répertoire courant! :-) |
|
 | |
Tishrom Habitué


Nombre de messages: 285 Age: 14 Programme utilisé (Gm/RmXp/...): PHP/mysql/HTML/ Date d'inscription: 16/12/2006
 | Sujet: Re: Langage C : Introduction et 1er programme Mar 3 Juil - 15:43 | |
| | altor a écrit: | je me permet aussi de poster meme si c'est vieux!!!
la commande system("pause") ne peut être utilisé que sous window. Il effectue une commande dos. par exemple, si tu marque system("dir"), ca va afficher tout les programme et répertoires du répertoire courant! :-) |
Oui effectivement sa marche (avec un eptit getchar pour y voir)._________________  "Hadopi restera dans les mémoires, comme cette loi présomptueuse qui aura voulu atteindre l’horizon, rattraper un progrès qui ira toujours plus vite qu’elle". Un député lucide. |
|
 | |
| | Langage C : Introduction et 1er programme | |
|