当前位置:网站首页>C prime plus notes d'apprentissage - 2, constantes et formatage io (I / o)

C prime plus notes d'apprentissage - 2, constantes et formatage io (I / o)

2022-06-23 05:40:00 Charles ren

Constantes et variables

Constante explicite

Les constantes explicites sont aussi appelées constantes symboliques,defineCaractères modifiés
#define TAX 0.15
Lors de la compilation du programmeTAXRemplacer par0.15..Tous les remplacements ont été effectués avant l'exécution du programme.
Action:Améliorer la lisibilité et la maintenabilité des programmes.

constVariables modifiées

constLes variables sont modifiées,Mais c'est en lecture seule.
C'est la période d'exécution qui lui a permis d'allouer la mémoire.Les emplacements de stockage et les constantes sont également différents.

Constante commune

Insérer la description de l'image ici
Insérer la description de l'image ici

Le sens de la transformation

Les instructions de conversion stockent les valeurs dans l'ordinateur en format binaire,Convertir en chaîne pour un affichage facile.
Par exemple,76Cette valeur, Il est dans l'ordinateur 01001100.
Utiliser%dLa conscience est“ Traduire une valeur donnée en texte décimal et l'imprimer ”.Alors...%d Convertir en caractères 7Et6Et l'affiche comme76.

printf Type d 'impression

printf Imprimer les symboles utilisés pour différents types de valeurs , L'utilisation de mauvais descripteurs imprime des résultats inattendus .
printf("%c %d", '$', 2*a) printfLes valeurs sont imprimées, Quelle que soit la variable ,Constante,Ou une expression.

Conversion intégrale

Instructions de conversionProduits
%dAffichage décimal,Imprimableint Etshort,Peut aussi être écrit comme%i
%ldlong
%lldlong long int
%oOctalint
%loOctallong
%xHexadécimalint
%lxHexadécimallong
%#o Préfixe Octal 0Afficher
%#x Préfixe hexadécimal 0xAfficher
%#X Préfixe hexadécimal 0XAfficher
%uunsigned int
%luunsigned long
%4d Largeur minimale du champ , Si le nombre à imprimer n'est pas suffisant , Est automatiquement étendu
%zdOu%zu,Représentationsize_tValeur du type,sizeof()Oustrlen() Type de résultat retourné par l'opération .Au débutCAvec%ulPour recevoir

Conversion flottante

Instructions de conversionProduits
%f La notation décimale flottante représente floatOudouble,floatSera automatiquement converti endoubleProduits
%6.2f Indique le nombre à imprimer ⾄ Moins. 6Largeur des caractères,Et⼩ Après le comptage ⾯Oui.2Bits⼩Nombre,⼩ Le comptage occupe ⼀Bits, Donc la partie entière ⾄ Moins. 3Bits
%.2f Indique que la partie entière est normale ,La partie décimale reste2 Il est avec %0.2fMême signification
%Lflong double Ça doit être en majuscules
%eUtilisere Pour représenter un nombre flottant
%g Sélection automatique en fonction de la valeur %fOu%e

Imprimer le nombre de points flottants avec une précision différente
https://blog.csdn.net/dodamce/article/details/115297198

Autres transformations

Instructions de conversionProduits
%cUn seul caractère
%sChaîne de caractères
%pValeur du pointeur
%%Imprimer un pourcentage
\nNouvelle ligne
\\Slash
\’Guillemets simples
\"Guillemets doubles

Marquage

Insérer la description de l'image ici

#define PAGES 959
int main(void)
{
    
    printf("*%d*\n", PAGES);
    printf("*%2d*\n", PAGES);
    printf("*%10d*\n", PAGES);//Imprimer10Largeur des caractères
    printf("*%-10d*\n", PAGES);//Aligner à gauche
    return 0;
}

//*959*
//*959*
//* 959*
//*959 *
// floats.c -- some floating-point combinations
#include <stdio.h>
int main(void)
{
    
    const double RENT = 3852.99;  // const-style constant
    printf("*%f*\n", RENT); // Réserve6Décimale
    printf("*%e*\n", RENT); //eReprésentation
    printf("*%4.2f*\n", RENT); //4Largeur,2Décimale, Afficher le nombre original si la largeur n'est pas suffisante 
    printf("*%3.1f*\n", RENT);
    printf("*%10.3f*\n", RENT); //10Largeur,3Décimale
    printf("*%-10.3f*\n", RENT); //Aligner à gauche
    printf("*%10.3E*\n", RENT);
    printf("*%+4.2f*\n", RENT); //Afficher les symboles
    printf("*%010.2f*\n", RENT); //Avec0 Pas assez de bits remplis 
    
    return 0;
}
// *3852.990000*
// *3.852990e+03*
// *3852.99*
// *3853.0*
// * 3852.990*
// *3852.990 *
// * 3.853E+03*
// *+3852.99*
// *0003852.99*

Imprimer la chaîne

Il y a trois façons d'imprimer de longues lignes d'enroulement de chaîne ,

  1. Utiliser plusieursprintfDéclarations.
  2. Utilisation d'une barre oblique inversée, Mais la deuxième ligne doit être à gauche , Sinon, il y aura des espaces
  3. (Recommandations) Utilisez le lien entre guillemets doubles
int main(void)
{
    
    printf("Here's one way to print a ");
    printf("long string.\n");
    printf("Here's another way to print a \ long string.\n");
    printf("Here's the newest way to print a "
           "long string.\n");      /* ANSI C */
    
    return 0;
}

scanfFonctions

C La Bibliothèque de langues a plusieurs fonctions d'entrée ,MaisscanfEst le plus polyvalent, Parce qu'il peut lire des données dans différents formats .
scanfEtprintfL'utilisation est essentiellement la même,Mais attention..scanf La fonction utilise un pointeur vers une variable .
C'est - à - dire qu'il y a deux techniques à utiliser :

  1. scanf Lire la valeur du type de variable de base avant le nom de la variable &
  2. Lire la chaîne dans un tableau de caractères , Ne pas utiliser avant la variable &

scanfUtilisation de la fonctionBlanc(Nouvelle ligne,Onglets et espaces)Diviser l'entrée en plusieurs champs. C'est - à - dire utiliser l'espace comme séparateur .

scanf Les instructions de conversion utilisées correspondent à printfMême chose., Voir le tableau ci - dessus . La seule différence ,scanf Tous les types de points flottants entrés sont appliqués à floatType.

Exemples

scanfLire un%d, C'est - à - dire lire un entier :

  1. Il sautera les caractères blancs entrés , Lire à partir du premier caractère non blanc
  2. Puis lisez les caractères numériques ,Jusqu'à ce qu'un caractère non numérique soit rencontré, Il pensait avoir lu la fin de l'entier .
  3. Puis placez le nombre dans la variable .

Si vous utilisez%sInstructions de conversion,scanf Lire tous les caractères sauf l'espace .

  1. Il sautera les caractères blancs entrés , Lire à partir du premier caractère non blanc
  2. Lisez les caractères à tour de rôle jusqu'à ce que vous rencontriez un autre espace ,Arrêtez!.

Autres fonctions d'entrée

Nous avons vu que si je devais lire une chaîne avec des espaces à utiliser scanf Je ne peux pas lire .
Utilisergetchar()Etfgets() Mieux adapté au cas particulier de certaines chaînes .On en reparlera plus tard..
C'est juste...scanf Est une méthode d'entrée plus générale .

Format d'entrée

scanf("%d,%d:, &n, &m);
L'entrée doit être de la forme suivante
55,45

scanf("%d %d:, &n, &m);
L'entrée doit être sous la forme suivante
55 45

原网站

版权声明
本文为[Charles ren]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/174/202206230355164070.html