Notions de base: Partie 2

Programming in C · notes

Voir tous les documents en programmation

Notions de base: Partie 2

Année universitaire 2020/2021 – Semestre 1

1

Écriture des données (Affichage)

printf (“format”, [argument_1], [argument2],…)

// Affichage d’un entier

int x = 5; printf ("%i", x);

// Affichage d’un réel

float taille = 1.74; printf ("%f", taille);

// Affichage d’un entier et d’un réel

printf (“%i %f", x, taille);

// Affichage d’un message

printf (“Bonjour”);

// Affichage d’un message et d’un entier

printf (“La valeur de x est %i”, x);

2

Lecture des données (Saisie)

scanf(“format”, [argument_1, argument2,…])

// Saisie du prix d’un produit

float pu; scanf ("%f", &pu);

// Saisie du jour, mois et année

int j, m, a; scanf ("%i %i %i", &j, &m, &a);

// Saisie d’un entier et d’un réel

scanf (“%i %f", &j, &pu);

// Saisie d’un message et d’un entier

printf (“Donner une valeur de x:”); scanf ( “%i”, &x);

3

Opérateurs de base

Opérateurs arithmétiques :

 + : addition  a + b

 - : soustraction  a – b

: multiplication  a b

 / : division (entière et rationnelle)  a / b

 Si a et b sont des entiers (a = 7; b = 2) a / b donne 3

 Si a ou b est un réel (a = 7; b = 2.0) a / b donne 3.5

 % : modulo (reste de la division entière)  a % b

 a = 7; b = 2 alors a % b donne 1

 -

: le moins unaire  - a

4

Opérateurs de base

Opérateurs logiques:

Pas de type booléen en C.

1: vrai ou 0: faux

 && : et logique (AND)

 || : ou logique (OR)

 ! : négation (NOT)

a

0

0

1

Publicité

1

b

0

1

0

1

a && b

a || b

! a

0

0

0

1

0

1

1

1

1

1

0

0

Les opérateurs logiques considèrent toute valeur différente

de zéro comme vrai et zéro comme faux.

(4 < 10)

!(5 > 1)

(5 > 1) || !(4 < 8)

1 (vrai)

0 (faux)

1 (vrai)

5

Opérateurs de base

Opérateurs de comparaison : (1: vrai ou 0: faux)

 == : égal à  a == b

 != : différent de  a != b

 < : strictement inférieur  a < b

 <= : inférieur ou égal  a <= b

 > : strictement supérieur  a > b

 >= : supérieur ou égal  a >= b

Les résultats des opérateurs de comparaison et des opérateurs

logiques sont du type int:

 la valeur 1 correspond à la valeur booléenne vrai.

 la valeur 0 correspond à la valeur booléenne faux.

6

Opérateurs d’affectation

Affectation simple

int x; x = 4;

Affectation simple

int x;

x = 2;

x = x + 1;

x

Publicité

4

x

3

Affectation combinée

expr1 = (expr1) op (expr2)

i = 3;

i = i + 1;

i += 1 ;

i

3

i

4

expr1 op= expr2

7

Opérateurs d’affectation

Incréments et décréments:

 ++ : augmentation de 1

x++;

x = x+1;

y = x++;

int x = 3;

x

y = x; x = x+1;

4

y

3

 -- : diminution de 1

x--;

y = x--;

x = x-1;

y = x; x = x-1;

8

Priorités

L’ordre d ’évaluation des différentes parties d’une expression

est en principe le même qu’en mathématiques.

x = 2+a-5*4-b/c+6;

Classe de priorité:

Priorité 1 (la plus forte)

Priorité 2

Priorité 3

Priorité 4

Priorité 5

Priorité 6

Priorité 7

Priorité 8

Priorité 9 (la plus faible) : = += -= *= /= %=

: ()

: ! ++, --

: * / %

: + -

: < <= > >=

Publicité

: == !=

: &&

: | |

9

Exemple

#include<stdio.h>

void main()

{

float note_ex, note_cc, moyenne;

const float coef_ex = 0.8, coef_cc = 0.2;

printf ("Donner la note de l’examen: ");

scanf ("%f", &note_ex);

printf ("Donner la note du controle continu: ");

scanf ("%f", &note_cc);

moyenne = (note_ex coef_ex) + (note_cc coef_cc);

printf (“La moyenne de l’etudiant: ");

printf ("%f", moyenne);

}

10

Types en C

(1)

Dans le langage C:

 Entier

: entier standard

 int

 short : entier court

 long : entier long

 Réel

 float : décimal

 double : décimal double

 long double : décimal long double

 Caractère

 char : caractère

Le langage C implémente le type

char est en fait numérique.

Caractéristiques d’un type:

 le domaine des valeurs admissibles.

 Le nombre d’octets réservé pour une variable.

 L’ensemble de ses opérations.

11

Types en C

(2)

Type

Nombre d’octets

Domaine

int

Ça dépend de la machine Ça dépend de la machine

unsigned int

Ça dépend de la machine Ça dépend de la machine

short

unsigned short

Publicité

long

unsigned long

char

Unsigned char

Float

double

long double

2

2

4

4

1

1

4

8

10

[-32768, 32767]

[0, 65535]

[-231, 231-1]

[0, 232-1]

[-128, 127]

[0, 255]

[-3.41038, 3.41038]

[-1.710308, 1.710308]

[-3.4104932, 1.7104932]

Nombre d’octets occupés par une variable de type T: sizeof (T)

12

Format pour Lecture / Ecriture

Lecture  scanf

Écriture  printf

Format Données

%i ou %d Nombre entier

Nombre entier non signé

Caractère

Nombre à virgule flottante

%u

%c

%f

Lecture d’un caractère: scanf ou getchar()

char lettre;

scanf (“%c”, &lettre)

lettre = getchar();

Ecriture d’un caractère: printf ou putchar()

char lettre = ‘A’;

printf (“%c”, lettre)

putchar (lettre);

13