30.【C语言】详解printf

 1.printf(print formate)输入函数

01.简单使用

调用前要引用头文件

#include <stdio.h>
printf("abc");

 

默认情况下打印完光标停留在同一行

\n可以换行

printf("abc\n");

printf("ab\nc");

printf("a\nb\nc\n\n\n");

不同情况效果不同

02.打印类型

printf() 可以在输出文本中指定占位符(置可以用其他值)(使用%字母 可以指定打印类型 formate 格式化)

加粗的是常用的

• %a :十六进制浮点数,字母输出为小写
• %A :十六进制浮点数,字母输出为大写
• %c :字符
%d :十进制整数// int
• %e :使用科学计数法的浮点数,指数部分的e 为小写
• %E :使用科学计数法的浮点数,指数部分的E 为大写
• %i :整数,基本等同于%d 
• %f :小数(包含float 类型和double 类型)。//float - %f double - %lf
• %g :6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的e
为小写
• %G :等同于%g ,唯一的区别是指数部分的E为大写
• %hd :十进制(dec的d) short int 类型
• %ho :八进制(oct的o) short int 类型
• %hx :十六进制(hex的x) short int 类型
• %hu :unsigned short int 类型
• %ld :十进制 long int 类型
• %lo :八进制 long int 类型
• %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 :字符串
• %u :无符号整数(unsigned int)
• %x :十六进制整数
• %zd : size_t 类型(是sizeof的返回类型)

• %% :输出一个百分号

有关 %x 的细节

对比

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  printf("%x", 654546125653);
  return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  printf("%X", 654546125653);
  return 0;
}

仅仅将%x改为%X输出结果就由小写字母转成大写字母 

03占位符与(实际)参数一一对应

printf("123%d4abc%s",5,"def");

5对应%d,def对应%s 

​结果:

如果有n 个占位符, printf() 的(实际)参数就应该有n +1 个。上述代码的printf括号内有三个(实际 )参数

04.限定最小宽度

printf("%5s","abc");

 

 %5s代表输出的最小宽度是5 所以前面空了两格右对齐(5是正数)

如果改成:

printf("%-5s", "abc");

注意光标位置,后面空两格左对齐(-5是负数)

如果改成:

printf("%2s", "abc");

发现正常打印,字符的长度超过了限定的最小宽度按正常情况打印

总结:字符的长度小于限定的最小宽度,用空格补齐至最小宽度(左对齐或右对齐);字符的长度超过了限定的最小宽度按正常情况打印

05.控制小数的保留位数

默认情况,单浮点和双浮点保留小数点后6位

	printf("%.3f",0.5);

 

.3即表示保留3位小数

06.04和05的组合

printf("%6.2f",0.5);
printf("%*.*f",6,2,0.5);

两种表示方法均可 

07.显示正负号

printf("%+d",6);

08.输出部分字符串

printf默认全部输出

printf("%.3s","Hello World!");

.3s即表示打印字符串的前三个 

相关推荐

  1. C语言】/*printf 函数*/

    2024-07-18 06:06:04       27 阅读
  2. 入门c语言DAY4.1——scanf&printf详细介绍

    2024-07-18 06:06:04       27 阅读
  3. 深入理解c语言printf

    2024-07-18 06:06:04       48 阅读
  4. C语言printf( ) 函数有哪些参数?

    2024-07-18 06:06:04       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 06:06:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 06:06:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 06:06:04       62 阅读
  4. Python语言-面向对象

    2024-07-18 06:06:04       72 阅读

热门阅读

  1. Python 文件读写

    2024-07-18 06:06:04       22 阅读
  2. PHP + Swoole 与 Go 技术选型对比调研报告

    2024-07-18 06:06:04       18 阅读
  3. Spring Boot 注解 @PostConstruct 介绍

    2024-07-18 06:06:04       24 阅读
  4. 从零手写实现 nginx-31-load balance 负载均衡介绍

    2024-07-18 06:06:04       26 阅读
  5. Elasticsearch数据迁移

    2024-07-18 06:06:04       18 阅读
  6. 构建管理大师:如何在Gradle中配置源代码目录

    2024-07-18 06:06:04       21 阅读
  7. 深入解析:如何在Gradle中配置签名插件

    2024-07-18 06:06:04       23 阅读
  8. LeetCode 算法:括号生成 c++

    2024-07-18 06:06:04       22 阅读
  9. Apache Omid TSO 组件源码实现原理

    2024-07-18 06:06:04       22 阅读
  10. php 方法追踪其被调用的踪迹

    2024-07-18 06:06:04       20 阅读
  11. 山东航空小程序查询

    2024-07-18 06:06:04       25 阅读