Membres: 1429  •  Messages: 46612  •  Sujets: 6155  •  Merci d'accueillir jumps, notre dernier membre.
Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  


Auteur Sujet: Connaissances de base en C/C++  (Lu 2061 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Connaissances de base en C/C++
« le: 02 mai 2008 à 11:11:52 »
Bonjour ,

je crée ce fil pour poster les élements de base pour le C/C++ , j'invite chaque personne qui a un minimum de connaissance à poster afin que chaque débutant en C/C++ peut se retrouver facilement sans parcourirs de long tutoriaux

je précise que j'utilise le liens suivant pour en extraire l'essentiel :





Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Commentaire en C/C++
« Réponse #1 le: 02 mai 2008 à 11:12:27 »

Commentaire en C/C++

/*   Ceci est un commentaire C   */

// Ceci est un commentaire C++
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Types prédéfinis du C/C++
« Réponse #2 le: 02 mai 2008 à 11:13:21 »

Types prédéfinis du C/C++

le type vide : void. Ce type est utilisé pour spécifier le fait qu'il n'y a pas de type. Cela a une utilité pour faire des procédures (fonctions ne renvoyant rien) et les pointeurs sur des données non typées ;

les booléens : bool, qui peuvent prendre les valeurs true et false (en C++ uniquement, ils n'existent pas en C) ;

les caractères : char ;

les caractères longs : wchar_t (ce n'est un type de base que pour le langage C++, mais il est également défini dans la bibliothèque standard C et est donc utilisable malgré tout en C) ;

les entiers : int ;

les réels : float ;

les réels en double précision : double ;

les entiers longs : long int, ou long (int est facultatif) ;

les entiers courts : short int, ou short ;

les réels en quadruple précision : long double.
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
séquences d'échappement
« Réponse #3 le: 02 mai 2008 à 11:17:06 »
 Les principales séquences d'échappement sont les suivantes  :

'\a'            Bip sonore
'\b'            Backspace
'\f'            Début de page suivante
'\r'            Retour à la ligne (sans saut de ligne)
'\n'            Passage à la ligne
'\t'            Tabulation
'\v'            Tabulation verticale

'\\'            Le caractère \
'\"'            Le caractère "
'\''             Le caractère '

Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Définition des variables
« Réponse #4 le: 02 mai 2008 à 11:23:50 »
Variables simples

Les variables simples peuvent être définies avec la syntaxe suivante :

type identificateur;
 
ou bien

type identificateur[=valeur][, identificateur[=valeur][...]];

Tableaux

La définition d'un tableau se fait en faisant suivre le nom de l'identificateur d'une paire de crochets, contenant le nombre d'élément du tableau :

type identificateur[taille]([taille](...));
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Instructions et opérations
« Réponse #5 le: 02 mai 2008 à 11:32:14 »
Instructions et opérations

les affectations :

variable = valeur;


les opérations de base du langage :

valeur op valeur
où op est l'un des opérateurs suivants : +, -, *, /, %, &, |, ^, ~, <<, >>.

Note : '/' représente la division euclidienne pour les entiers et la division classique pour les flottants.

autres opérateurs :

variable op_aff valeur

où op_aff est l'un des opérateurs suivants : '+=', '-=', '*=', etc. Cette syntaxe est strictement équivalente à :

variable = variable op valeur


l'incrémentation ++
décrémentation --



Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Les fonctions
« Réponse #6 le: 02 mai 2008 à 11:39:53 »
Définition des fonctions

type identificateur(paramètres)
{
    ...   /* Instructions de la fonction. */
}

type est le type de la valeur renvoyée, identificateur est le nom de la fonction, et paramètres est une liste de paramètres. La syntaxe de la liste de paramètres est la suivante :
 
type variable [= valeur] [, type variable [= valeur] [...]]

où type est le type du paramètre variable qui le suit et valeur sa valeur par défaut. La valeur par défaut d'un paramètre est la valeur que ce paramètre prend si aucune valeur ne lui est attribuée lors de l'appel de la fonction.

Une fontion peut retourné une valeur avec l'instruction return :

return valeur;

Appel des fonctions

identificateur (paramètre 1, paramètre 2 .. );

Déclaration des fonctions


type identificateur(paramètres);
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Quelques fonctions
« Réponse #7 le: 02 mai 2008 à 11:56:14 »
La fonction main

Lorsqu'un programme est chargé, son exécution commence par l'appel d'une fonction spéciale du programme. Cette fonction doit impérativement s'appeler « main » (principal en anglais) pour que le compilateur puisse savoir que c'est cette fonction qui marque le début du programme. La fonction main est appelée par le système d'exploitation, elle ne peut pas être appelée par le programme, c'est-à-dire qu'elle ne peut pas être récursive.

Exemple :

int main()   /* Plus petit programme C/C++. */
{
    return 0;
}


La fonction printf

printf(chaîne de format [, valeur [, valeur [...]]])

La syntaxe des formateurs est la suivante :

%[[indicateur]...][largeur][.précision][taille] type


Types pour les chaînes de format de printf

Numériques
  Entier décimal signé d
  Entier décimal non signé u ou i
  Entier octal non signé o
  Entier hexadécimal non signé x (avec les caractères 'a' à 'f') ou X (avec les caractères 'A' à 'F')
 
  Flottants de type double f, e, g, E ou G

  Caractères Caractère isolé c
  Chaîne de caractères s

  Pointeurs Pointeur p


La fonction scanf

scanf(chaîne de format, &variable [, &variable [...]]);

La syntaxe des formateurs pour scanf diffère un peu de celle de ceux de printf :

% [ * ] [largeur][taille]type


« Modifié: 02 mai 2008 à 11:58:30 par yesil08 »
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Exemple de programme complet
« Réponse #8 le: 02 mai 2008 à 12:00:14 »
Citer

#include <stdio.h>  /* Autorise l'emploi de printf et de scanf. */

long double x, y;

int main(void)
{
    printf("Calcul de moyenne\n");   /* Affiche le titre. */
    printf("Entrez le premier nombre : ");
    scanf("%Lf", &x);            /* Entre le premier nombre. */
    printf("\nEntrez le deuxième nombre : ");
    scanf("%Lf", &y);            /* Entre le deuxième nombre. */
    printf("\nLa valeur moyenne de %Lf et de %Lf est %Lf.\n",
        x, y, (x+y)/2);
    return 0;
}


Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne Spip5

  • Grand Maître
  • *****
  • Messages: 1960
  • Karma: 1
  • Sexe: Homme
Re : Connaissances de base en C/C++
« Réponse #9 le: 02 mai 2008 à 12:30:03 »
Peut-être pourrais-tu copier tout cela dans le wiki, qu'en penses-tu ?

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Re : Connaissances de base en C/C++
« Réponse #10 le: 02 mai 2008 à 12:42:20 »
Peut-être pourrais-tu copier tout cela dans le wiki, qu'en penses-tu ?

peut etre aprés deja je n'ai pas encore terminé ici , je posterai chaque jour un peu ..
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne Spip5

  • Grand Maître
  • *****
  • Messages: 1960
  • Karma: 1
  • Sexe: Homme
Re : Connaissances de base en C/C++
« Réponse #11 le: 03 mai 2008 à 09:24:30 »
Peut-être pourrais-tu copier tout cela dans le wiki, qu'en penses-tu ?

peut etre aprés deja je n'ai pas encore terminé ici , je posterai chaque jour un peu ..
Ok Yesil pas de soucis. N'hésite pas à me soliciter si tu as des soucis avec l'utilisation du wiki (soucis autres que simple connexion avec ton pseudo, pour cela voir notre grand manitou).

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
La structure conditionnelle if
« Réponse #12 le: 03 mai 2008 à 21:00:35 »
La structure conditionnelle if :

if (test) opération;

où test est une expression dont la valeur est booléenne ou entière. Toute valeur non nulle est considérée comme vraie. Si le test est vrai, opération est exécuté. Ce peut être une instruction ou un bloc d'instructions. Une variante permet de spécifier l'action à exécuter en cas de test faux :

if (test) opération1;
else opération2;

Note : Attention ! Les parenthèses autour du test sont nécessaires !

Opérateurs de comparaison

== égalité
!= inégalité
< infériorité
> supériorité
<= infériorité ou égalité
>= supériorité ou égalité

Opérateurs logiques

&& et logique
|| ou logique
! négation logique

Il n'y a pas d'opérateur ou exclusif logique.
« Modifié: 03 mai 2008 à 21:11:12 par yesil08 »
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
La boucle for
« Réponse #13 le: 03 mai 2008 à 21:02:46 »
La boucle for


for (initialisation ; test ; itération) opération;

où initialisation est une instruction (ou un bloc d'instructions) exécutée avant le premier parcours de la boucle du for. test est une expression dont la valeur déterminera la fin de la boucle. itération est l'opération à effectuer en fin de boucle, et opération constitue le traitement de la boucle. Chacune de ces parties est facultative.

La séquence d'exécution est la suivante :

initialisation
test : saut en fin du for ou suite
    opération
    itération
    retour au test
fin du for.
« Modifié: 03 mai 2008 à 21:10:33 par yesil08 »
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.

Hors ligne yesil08

  • Grand Maître
  • *****
  • Messages: 1387
  • Karma: 0
  • Sexe: Homme
  • misogyne officiel du forum
Le while
« Réponse #14 le: 03 mai 2008 à 21:09:38 »
Le while :

while (test) opération;

où opération est effectuée tant que test est vérifié. Comme pour le if, les parenthèses autour du test sont nécessaires. L'ordre d'exécution est :

test
opération
Celui qui pose une question risque cinq minutes d'avoir l'air bête. Celui qui ne pose pas de question restera bête toute sa vie.