Difference between revisions of "Langage C"
(→code part) |
m (Fix typos) |
||
Line 79: | Line 79: | ||
int main() | int main() | ||
{ | { | ||
− | + | return 0; | |
} | } | ||
</code> | </code> | ||
Line 88: | Line 88: | ||
''In English'': In C, the official commentaries wrote in this manner | ''In English'': In C, the official commentaries wrote in this manner | ||
− | + | /* ceci est un commentaire officiel */ | |
''In french'' : mais on peut aussi voir des commentaires de comme ceci, même si cela ne fait pas partie de la norme '''ANSI'', mais accepté par de nombreux compilateurs: | ''In french'' : mais on peut aussi voir des commentaires de comme ceci, même si cela ne fait pas partie de la norme '''ANSI'', mais accepté par de nombreux compilateurs: |
Revision as of 09:35, 19 March 2015
Contents
Description
In french :
En se basant sur le livre "Le langage C" de Tony Zang, une idée est venue d'y faire les exercices mais en réalisant un vrai programme en mode console et qui par la suite peut évoluer en mode graphique, ou autres, mais allons par étapes... avec d'autres rajouts toujours autour du langage C.
Les programmes, que soit sous un environnement Linux, Mac ou Windows, sont lancé par un fichier qu'on appelle "exécutable" (fichier binaire) qui ne sera compris que par nos PC. Il y a 3 phases pour créer un fichier exécutable :
1/ éditer dans un fichier texte notre code que ce soit en C, en VB, en python, etc... dans notre cas, ces ou ces fichiers par une extension ".c" ou ".h". On appelle ça des fichiers sources 2/ ensuite on va utiliser un compilateur (dans notre cas C) qui va traduire les instructions écrites en un fichier de type objet 3/ ensuite on utilisera un éditeur de lien (linker) qui va associé des bibliothèques d'objet pour créer notre fichier "exécutable"
ATTENTION: On ne peut pas transférer un exécutable d'un machine à une autre sans recompiler et linker les fichiers sources, surtout si on passe d'un système d'exploitation à un autre.
Ce wiki ne se veut pas un cours de C ou un tuto mais plutôt un projet autour de l'apprentissage du langage C.
L'onglet discussion peut être fort intéressant concernant des astuces, questions, problèmes rencontrés lors de développement en C, alors n'hésiter pas à compléter ce wiki et la page discussion et le projet "GITHUB" qui lui sera associé :-)
In english
On the book "Le langage C" of Tony Zang, an idea is come to make the all exercices but to realize a complet program in consol mode in a first time.
The programs, under linux, Mac or Windows, are activated by a file called " executable (binary file)", only our PC can understand this file ;-). There are 3 phases to create this file :
1/ edit your code (C, VB, Java, other) in file text with for C language ".c" or ".h" extension. These files are called "source file" 2/ using a compiler (here the C compiler) which translate the C instructions writting in the source file, in the "object" files 3/ using after a linker which will unite the object file and object library to create an executable file
WARNING: It is not possible to transfer an executable file from one PC to another. It must recompile and link the source files on each PC.
This wiki is not a cours or a tuto, just a project arround of C langage.
Development Environment
For Windows
-> Dev environment for Philou :
- Windows XP SP3
- Code::Blocks 10.5 - GNU GCC Compiler (mingw32-gcc)
For Linux
Projet Source
treated chapter (Aperçu & Codes & Astuce)
chapter 1 (résumé)
In french : dans ce chapitre, un petit résumé sur le langage C, la norme 'ANSI'.
In english in this chapter, a summary on the language C and the ANSI norm.
Trick
In french :
différence entre un langage bas et haut niveau.
=> Le langage bas niveau est une représentation de 0 et 1, on appelle ça aussi le langage machine. => Le langage haut niveau est langage qui peut être interpréter par l'homme. Le C est un langage haut niveau
comme le langage C est de type haut niveau, il faudra le compiler avec un compiler pour que la machine puisse l'interpréter (langage bas niveau). Il faudra le faire sur chaque machine ou l'on travaille
In English :
difference between a language down or high level.
=> Down language is a representation of 1 and 0. It call also machine code. => High language is a language which can be interpreted by a person. The C language is of high type.
the language C is of high level, it would using a compiler for that the device undertsand the language (down level) and make this operation on each device (PC) where we work.
chapter 2 (résumé)
In french : dans ce chapitre, sont vue les notions de directive (inclue), de fichier d'en-tête (header file -> .h), de commentaire (// ou /* */), de la fonction principale MAIN, de la fonction EXIT, du saut de ligne ('\n')...
In English: in this chapter, we see the concepts of commandes (include), of header file (.h), of commentaries (// or /* */), of principale function MAIN and the function EXIT, of line break ('\n')...
code part
structur to begin a C programme
#include <stdio.h> // entrée - sortie int main() { return 0; }
Trick
1) In french : en C, les commentaires officielle se notent de cette manière :
In English: In C, the official commentaries wrote in this manner
/* ceci est un commentaire officiel */
In french : mais on peut aussi voir des commentaires de comme ceci, même si cela ne fait pas partie de la norme 'ANSI, mais accepté par de nombreux compilateurs:
In English: we can see also commentaries displayed like below, but it is not in the 'ANSI norm, same if more compilators agree that.
// ceci est aussi un commentaire
In french : les commentaires n'ont pas d'influence sur la taille ou sur le fonctionnement du fichier exécutable
In English: The commentaries are not influence on the size or the funtions of executable file.
2) In french: la fonction "Main" est type int, c'est-à-dire qu'elle renvoie une valeur entière. Pour retourner une valeur d'une fonction, on utilise l'instruction return. Si celle-ci retourne '0', cela veut dire que le programme s'est fini correctement, sinon cela veut dire qu'il y a eu une erreur dans le programme.
In English: The "Main" function is kind integer, it means that it returns a integer value. To return a value in a function, we use the return instruction. if this value is '0', the programm finished correctly but if the value is different, there is an error in the program.
3) In French : En C, on va aussi associé des fichier de type header-file ou fichier d'entête (.h) qui permettront d'appeler des fonctions déjà créer comme : printf() ou sin(),... pour ce faire on utilise la directive "#include". On trouvera deux façons de les écrire
In English : In C, we associate some header file (.h) which allow to call different functions already created like : printf() or sin()... To use these libraries, it must use the directive : "#include". Here two method to write that :
1) #include <nom_lib.h> indicate at the preprocesseur that the search of this library must be ouside the current directories where is save the global project 2) #include "nom_lib.h" indicate at the preprocesseur that the search of this library must be inside the current directoires
chapter 3 (résumé)
In French : dans ce chapitre on voit la notion de constante ou de variable, de types, on voit aussi les notions d'expression et d'instruction, les notions de fonctions et d'arguments ainsi que les appels de fonction.
In English : in this chapter, these different subjects will be seen : constant / variable / type / expression / instruction / function / argument / and call of functions
code part
an exemple of instruction with a constante and a variable:
i = 100;
i depicts a variable | 100 depicts a constant
an other examples showing the type declaration, the instructions, the expressions, the constantes and the variables
int i; // declaration of integer variable int j = 10; // declaration of integer variable where a constant associate to him int x, y, z; // declaration of integer variable // example of instruction with an expression (side right) x = j + 5; y = j + x + 10; z = j / 2 i = (x - y) / z;
Trick
chapter 4 (résumé)
code part
Trick
Liens utiles
liens : documentation PDF
liens : documentation Site Internet
Bibliographie
- Le Langage C | Auteur : Tony Zhang | ISBN: 2-7440-1518-0
en cours de construction
Participant
- User:Philoux
- you !!??!!