Stockage et fonctionnement des données de programmation en langage C

1 Comment les données sont-elles stockées sur l'ordinateur

1.1 Les données sont stockées sous forme binaire sur l'ordinateur

Chaque élément de diode est comme un interrupteur, avec deux états de fonctionnement stables: "on" et "off", c'est-à-dire "avec" et "sans" impulsions électriques, représentés par 1 et 0.

1.2 Bits, octets et adresses

Bit, "bit" (bit). C'est la plus petite unité de stockage d'informations. Sa valeur est 1 ou 0.
Octet, "octet" (octet). Les 8 "bits binaires" sont organisés en un groupe appelé "octets".
1 Ko = 1024B.
Adresse, recherchez l'index du membre de stockage.
Insérez la description de l'image ici
2001, 2002, 2003, 2004, 2005, 2006 sont les adresses.

1.3 Comment stocker différents types de données

1.3.1 Méthode de stockage des nombres entiers

Insérez la description de l'image ici

Il y a 8 bits binaires dans un octet et le premier bit en partant de la gauche (c'est-à-dire le bit le plus élevé) est utilisé pour représenter le signe. Lorsque le bit le plus élevé est 0, cela signifie un nombre positif. Les 7 autres chiffres sont utilisés pour stocker la valeur et sa valeur maximale est 01111111, soit 2 ^ 7-1. Si la valeur est négative, elle est représentée par un "code complémentaire".

Supplément: La méthode de recherche du code complémentaire
Indépendamment du fait qu'il s'agisse d'un nombre positif ou d'un nombre complexe, il est stocké dans l'unité de stockage sous la forme de "code complémentaire". Pour les nombres positifs, le complément est le "code original" du nombre.
La méthode pour trouver le complément d'un nombre complexe est:
(1) Prendre la forme binaire du nombre (quel que soit le signe du nombre), qui est le code source.
(2) "Inverser" le code d'origine (changer 0 en 1 bit par bit, et changer 1 en 0) pour obtenir son "code inversé".
(3) Ajouter 1 au complément à un obtenu, qui est le complément.
Résumé: Les bits les plus significatifs de la forme complémentaire des nombres négatifs sont tous 1, et les bits les plus significatifs des nombres positifs sont tous 0.

1.3.2 La forme de stockage des nombres réels

Les nombres réels sont stockés sous forme exponentielle. Forme exponentielle standardisée, le nombre avant la virgule décimale est zéro et le premier nombre après la virgule décimale n'est pas zéro.
4 octets stockent un nombre réel.
Insérez la description de l'image ici

1.3.3 La forme de stockage des caractères

Les caractères incluent les lettres (telles que A, a, X, x), les caractères spéciaux (tels que!, @, #), Etc.
Enregistrez le code de caractère dans l'unité de stockage correspondante. Généralement, le code ASCCII internationalement accepté est utilisé.

2 Fonctionnement et analyse des données entières

2.1 Constantes entières et variables entières

2.1.1 Constantes et variables

La constante fait référence au montant dont la valeur ne peut pas être modifiée pendant l'exécution du programme.
La variable fait référence au montant dont la valeur peut être modifiée pendant l'exécution du programme.

Le nom de la variable est un nom facile à retenir qui représente l'adresse d'une unité de stockage.
Nom de variable, valeur de variable, adresse de variable, unité de stockage
Insérez la description de l'image ici
Règles de dénomination du nom de variable
(1) Le langage C stipule que le premier caractère du nom de variable doit être une lettre ou un trait de soulignement, et les caractères suivants doivent être des lettres, des chiffres ou des traits de soulignement.
Tels que: sum, Class, _taoal ...
Cette règle s'applique également aux noms de fonctions, aux noms de tableaux et aux noms de types.
Les identificateurs sont une série de caractères valides utilisés pour identifier les noms d'objets (y compris les variables, les fonctions, les types, etc.) appelés identificateurs.
(2) Les lettres majuscules et minuscules indiquent des caractères différents.
(3) La longueur du nom de la variable n'est pas illimitée.
(4) Le nom de la variable doit être aussi simple et facile à retenir que possible.
(5) Dans la même fonction du même programme, différentes variables ne peuvent pas prendre le même nom de variable.

Les variables doivent être «définies en premier, utilisées plus tard».

2.1.2 Représentation des constantes entières

Le
nombre décimal 123 est un nombre commençant par 0 en octal. 0123
hexadécimal 0 ~ 15 a, b, c, d, e, f au lieu de 10, 11, 12, 13, 14, 15 respectivement. Tout nombre commençant par 0x est considéré comme un nombre hexadécimal.

2.1.3 Types de variables entières

Type entier de base, le nom du type est int.
Entier long, le nom du type est long int.
Type court, le nom du type est un int court.

3 Calcul et analyse de données réelles

3.1 Représentation des constantes réelles

Nombre à virgule flottante.
Il existe deux représentations de nombres à virgule flottante.
(1) Forme décimale. Il doit y avoir un point décimal. Tels que: 3.0, 2.11, 0.0 ...
(2) Forme exponentielle. Utilisez les lettres e et E pour représenter l'exposant en base 10. Il doit y avoir un nombre avant la lettre e ou E, et l'exposant après le e doit être un entier. Tels que: e3, .e3,2e, 2.2e3.5 ...

3.2 Variables réelles

3.2.1 Classification des variables réelles

Variables réelles simple précision (type float),
variables réelles double précision (type double),
variables réelles longues double précision (type double lobg),
utilisez la fonction sizeof () pour déterminer la longueur du type ou de la variable

3.2.2 Erreur d'arrondi des données réelles

Les variables flottantes à virgule flottante simple précision ne peuvent fournir que des nombres significatifs allant de 6 à 7.
3.3.3
Afin d'améliorer la précision des données, vous pouvez définir la variable comme un double à double précision, utiliser 8 octets pour stocker les données, et vous pouvez obtenir un nombre effectif de 15 à 16 bits.

4 Fonctionnement des données de caractères

4.1 Constantes de caractère

Une constante de caractère est un caractère entouré d'apostrophes simples. Tels que: 'a', 'A', '!', '@' ...


Si le caractère d'échappement apparaît sous la forme d'un seul caractère ('a'), il doit être placé entre \ n (c'est-à-dire '\ n'), s'il apparaît dans une chaîne entre "", ne pas utiliser ''.
\ n Saut de ligne
\ r Retour chariot
\ means /
\ 0 Aucune opération, souvent utilisée dans les chaînes de caractères, comme marque de fin de chaînes de caractères, souvent omise.

4.2 Variable de caractère

La variable de caractère est utilisée pour stocker des constantes de caractère, elle ne peut contenir qu'un seul caractère.
Formulaire: liste de variables de caractères char;
comme: char c1, c2; // définir c1, c2
c1 = 'a'; c2 = 'b'; // attribuer des valeurs à c1 et c2

Les données caractères et les données entières peuvent être universelles sous certaines conditions
Insérez la description de l'image ici

Si la variable de caractère est sortie sous forme de caractère, la valeur SCII de la variable de caractère sera sortie.
Insérez la description de l'image ici

Les données caractères et les types entiers sont directement soumis à des opérations arithmétiques.

4.3 Constantes de chaîne

Une constante de chaîne est une séquence de caractères entre "". Par exemple: «Comment faites-vous?» Le
langage C n'a pas de variable de chaîne spéciale et une chaîne ne peut pas être stockée dans une variable.

5 Constante symbolique

5.1 La nature et l'utilisation des constantes de caractères

#define n'est pas une instruction C, il n'y a pas de point-virgule à la fin de la ligne, c'est une "instruction précompilée".

Une constante symbolique n'est qu'un symbole et n'occupe pas une unité de stockage.
Les constantes symboliques ne sont que des symboles, pas des variables, elles ne peuvent pas être affectées et les types ne peuvent pas être affectés à des constantes symboliques.
En règle générale, les noms de constantes symboliques sont en majuscules et les noms de variables sont en minuscules.
Les constantes symboliques peuvent empêcher la destruction des données qu'elles représentent.

6 Opérateurs arithmétiques et expressions arithmétiques

6.1 Opérateurs arithmétiques

6.1.1 Opérateurs arithmétiques de base

(1) + opérateur d'addition, ou opérateur positif, tel que 1 + 1 ...
(2) - opérateur de soustraction, ou opérateur négatif, tel que 5-3, -3 ...
(3) * opérateur de multiplication, tel que 5 3
(4) / Opérateur de division, tel que l'
opérateur modulo 5/3 (5)%, ou l'opérateur de reste, pour trouver le reste après avoir divisé deux entiers. Les deux côtés de% doivent être des données entières. Le résultat Il s'agit également d'un entier , par exemple, 19% 4 a une valeur de 3.
Si l'un des diviseurs ou du dividende est négatif, la méthode «d'arrondi à zéro» est adoptée puis se rapproche de zéro. Autrement dit, 5/3 = 1, -5 / 3 = -1.
Si l'
un des deux nombres d'opération +, -, *, /, est float ou double, le résultat sera double.

6.1.2 Opérateurs d'incrémentation et de décrémentation

++ i, - -i (Avant d'utiliser i, ajoutez / soustrayez 1 à la valeur de i)
i- -, i ++ (Après avoir utilisé i, ajoutez / soustrayez 1 à la valeur de i)

Use range: ne peut être utilisé que pour les variables.

6.2 Expressions arithmétiques

Une formule conforme aux règles grammaticales C et connectant des opérandes (également appelés opérandes) avec des opérateurs arithmétiques et des parenthèses est appelée expression arithmétique C. Les opérandes incluent des constantes, des variables, des fonctions, etc.

6.2.1 Opérations mixtes de diverses touches de données numériques

Les règles de conversion sont les suivantes:
les types char et short sont convertis en types int.
Le type float est toujours converti en type double.
Les données entières (y compris int, court, long) sont exploitées avec des données doubles, convertissez d'abord l'entier en double.
En un mot: les données avec moins d'octets sont converties en un type avec plus d'octets.

6.2.2 Conversion de type forcée

Forme: (nom du type) (expression)
Si x a été défini comme un type float, une variable intermédiaire de type int est obtenue après une opération de type coercitif. Sa valeur est égale à la partie entière de x et le type de x reste inchangé (toujours de type float), comme suit:
Insérez la description de l'image ici
Remarque: L'opération de conversion de type forcé est prioritaire sur l'opération%.

7 opérateurs C et expressions C

7.1 Opérateurs C

Opérateur arithmétique + - * /%
opérateur relationnel <> ==> = <=! =
Opérateur logique! && | |
opérateur binaire << >> ~ | ^ &
opérateur d'affectation =
opérateur conditionnel?:
Virgule Opérateur,
opérateur pointeur * et & pour
trouver le nombre d'octets opérateur taille de l'
opérateur
membre de cast (type) . ->
indice opérateur []

7.2 Expressions C

Expressions arithmétiques telles que 2 + 2,2 * 3,5 + sin (0,5)
Expressions relationnelles telles que x> 0, y <x + 10
expression logique x> 0 && y> 0 (&& signifie «et», signifie x> 0 et y> 0 Établi en même temps)
Expression d'affectation telle que a = 5,6.
Expressions de virgule telles que a = 3, y = 4, z = 8.
8 Représentation des constantes entières
9 Types de variables entières

Types de données autorisés par le langage C
Insérez la description de l'image ici

Priorité et associativité des opérateurs
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_45059457/article/details/113533535
conseillé
Classement