当前位置:网站首页>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】
Catalogue des articles
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


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 conversion | Produits |
|---|---|
| %d | Affichage décimal,Imprimableint Etshort,Peut aussi être écrit comme%i |
| %ld | long |
| %lld | long long int |
| %o | Octalint |
| %lo | Octallong |
| %x | Hexadécimalint |
| %lx | Hexadécimallong |
| %#o | Préfixe Octal 0Afficher |
| %#x | Préfixe hexadécimal 0xAfficher |
| %#X | Préfixe hexadécimal 0XAfficher |
| %u | unsigned int |
| %lu | unsigned long |
| %4d | Largeur minimale du champ , Si le nombre à imprimer n'est pas suffisant , Est automatiquement étendu |
| %zd | Ou%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 conversion | Produits |
|---|---|
| %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 |
| %Lf | long double Ça doit être en majuscules |
| %e | Utilisere 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 conversion | Produits |
|---|---|
| %c | Un seul caractère |
| %s | Chaîne de caractères |
| %p | Valeur du pointeur |
| %% | Imprimer un pourcentage |
| \n | Nouvelle ligne |
| \\ | Slash |
| \’ | Guillemets simples |
| \" | Guillemets doubles |
Marquage

#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 ,
- Utiliser plusieursprintfDéclarations.
- Utilisation d'une barre oblique inversée, Mais la deuxième ligne doit être à gauche , Sinon, il y aura des espaces
- (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 :
- scanf Lire la valeur du type de variable de base avant le nom de la variable &
- 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 :
- Il sautera les caractères blancs entrés , Lire à partir du premier caractère non blanc
- 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 .
- Puis placez le nombre dans la variable .
Si vous utilisez%sInstructions de conversion,scanf Lire tous les caractères sauf l'espace .
- Il sautera les caractères blancs entrés , Lire à partir du premier caractère non blanc
- 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
边栏推荐
- What do Niu B programmers pay attention to when "creating an index"?
- 数学分析_笔记_第1章:集合与映射
- MySQL面试真题(二十九)——案例-找到爱看的电影
- Win11不能录制音频怎么办?Win11无法录入声音的解决方法
- Jenkins installs and deploys and automatically builds and publishes jar applications
- Stm32cube serial port uses dma+idle to receive variable length data
- 移动电源快充QC3.0方案芯片IP5318快充方案
- QT QWidget nesting relative position acquisition (QT drawing nesting)
- Introduction to JDBC (IV) - use of Druid connection pool
- Mobile power fast charging qc3.0 scheme chip ip5318 fast charging scheme
猜你喜欢

Software project management 8.4 Software project quality plan

visdom画多条动态损失曲线

STC 32-bit 8051 MCU development example tutorial I development environment construction

sprintf 格式代码使用不规范在不同平台下的表现

Is there a real part-time job online? How do college students find part-time jobs in summer?

Spark 离线开发框架设计与实现

visdom的使用

Wechat applet: Star Trek spaceship ticket production and generation

MySQL面试真题(二十六)——滴滴2020年笔试题

Go language -panic and recover
随机推荐
What do Niu B programmers pay attention to when "creating an index"?
Three implementation methods: left fixed and right adaptive (Flex, float + BFC, float margin left)
Lottery DDD code
The weak are as irritable as tigers, the strong are as calm as water, and the really powerful have already given up their emotions
STC 32 Bit 8051 Single Chip Computer Development Example Tutorial one development environment
IP6809三线圈15W无线充电发射端方案ic英集芯
MySQL面试真题(二十五)——常见的分组比较场景
移动电源快充QC3.0方案芯片IP5318快充方案
visdom画多条动态损失曲线
Build a gocd environment
树莓派assert初步使用练习
opencv显示图像
After the idea code is developed, the code is submitted. If the branch is found to be incorrect after submission, how can I withdraw it
云原生大趋势下的容器化技术现状与发展
MySQL面试真题(三十)——贝壳-房产订单分析
B-string value (string DP) of the 16th Northeast College Students' Programming Competition (warm-up)
Wechat applet: production and generation of love guarantee
Redis缓存穿透解决方案-布隆过滤器
Introduction to JDBC (IV) - use of Druid connection pool
fastjson中的@JSONField注解