darkbibni Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 Bonjour à tous ! Aujourd'hui je vous fais découvrir le C. Le langage C est caractérisé par le fait que soit un langage impératif et considéré de bas niveau. Bas niveau car c'est le langage utilisé juste après le langage assembleur (machine) qui est juste au dessus du binaire (01000111 01100001 011010100 01100110 01100101 011100010 01001111 01010011) Il permet donc d'optimiser au maximum l'allocation mémoire utilisé et l'espace mémoire utilisé pour le stockage. Ainsi on peut faire des programmes simples ou très complexes. Mais si on s'y intéresse vraiment, on peut développer le noyau (Core) de son propre système d'exploitation. Le langage C possède beaucoup de notions que l'on retrouve dans beaucoup de langages tel que les fonctions ou variables. Sa spécificité est que l'on peut utilisé des pointeurs d'adresse mémoire sur une variable (c'est à dire une étiquette permettant de retrouver la "case" mémoire où est stockée la valeur et le nom d'une variable). Une fonction en C s'écrit par convention : out_type name_function([in_type arg1], ...) { } Le programme de base est la fonction principale appelé "main", c'est le point d'entrée obligatoire d'un programme. int main(int argc, char **argv) { printf("Hello Jeu.video !\n"); return 0; } Ligne 1 (attention : elle est un peu compliqué) Révélation On peut d'abord lire que le main possède deux arguments (int argc, char **argv) et renvoie une valeur de sortie entière -> int Ces arguments sont des valeurs d'entrée. On pourra les définir lorsque que l'on appelle ce programme dans une console ((Windows+R - cmd) avec une bidouille à installer (Un compilateur C et une bonne configuration au préalable)). Ainsi en tapant en console : ./main variable_du_type_que_vous_voulez une_deuxième etc Ainsi dans le programme, on pourra tester le nombre d'argument => argc Ainsi que la valeur de ses arguments contenu dans un tableau de chaîne (Un tableau de char à deux dimensions en réalité) d'où les deux étoiles. **argv Révélation La deuxième ligne est plus simple à comprendre.: printf("chaine",[&variable],...) => Cette fonction prend une chaîne de caractère en argument et l'affiche. Quand la chaîne contient des variables en son sein, on doit ajouter une référence sur la variable que l'on veut afficher (On le fait avec &variable). Ici on ne fait simplement que demander d'afficher Hello Jeu.video avec un retour à la ligne d'où le caractère spécial \n Révélation La 3e ligne indique la valeur retournée : Ici la fonction renvoyé un INT donc c'est un entier => return 0; Je n'évoque que brièvement la 4e ligne puisqu'elle permet d'indiquer la fin d'une fonction, utilisé dans de très nombreux langages. } En construction ... Galfer et Minstery 2
Gameuse Shinoa Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 il y a 1 minute, darkbibni a dit : des programmes simples ou très complexes Huum, je vois pas trop quels genres de programmes [J'avoue, je me suis jamais réellement penchée sur ça]. T'aurais des exemples ? ^^'
NarkyGaming Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 à l’instant, Gameuse Shinoa a dit : Huum, je vois pas trop quels genres de programmes [J'avoue, je me suis jamais réellement penchée sur ça]. T'aurais des exemples ? ^^' Par exemple, lors de ma première année, les profs nous ont donné un tape-taupe en C à faire... Tu sais le jeu ou les chaton sortent d'une boite en carton et tu dois le taper la tête ?! Bah avec mon pote on avait fait ça avec les pampa de final fantasy dans un background mario XD C'était fun ^^ darkbibni 1
darkbibni Posté(e) le 12 mars 2016 Auteur Signaler Posté(e) le 12 mars 2016 il y a 6 minutes, Gameuse Shinoa a dit : Huum, je vois pas trop quels genres de programmes [J'avoue, je me suis jamais réellement penchée sur ça]. T'aurais des exemples ? ^^' Oui j'aurai dû préciser ^^ ! Mais mon poste est en construction ^^' Sans bibliothèque complémentaire c'est à dire sans rien ajouter au C, on peut faire des programmes en terminal (Console noir avec écriture blanche), des noyaux de système d'exploitation, des commandes à taper dans le terminal (exemple connu : ping qui teste la connexion avec une adresse ip ou un site internet ...). Sinon oui des jeux c'est faisable mais il faut rajouter des bibliothèques pour que ça devienne graphique et à partir de là ce n'est plus du bas niveau ^^ du coup beaucoup moins portable ! Ps : Waouh Narky modérateur félicitation ! Gameuse Shinoa 1
Daethe Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 il y a 50 minutes, darkbibni a dit : Sinon oui des jeux c'est faisable mais il faut rajouter des bibliothèques pour que ça devienne graphique et à partir de là ce n'est plus du bas niveau ^^ du coup beaucoup moins portable ! Ça dépend, on peut faire des petits jeux dans le terminal darkbibni 1
Gus Toiles Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 Ca me rappelle que l'année passée, j'avais réussi à faire un petit démineur en console darkbibni 1
Darlok Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 Il y a 3 heures, NarkyGaming a dit : Tu sais le jeu ou les chaton sortent d'une boite en carton et tu dois le taper la tête ?! C'est quoi cette version horrible x)
NarkyGaming Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 il y a 48 minutes, Darlok a dit : C'est quoi cette version horrible x) Tu connais pas ?X D
Minstery Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 Il y a 5 heures, darkbibni a dit : int main(int argc, char **argv) { partiel du premier semestre, sort de ce topic !!! XD darkbibni 1
Galfer Posté(e) le 12 mars 2016 Signaler Posté(e) le 12 mars 2016 Il y a 10 heures, darkbibni a dit : Bonjour à tous ! Aujourd'hui je vous fais découvrir le C. (...) En construction . . . Je t'encourage à continuer le poste, ça fait du bien le savoir et de le voir autrement rédigé que sur d'autres grands sites de cours info peuvent apporter un plus. Si tu en as n'hésites pas à ajouter des anecdotes sur ton apprentissage histoire de rajouter une touche perso sur le cours et donc de la plus value darkbibni 1
darkbibni Posté(e) le 13 mars 2016 Auteur Signaler Posté(e) le 13 mars 2016 il y a 40 minutes, Galfer a dit : Je t'encourage à continuer le poste, ça fait du bien le savoir et de le voir autrement rédigé que sur d'autres grands sites de cours info peuvent apporter un plus. Si tu en as n'hésites pas à ajouter des anecdotes sur ton apprentissage histoire de rajouter une touche perso sur le cours et donc de la plus value Merci ! Je vais essayer d'y incorporer des anecdotes du coup oui ^^ !
Jheronimo Posté(e) le 13 mars 2016 Signaler Posté(e) le 13 mars 2016 Le langage C, mon premier amour <3 Bonne continuation si tu comptes faire tout le tour du langage
darkbibni Posté(e) le 14 mars 2016 Auteur Signaler Posté(e) le 14 mars 2016 Étant donné qu'aucun sujet n'était ouvert ^^ Je compte en rajouter mais il me faut du temps ce que je n'ai pas beaucoup vu que je dev à côté ^^"
Messages recommandés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant