Table des matières:
Vidéo: Langage C 1er cour principes de bases (mode console) sur windows 2025
Dans la programmation C, vous pouvez jouer avec la variable dans votre code en la changeant en un autre type, en lui donnant un nouveau nom, ou en lançant un sort variable pour répondre à vos besoins, bienveillants ou non.
Typecasting en incrédulité
Quand une variable float n'est-elle pas un float? Quand il est catalogué dans un int, bien sûr. Cette astuce est rendue possible en C en utilisant le typecast. Par exemple:
(int) dette
Dans la ligne précédente, la variable flottante dette est convertie en une valeur int. L'int entre parenthèses indique au compilateur de traiter la valeur de dette comme un nombre entier.
Pourquoi quelqu'un voudrait-il faire ça?
Parce qu'une fonction nécessite parfois un type de variable spécifique et que ce type n'est pas disponible. Plutôt que de convertir et de jongler avec plusieurs types de variables dans un programme, vous pouvez simplement convertir une variable dans le type que vous désirez. Ce n'est pas un truc commun, mais c'est souvent nécessaire, comme le montre That's Not Right.
CECI N'EST PAS DROIT
#include int main () {int a, b; flotteur c; printf ("Entrez la première valeur:"); scanf ("% d", & a); printf ("Entrez la seconde valeur:"); scanf ("% d", & b); c = a / b; printf ("% d /% d =% 2fn", a, b, c); return (0);}
Exercice 1: Tapez le code source de That's Not Right dans votre éditeur. Construire et courir.
Voici un exemple avec l'entrée en gras:
Entrer la première valeur: 3 Entrer la deuxième valeur: 2 3/2 = 1. 00
Évidemment, il est faux que 3 ÷ 2 fonctionnerait d'une manière ou d'une autre à 1. 50. Si l'ordinateur dit qu'il est 1. 00, l'ordinateur doit être correct.
Ou peut-être que l'ordinateur est simplement confus parce que dans la ligne 12 du code source, deux valeurs int sont divisées, et le résultat est assigné à un flottant. Cela ne fonctionne pas tout à fait, cependant, parce que diviser un nombre entier par un nombre entier en C donne un entier comme résultat.
La valeur 1 est la valeur entière la plus proche de 1. 50. Donc même si l'ordinateur est faux, il fait exactement ce qu'on lui a dit de faire.
Exercice 2: Modifiez votre code source, en changeant Line 12 pour lire
c = (float) a / (float) b;
Enregistrer le changement. Construisez et exécutez en utilisant les mêmes valeurs que celles montrées ci-dessus. Voici la nouvelle sortie:
Entrez la première valeur: 3 Entrez la deuxième valeur: 2 3/2 = 1. 50
Mieux. En effet, vous avez typé les variables a et b dans l'équation, permettant temporairement au compilateur de les traiter comme des nombres à virgule flottante. Par conséquent, le résultat est ce qu'il devrait être.
Comment créer de nouvelles choses avec typedef
Vous pouvez avoir beaucoup de problèmes avec le mot-clé typedef.Il peut lancer des mots et des opérateurs C normaux de leur moi cohérent dans toutes sortes de méfaits.
LES DIFFICULTES DE TYPEDEF
#include typedef int stinky; puant principal () {puant a = 2; printf ("Tout le monde le sait"); printf ("% d +% d =% dn", a, a, a + a); return (0);}
Dans The Perils of typedef , l'instruction typedef à la ligne 3 définit le mot stinky comme étant le même que le mot clé int. Partout où vous pouvez utiliser int dans le code, vous pouvez utiliser le mot stinky à la place, comme indiqué sur les lignes 5 et 7.
Exercice 3: Utilisez le code source de The Perils of typedef < pour créer un nouveau programme, démontrant qu'un type de variable puante est identique à un int. Construire et courir. Certes, l'exemple dans The Perils of
typedef est plutôt idiot; aucun programmeur sérieux ne mettrait en place un vrai programme comme ça. Où typedef est utilisé le plus souvent dans la définition des structures. L'instruction typedef permet de réduire la taille de cette activité. Créer une structure de façon traditionnelle montre comment fonctionne une structure imbriquée, étant donné la connaissance des structures:
CRÉER UNE STRUCTURE LA VOIE TRADITIONNELLE
struct id {char first [20]; char dernier [20]; struct date {int mois; int jour; int année;}; struct humain {struct id name; struct date anniversaire;};
Utiliser
t ypedef pour définir une structure montre comment les déclarations ont lieu si vous devez typer les structures: UTILISER
TYPEDEF POUR DÉFINIR UNE STRUCTURE > typedef struct id {char premier [20]; char dernier [20];} personnel; typedef struct date {int mois; int jour; int année;} calendrier; struct humain {nom de famille; anniversaire du calendrier;}; Dans cette liste, l'identifiant de structure est typedef au nom personnel. Ce n'est pas un nom de variable; c'est un typedef. C'est la même chose que de dire: «Toutes les références à struct id sont maintenant les mêmes que le nom personnel. "
De même, la date de la structure est typedef'd au calendrier. Enfin, dans la déclaration de la structure humaine, les noms de typedef sont utilisés à la place des définitions de structures plus complexes.
STRUCTURE NESTED
#include #include int main () {struct date {int mois; int jour; int année;}; struct human {nom de caractère [45]; struct date anniversaire;}; struct le président humain; strcpy (nom de président, "George Washington"); Président. anniversaire. mois = 2; Président. anniversaire. jour = 22; Président. anniversaire. année = 1732; printf ("% s est né le% d /% d /% dn", président, président, anniversaire, mois, président, anniversaire, jour, président, anniversaire, année); return (0);}
Exercice 4
:
Remplacez le membre name dans la structure humaine dans A Nested Structure avec une structure imbriquée. Nommez cet ID de structure et faites-le contenir deux membres, tableaux de char, premier et dernier, pour stocker le prénom et le nom d'un individu. Si vous faites tout correctement, la référence au nom du président sera le président des variables. prénom. premier président
et . prénom. dernier . Assurez-vous d'attribuer des valeurs à ces variables dans votre code et affichez les résultats. Exercice 5 :
Modifiez le code source du projet que vous avez créé dans l'exercice 4 pour utiliser typedef, comme indiqué dans Utilisation de t ypedef pour définir une structure. Construire et courir. On peut soutenir que l'utilisation de typedef ne rend pas votre code plus clair que si vous aviez simplement utilisé de bons noms de variables et du texte bien formaté. Par exemple, vous ne pouvez pas utiliser typedef simplement parce que vous ne voulez pas avoir à vous souvenir de ce que vous avez défini. Mais vous rencontrerez d'autres codes utilisant typedef. Ne le laissez pas vous faire paniquer. Le vrai avantage de l'utilisation de typedef avec une structure est, peut-être, qu'il vous évite de taper le mot struct trop de fois.