在C语言中的格式说明符

在C语言中的格式说明符

在C语言中,格式说明符用于输入和输出。使用这个概念,编译器可以在使用scanf()函数进行输入和使用printf()函数进行输出时,理解变量中的数据类型是什么。以下是一些格式说明符的列表。

格式说明符 类型
%c 字符
%d 有符号整数
%e 或 %E 浮点数的科学计数法表示
%f 浮点数
%g 或 %G 与%e或%E类似
%hi 有符号整数(短整型)
%hu 无符号整数(短整型)
%i 无符号整数
%l 或 %ld 或 %li 长整型
%lf 双精度浮点数
%Lf 长双精度浮点数
%lu 无符号整数或无符号长整型
%lli 或 %lld 长长整型
%llu 无符号长长整型
%o 八进制表示
%p 指针
%s 字符串
%u 无符号整数
%x 或 %X 十六进制表示
%n 不打印任何内容
%% 打印%字符

这些是基本的格式说明符。我们可以使用格式说明符添加其他部分。具体如下:

  • 减号(-)表示左对齐

  • %后面的数字指定最小字段宽度。如果字符串长度小于宽度,则会用空格填充。

  • 句点(.)用于分隔字段宽度和精度。

示例

#include <stdio.h>
main() {
   char ch = 'B';
   printf("%c  
", ch); //printing character data
   //print decimal or integer data with d and i
   int x = 45, y = 90;
   printf("%d  
", x);
   printf("%i  
", y);
   float f = 12.67;
   printf("%f  
", f); //print float value
   printf("%e  
", f); //print in scientific notation
   int a = 67;
   printf("%o  
", a); //print in octal format
   printf("%x  
", a); //print in hex format
   char str[] = "Hello World";
   printf("%s  
", str);
   printf("%20s  
", str); //shift to the right 20 characters including the string
   printf("%-20s  
", str); //left align
   printf("%20.5s  
", str); //shift to the right 20 characters including the string, and print string up to 5 character
   printf("%-20.5s  
", str); //left align and print string up to 5 character
}

输出

B
45
90
12.670000
1.267000e+001
103
43
Hello World
Hello World
Hello World
Hello
Hello

我们也可以使用相同的方式在 scanf() 函数中使用这些格式说明符。因此,我们可以像上面打印的那样从 scanf() 中获取输入。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程