C语言 printf() 详解 超级详细一看就懂

含义

将变量的内容输出到显示器上

printf(字符串)

#include<stdio.h>

int main(void){
	printf("hello world");
	
	return 0;
}

printf(“输出控制符”,输出参数)

#include<stdio.h>

int main(void){
	int i=10;
	printf("%d",i);
	
	return 0;
}

把10存进变量i中,实际上是以二进制代码存储的

  • %d表示将变量i中的内容以十进制的形式输出
  • %x表示将变量中的内容以十六进制的形式输出
#include<stdio.h>

int main(void){
	int i=10;
	printf("%d\n",i);//10
	printf("%x\n",i);//a
	return 0;
}

其他的以此类推:
在C语言和许多其他编程语言中,用于格式化输出的占位符可以帮助我们将变量的值以特定的格式显示。除了十进制和十六进制,还有一些其他的格式说明符。以下是一些常用的格式说明符及其含义:

  • %d:以十进制形式输出整数。
  • %x%X:以十六进制形式输出整数,其中%X会使用大写的字母。
  • %o:以八进制形式输出整数。
  • %f:以小数形式输出浮点数。
  • %e%E:以科学计数法的形式输出浮点数,其中%E会使用大写的字母。
  • %c:输出单个字符。
  • %s:输出字符串。
  • %%:输出一个百分号。

例如,如果你想以八进制的形式输出变量i的值,你可以使用printf("%o", i);。如果你想以科学计数法的形式输出变量j的值,你可以使用printf("%e", j);

printf(“输出控制符1 输出控制符2……”,输出参数1,输出参数2……)

#include<stdio.h>

int main(void){
	int a=12;
	char ch='a';
	
	printf("%d %c",a,ch);//12  a
	
	return 0;
}

输出控制符和输出参数的个数必须是一一对应的

主要常用的输出控制符讲解

在C语言中,格式化输出控制符用于控制输出的格式。以下是这些控制符的示例代码和解释:

  1. %d:用于输出十进制整数。
#include <stdio.h>

int main() {
    int num = 123;
    printf("%d\n", num);  // 输出: 123
    return 0;
}
  1. %ld:用于输出长整型(long int)数。
#include <stdio.h>

int main() {
    long num = 1234567890;
    printf("%ld\n", num);  // 输出: 1234567890
    return 0;
}
  1. %c:用于输出字符。
#include <stdio.h>

int main() {
    char ch = 'A';
    printf("%c\n", ch);  // 输出: A
    return 0;
}
  1. %f:用于输出浮点数。
#include <stdio.h>

int main() {
    float num = 3.14159;
    printf("%f\n", num);  // 输出: 3.141590
    return 0;
}
  1. %lf:用于输出双精度浮点数(double)。
#include <stdio.h>

int main() {
    double num = 2.71828;
    printf("%lf\n", num);  // 输出: 2.718280
    return 0;
}
  1. %x%X:用于输出十六进制整数。其中,%x 以小写字母输出,而 %X 以大写字母输出。
#include <stdio.h>

int main() {
    int num = 255;
    printf("%x\n", num);  // 输出: ff (小写的十六进制表示)
    printf("%X\n", num);  // 输出: FF (大写的十六进制表示)
    return 0;
}

%x%X%#x%#X的用法区别功能

当然可以。以下是使用%x, %X, %#x, 和 %#X的代码示例:

#include <stdio.h>

int main() {
    int num = 255;

    printf("使用 %x: %x\n", num, num);  // 输出: 使用 ff: ff (小写的十六进制表示)
    printf("使用 %X: %X\n", num, num);  // 输出: 使用 FF: FF (大写的十六进制表示)
    printf("使用 %#x: %#x\n", num, num);  // 输出: 使用 0xff: 0xff (带有前缀的十六进制表示)
    printf("使用 %#X: %#X\n", num, num);  // 输出: 使用 0xFF: 0xFF (带有前缀的大写的十六进制表示)

    return 0;
}

解释:

  1. %x%X:这两个控制符用于输出十六进制数。%x默认输出小写字母,而%X默认输出大写字母。
  2. %#x%#X:这两个控制符与上面的类似,但它们在输出时会加上前缀0x0X。这在你想要输出一个十六进制数并确保它有一个明确的前缀时很有用。
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01红C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值