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等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

1. int类型

  1. (signed)int   (有符号整型)———%d
  2.    unsigned int     (无符号的int类型)———%u
  3.     size_t   (无符号的int类型)————%zu
  4. 单独的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类型

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

3. long long类型

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

4. short类型

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

5. %md

  1. 以上类型若是想在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(浮点数只有有符号的类型)

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

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

怎么打印带符号整形、,C语言学习,c语言

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

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

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

怎么打印带符号整形、,C语言学习,c语言

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

1. 字符类型

  1. char———%c( 输出单个字符 )
  2. 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啦

怎么打印带符号整形、,C语言学习,c语言

2. m > 字符串长度

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

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

怎么打印带符号整形、,C语言学习,c语言

六、特殊打印格式

1. %p

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

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

怎么打印带符号整形、,C语言学习,c语言

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;
}

怎么打印带符号整形、,C语言学习,c语言文章来源地址https://www.toymoban.com/news/detail-763551.html

到了这里,关于C语言printf格式化打印(%d、%md、%f、%c、%s、%o、%x、%p、%e、%E、%n等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go 中的格式化字符串`fmt.Sprintf()` 和 `fmt.Printf()`

    在 Go 中,可以使用 fmt.Sprintf() 和 fmt.Printf() 函数来格式化字符串,这两个函数类似于 C 语言中的 scanf 和 printf 函数。 fmt.Sprintf() 函数返回一个格式化后的字符串,而不是将其打印到标准输出流中。下面是一个例子: 输出: 在这个例子中,使用了 %s 和 %d 格式化动词来格式化字

    2024年02月09日
    浏览(34)
  • VScode自动格式化代码(tab缩进、符号空格)配置beautify插件使用

    安装插件 在插件库搜索beautify,会弹出很多插件 你需要根据你自己的语言选择对应的插件安装,尽量选择在维护中的插件 我是做前端的,所以选择的是beautify blade,格式化语言:javascript, JSON, CSS, Sass, and HTML ![在这里插入图片描述](https://img-blog.csdnimg.cn/cc42b7d4f0b549a78d16c69e7d33

    2024年02月12日
    浏览(35)
  • 电脑被格式化怎么恢复数据?电脑格式化后还能恢复数据吗?

    电脑的配件中,硬盘起着不可或缺的作用。它承担着储存数据的重要任务,但在日常使用过程中,电脑硬盘往往会因为各种原因格式化,有时候是误操作、有时候是分区提示格式化、有时候则是中病毒了。 而格式化之后,硬盘中的数据就会被全部清空。做好了文件备份后格式

    2024年02月09日
    浏览(48)
  • ESLint格式化程序消失,怎么解决

    今天发现vscode的ESLint格式化程序出不来,格式化没效果,一开始以为是哪里同步了setting.json被改了,做了处理。查网上资料也没有相关的,自行测试。仅适用于原本有,目前没有的。不会安装使用的看其他文档。 消失原因 今天ESLint更新了,大概率是bug 解决方法 安装上一次版

    2024年01月24日
    浏览(39)
  • 硬盘被格式化了怎么恢复数据

    随着电脑技术的不断发展,硬盘已经成为数据存储的重要载体,我们可以将自己的照片、文件、音乐、视频等资料储存在硬盘中,以备不时之需。但是,一旦硬盘被意外格式化了,就会使我们的数据全部丢失。那么 硬盘被格式化了怎么恢复数据 呢?下面小编就为大家详细介绍

    2024年02月05日
    浏览(58)
  • 格式化电脑重装系统怎么操作

    ​ 电脑一但中毒的电脑必须重装系统,而且需要格式化后重装系统,才能将病毒铲除,那么如何将电脑格式化后重装系统呢?能够实现电脑格式化重装系统的方法是U盘重装和光盘重装,由于部分电脑没有光驱,建议用U盘,下面小编跟大家介绍格式化电脑重装系统怎么操作。

    2024年02月10日
    浏览(28)
  • 相机内存卡格式化了怎么恢复

    相机内存卡格式化了怎么恢复 ?当我们用相机拍完照后,我们都会回去检查自己拍的照片好不好。并将处理掉那些不好的照片,但很多时候,如果是一张一张删除起来就比较麻烦,而整理出照片,再把相机里的照片格式化就很方便快捷。那么如果在我们格式化内存卡后,发现

    2023年04月09日
    浏览(35)
  • 移动硬盘格式化后数据怎么恢复

    移动硬盘格式化后数据怎么恢复 ?移动硬盘是可移动的大容量存储设备,经常用来存储很多重要的数据文件。但同样使用中遇到的问题也不少,比如说移动硬盘的格式化、误删除、操作失误等。如果遇到不小心把移动硬盘格式化了,所有的数据将会消失,那些格式化后数据要

    2023年04月09日
    浏览(43)
  • vscode怎么对选定的代码格式化?ctrl+k,ctrl+f(格式化代码)shift+alt+f

    先选中代码: 然后按CTRL + K 再按CTRL+F 也可以先选择要格式化的代码块,ctrl+shift+p,搜索format,然后第二个就是: 20230816 在本文中,我们将深入探讨如何在Visual Studio Code (VSCode)中对选定的代码进行格式化。代码格式化是提高代码可读性和维护性的关键步骤,也是良好编程实践

    2024年02月15日
    浏览(34)
  • u盘怎么格式化?试试这3种方法!

    案例:u盘怎么格式化? “朋友们!由于我的u盘里全是以前存的一些文件,现在这些文件没有什么用处了,我想把u盘格式化了用来存放现在的一些照片,请问有谁知道应该怎么操作吗?万分感谢!” u盘便于存储和方便携带的特点给我们的日常生活带来了很大的便利,但u盘的

    2024年02月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包