跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > C语言printf格式化打印(%d、%md、%f、%c、%s、%o、%x、%p、%e、%E、%n等)

C语言printf格式化打印(%d、%md、%f、%c、%s、%o、%x、%p、%e、%E、%n等)

时间:2024-04-03 15:00:42 来源:网络cs 作者:峨乐 栏目:卖家故事 阅读:

标签: 打印  格式  语言 
阅读本书更多章节>>>>

一、整型家族的格式化打印形式

我们要记住signed ➕ 类型 完全等效与 单独的类型
所以我们下面会用(signed)来表示可以省略不写。

如果格式化输出的并不是类型匹配的格式,会发生隐式类型转换,

1. int类型

(signed)int   (有符号整型)———%d   unsigned int     (无符号的int类型)———%u    size_t   (无符号的int类型)————%zu单独的unsigned (unsigned int 的缩写)———— %u 
int a = 2;unsigned int b = 3;size_t c = 4;unsigned d = 5;printf("%d\n", a);printf("%u\n", b);printf("%zu\n", c);printf("%u\n", d);

2. long类型

unsigned(signed)long   (有符号长整型)———%ld   unsigned long    (无符号的长类型)———%lu
long a = 2;unsigned long b = 3;printf("%ld\n", a);printf("%lu\n", b);

3. long long类型

(signed)long  long(有符号长长整型)———%lld   unsigned long long    (无符号的长类型)———%llu
long long a = 2;unsigned long long b = 3;printf("%lld\n", a);printf("%llu\n", b);

4. short类型

(signed)short   (有符号短整型)———%hd   unsigned short    (无符号的长类型)———%hu
short a = 2;unsigned short b = 3;printf("%hd\n", a);printf("%hu\n", b);

5. %md

以上类型若是想在printf和scanf中保留相关位数———%md        
请看本篇文章:%md在printf语句和scanf语句中的区别-CSDN博客

6. 八进制格式化打印:

打印八进制数:

        不输出前缀0———%o

        输出前缀0 ————%#o

八进制数例如:0123,0234,0345,03等前缀是0的数

若想自己定义变量为八进制数字:int x = 01234567; 0开头,后面数字0~7之间;

int a = 0123;printf("%o\n", a);printf("%#o\n", a);

7. 十六进制格式化打印

打印十六进制形式

        不输出前缀0x———%x , %X

        输出前缀0x————%#x,%#X

十六进制数例如:0x11223344,0X11,0x221c等前缀是0x和0X的数

若想自己定义变量为八进制数字:int x = 0x123a; 0开头,后面数字0~9,a~f之间
(a为10,f为15)

#include <stdio.h>int main(){    int x= 0x19adf;    printf("%#x\n", x);    printf("%x\n", x);    return 0;}

  8. %i和%d的区别:   

        在C语言中,%i%d都是格式控制符,用于格式化输出整数类型的变量。


        %d  用于输出有符号的十进制整数。它会将整数按照十进制形式输出,并且如果整数是负数,则会输出一个负号。


        %i  也用于输出有符号的十进制整数。与%d相比,%i可以将八进制数字和十六进制数字转换成十进制数字输出。

二、浮点数float,double(浮点数只有有符号的类型)

float(有符号的单精度浮点数)———%f      默认保留6位小数
 double(有符号的双精度浮点数)———%lf    默认保留15位小数
 在输出中想保留n位小数———%.nf    或者    %.nlf
#include <stdio.h>int main(){    float a = 1.2345;    printf("%.1f\n",a);    return 0;}

这里表示输出的结果保留一位小数,也就是1.2

三、科学计数法 格式化打印

    1. 科学计数法表示的浮点数(小写字母)———%e
    2. 科学计数法表示的浮点数(大写字母)———%E

double a = 100.23;printf("%e\n", a);printf("%E\n", a);

四、字符类型的格式化打印形式

1. 字符类型

char———%c( 输出单个字符 )char———%d输出字符对应的ASICC值
char c = 'a';printf("%c\n", c);printf("%d\n", c);

2. 字符串类型

字符串类型———%s (输出字符串)
printf是可以自动识别字符串类型的,所以也可以这样打印:

printf("%s\n", "abcderf");

五、%ms

m代表的是在屏幕上输出m个字符个数

m 前面没有负号  右对齐

m 前面有负号  左对齐
m <= 字符串长度,打印整个字符串

m > 字符串长度,不够地方用空格填充

1.  m < 字符串长度

#include <stdio.h>int main() {    printf("%5s,%s","computer","computer");    return 0;}

如图,我们是%5s,5是小于字符串长度的,所以打印整个字符串就OK啦

2. m > 字符串长度

#include <stdio.h>int main() {    printf("%15s,%s","computer","computer");    return 0;}

这里是打印15个字符个数,很明显字符串长度小于15,不够的就用空格填充

六、特殊打印格式

1. %p

打印地址———%p(16进制显示)

int a = 100;printf("%p\n", &a);

2. %n

%n 用来统计printf在%n之前打印的字符个数;%n不会打印出内容;

具体看这个博客:%n在C语言总的意思-CSDN博客

#include <stdio.h>int main(){    int b;    printf("helloworld %n12345\n", &b);    printf("%d\n", b);    return 0;}

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-04-03/153346.html,文章来源:网络cs,作者:峨乐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论