Rappel Code ASCII :
Valeur | Caractère |
---|---|
49 | 1 |
97 | a |
65 | A |
Quel est l'affichage du programme suivant :
int val1 = '1';
int val2 = 97;
int val3 = '2';
char c = 'C';
printf("Valeur 1: %d\n", val1);
printf("Valeur 2: %c\n", val1);
printf("Valeur 2: %c\n", c-1);
printf("Valeur 3: %c\n", c + (val3 - val1));
Donner une expression qui affiche le code ASCII de la variable c
Exemple : Donner l'expression qui donne le double de la variable test
: (test * 2)
char c = '2';
Donner une expression (sans utiliser de fonction) qui retourne true
ou 1
si la variable test
est un caractère qui représente un chiffre.
char test = 'a';
Aide sur les valeur booléenes
Pour rappel l'expression : 12 > 6
vaut 1
et -4 > 0
vaut 0
Exemple de code
int i = 12;
int val = 12 > 6;
printf("Test 1 : %d\n, val);
printf("Test 2 : %d\n, (i > 100) );
printf("Test 3 : %d\n, (i==0) );
L'exécution du programme serait :
Test 1 : 1
Test 2 : 0
Test 3 : 0
Donner une expression qui donne true
ou 1
si la valeur de val
est comprise dans la table ASCII
Pour rappel l'expression : 12 > 6
vaut 1
et -4 > 0
vaut 0
int val = 122;
Réaliser un programme qui demande à un utilisateur de saisir un caractère en minuscule et ensuite le programme affiche le caractère en majuscule.
Utiliser une fonction de la libraire ctype.h
pour contrôler que la saisie est en minuscule.
Vous trouverez les fonctions sur la Refcard
dans Tests de classe de caractères
Afin de réaliser la transformation en majuscule, je vous conseille d'analyser la table ASCII : lien
Exemple d'utilisation
// Ne pas oublier le include
#include <ctype.h>
char c = '1';
if( isalnum(c) ){
printf("Le caractère %c est un alphanumérique", c);
}
Vous ne devez pas utiliser de fonction de ctype.h
pour transformer le caractère.
S'il y a une erreur sur la saisie, le programme retourne simplement 1
Exemple d'exécution du programme :
Veuillez entrer un caractère en minuscule :
>u
Le caractère en majuscule est : U
Réaliser un programme qui demande à l'utilisateur de saisir trois caractères en minuscules séparés par une virgule.
Vous devez ensuite afficher les caractères dans l'ordre alphabétique.
S'il y a une erreur sur la saisie, le programme retourne simplement 1
Exemple d'execution du programme :
Veuillez entrer trois caractères minuscules séparés par une virgule :
>u,b,j
Les caractères sont :
1: b
2: j
3: u
Valeur 1: 49
Valeur 2: 1
Valeur 2: B
Valeur 3: D
printf("%d",c);
( c >= '0' && c <= '9' )
( val >= 0 && val <= 127 )
#include <stdio.h>
#include <ctype.h>
int main()
{
char c;
printf("Veuillez entrer un caractère en minuscule :\n>");
scanf("%c",&c);
if( !islower(c) ){
return 1;
}
printf("Le caractère en majuscule est : %c", (c - ('a'-'A')) );
return 0;
}
#include <stdio.h>
#include <ctype.h>
int main()
{
char c1, c2, c3;
printf("Veuillez entrer trois caractères en minuscules "
"séparés par une virgule :\n>");
const int ret = scanf("%c,%c,%c", &c1, &c2, &c3);
if( ret != 3 ){
return 1;
}
else if( !islower(c1) || !islower(c2) || !islower(c3) ){
return 1;
}
if( c1 < c2 ){
if( c1 < c3 ){
if( c2 < c3 ){
printf("1: %c\n2: %c\n3: %c\n", c1, c2, c3);
}
else{
printf("1: %c\n2: %c\n3: %c\n", c1, c3, c2);
}
}
else{
printf("1: %c\n2: %c\n3: %c\n", c3, c1, c2);
}
}
else if( c2 < c3 ){
if( c1 < c3 ){
printf("1: %c\n2: %c\n3: %c\n", c2, c1, c3);
}
else{
printf("1: %c\n2: %c\n3: %c\n", c2, c3, c1);
}
}
else{
printf("1: %c\n2: %c\n3: %c\n", c3, c2, c1);
}
return 0;
}