首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【C语言入门】printf()函数

【C语言入门】printf()函数

作者头像
用户11983916
发布2026-01-09 14:17:52
发布2026-01-09 14:17:52
850
举报

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下

了解printf()与scanf()是增强编程能力的关键一步

那么,今天我们来学习: printf()函数

一、基本用法

printf()的基本作用是将参数文本输出到标准输出设备(一般指屏幕)。其名字中的'f'代表的就是 format ,表示可以定制输出文本的格式

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("Hello world");
    return 0;
}

这样就会在屏幕上输出“Hello World”的字样。

因为printf()这个函数是被包含在<stdio.h>这个头文件中的,所以在使用这个函数之前,就要在源代码之前引这个头函数。

二、占位符

所谓的占位符,就是在占位符这个位置上可以被其他值代入,例如下面的代码:

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("There are %d students",50);
    return 0;
}

//输出There are 50 students;

在上述案例中,%d 就是占位符,由50代替了%d 。占位符的第一个字符规定为%,后面的字母则代表了占位符的类型

常用的占位符除了%d ,还有%s(字符串类型)。

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("%s is my friend",Xiaoming);
    return 0;
}

//输出Xiaoming is my friend.

在上述的两个案例里面,printf()语句里都含有两个参数,由此可以看出,有n个占位符,printf()语句里就有 n+1 个参数(输出的内容算一个参数)。

占位符的举例:

  • %a:  十六进制浮点数,字母输出为小写
  • %A:  十六进制浮点数,字母输出为大写
  • %c:  字符 ,char 类型
  • %d:  十进制整数,int 类型
  • %e:  使用科学计数法的浮点数,指数部分的e为小写。
  • %E:  使用的是科学计数法的浮点数,指数部分的E为大写。
  • %i:  整数,基本同等于%d。
  • %f: 小数(包含float 和 double 类型)。   //float  %f       double - %lf
  • %g:  6个有效字符的浮点数。整数部分一旦超过六位,就会自动转换为科学计数法,指数部分的e为小写。
  • %G:  等同于G,唯一的区别就是指数部分的E为大写。
  • %hd:  十进制short int 类型
  • %ho:  八进制short int 类型
  • %hx:  十六进制short int 类型
  • %hu:  unsigned short int 类型
  • %ld:  十进制long ing 类型
  • %lo:  八进制long ing 类型
  • %lx:  十六进制long int 类型
  • %lu:  unsigned long int 类型
  • %lld:  十进制 long long int 类型
  • %llo:  八进制 long long int 类型
  • %llx:  十六进制 long long int 类型 
  • %llu:  unsigned long long int 类型
  • %Le:  科学计数法表示的 long double 类型浮点数
  • %Lf:  long double 类型浮点数
  • %n:  已输出的字符串数量。该占位符本身不输出,只将值存放在指定变量之中
  • %o:  八进制整数
  • %p:  指针,用来打印地址。
  • %s:  字符串
  • %x:  十六进制整数
  • %zd:  size_t类型
  • %%:  输出一个百分号

三、输出格式

1.限定输出格式
代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("%6d",123);
    return 0;
}

//输出“   123”

由此可见,%6表示这个占位符的宽度至少占六位,如果不满六位,则在前面加上空格补齐,这样的话输出的值默认是右对齐。如果想要实现左对齐的话,只需要在%后面加上 - 号:

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("%-6d"123);
    return 0;
}

//输出“123   ”

对于小数,可以限定小数点后面的输出位数,如:

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("%.4f",12.3);
    return 0;
}

//输出“12.3000”

%.4表示的是小数点后面输出的位小数,如果本身不满输出位数,则默认补0.

最小宽度和小数位数这两个限定值可以混合使用,如:

代码语言:javascript
复制
#incude<stdio.h>
int main()
{
    printf("6.3f",0.5);
    return 0;
}

//输出“ 0.500”
输出部分字符串:

输出字符串的 %s 默认是全部输出,如果只想输出开头的部分字符串,则需要 %.[m]s 来控制输出长度:

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    printf("%.[5]s","hello world");
    return 0;
}

// 输出“hello"

%.[5]s 表示只输出该字符串前面的5个字符,即 hello 。

文章是自己写的哈,有啥描述不对的、不恰当的地方,恳请大佬指正,看到后会第一时间修改,感谢您的阅读。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、基本用法
  • 二、占位符
    • 占位符的举例:
  • 三、输出格式
    • 1.限定输出格式
    • 输出部分字符串:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档