Type de données en langage C (1) - type de données de base et conversion

Introduction
Lors de l'utilisation d'un ordinateur pour résoudre des problèmes pratiques, l'objet principal du traitement du programme est les données. Pour différents problèmes, les types de données impliquées sont également divers, qui peuvent inclure des données numériques représentées par des nombres, et peuvent également inclure des données représentées par des caractères. de données non numériques. Différents types de données sont stockés sous différentes formes dans l'ordinateur, et les opérations effectuées par le système sur eux sont également différentes. Afin de répondre aux besoins du système pour les opérations de données de différents types de données, le langage C fournit des définitions de différents types de données, nécessitant que chaque donnée utilisée dans le langage C définisse un type, et le système alloue un espace de stockage pour les données. en conséquence, et détermine le type de données, les opérations pouvant être effectuées.
Les types de données en langage C peuvent être divisés en trois catégories : les types de données de base, les types de données structurées et les pointeurs.
insérez la description de l'image ici
Cet article ne présente que les types de données de base, et les deux types restants seront expliqués plus tard.

type de données de base

Les types de données de base du langage C incluent le type entier, le type caractère, le type réel (type à virgule flottante) et le type vide. Chaque spécificateur de type de données est comme indiqué.
insérez la description de l'image ici
En plus des spécificateurs de type, il existe également des modificateurs de type de données, qui sont utilisés pour élargir la signification des types de base afin de s'adapter plus précisément aux besoins de diverses situations. Les modificateurs sont longs (long), courts (short), signés (signed) et unsigned (unsigned). Ces modificateurs sont combinés avec les spécificateurs de type des types de données de base pour exprimer différentes plages de valeurs et la taille de l'espace mémoire occupé par les données.
insérez la description de l'image ici

format de sortie de la fonction printf()

insérez la description de l'image ici

Des spécificateurs de format supplémentaires peuvent être utilisés entre % et le spécificateur de format, et les spécificateurs de format supplémentaires sont principalement utilisés pour spécifier la largeur et la forme de sortie des données de sortie.
insérez la description de l'image ici

例如:%ld —— 输出十进制长整型数 
			%m.nf —— 右对齐,m位域宽,n位小数或n个字符
			%-m.nf —— 左对齐  

Conversion de type de données :

Les quantités de différents types en langage C peuvent effectuer des opérations mixtes, et lorsque les différentes quantités participant à la même expression ont des types différents, la conversion de type doit être effectuée pendant le processus de calcul. Il existe deux méthodes de conversion, l'une est la conversion de classe automatique et l'autre est la conversion de type obligatoire.
La conversion automatique de type signifie que lorsque les quantités opérées dans la même expression ont des types différents, le compilateur les convertira automatiquement en quantités du même type, puis effectuera l'opération.
Principe de conversion automatique : convertissez automatiquement l'objet d'opération avec une faible précision et une petite plage en type d'objet d'opération avec une précision élevée et une grande plage, afin de compléter le résultat de l'opération avec une plus grande précision, puis calculez selon le même type de quantité.
insérez la description de l'image ici

Conversion de type dans l'opération d'affectation :
<Variable réelle>=<Expression entière>
La partie décimale est automatiquement remplie de zéros
<Variable entière>=<Expression réelle>
La partie décimale de l'expression réelle est automatiquement arrondie (sans arrondir)
<Variable caractère >=<expression entière>
<variable entière>=<expression entière longue>
intercepte automatiquement l'affectation de l'octet de poids faible de l'expression, ignore l'octet haut
<variable entière>=<données de caractère>
<variable entière longue>=<expression entière>
Automatiquement ajouter 0 ou 1 à l'octet de poids fort

La conversion obligatoire peut transtyper l'objet d'opération via l'opérateur de transtypage dans l'expression, et sa fonction est de transtyper le résultat de l'opération de l'expression dans le type exprimé par le spécificateur similaire.

 一般形式:(数据类型说明符)(表达式)

Exemple : (int)('b'+3 x)%3
1/(float)a+6
Remarque : (float) 22/5 n'est pas identique à (float) (22/5)

Conversion de type erronée :
(int ) b =a+5
b= int (3 a)

Résumer

Le langage C fournit une variété de types de données que les utilisateurs peuvent utiliser. Différents types sont utilisés à différentes fins de calcul. Divers types de données offrent non seulement une commodité, mais apportent également des problèmes. Par conséquent, nous devons choisir le bon type de données lors de la programmation. Si la sélection est incorrecte, cela entraînera des erreurs de compilation du programme, des résultats d'exécution incorrects ou d'autres problèmes. Par conséquent, une étape importante de la programmation consiste à choisir le bon type de données, ce qui est très important.

Je suppose que tu aimes

Origine blog.csdn.net/Tao_9/article/details/129668332
conseillé
Classement