在 C 语言 中我们需要将一个 变量 或者是特定的 字符串、数字 等任意的 数据类型 输出到屏幕,我们可以使用 printf 函数。
在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错。
int printf(const char *format, ...);
参数 | 描述 |
---|---|
format | 输出的格式符。 |
返回要输出字符串的字符数(包括空格和换行符)。
控制符 | 说明 |
---|---|
%d | 按十进制整型数据的实际长度输出。 |
%ld | 输出长整型数据。 |
%md | m 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。 |
%u | 输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。 |
%c | 用来输出一个字符。 |
%f | 用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。 |
%.mf | 输出实数时小数点后保留 m 位,注意 m 前面有个点。 |
%o | 以八进制整数形式输出,这个就用得很少了,了解一下就行了。 |
%s | 用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。但是此时要先定义字符数组或字符指针存储或指向字符串,这个稍后再讲。 |
%x(或 %X 或 %#x 或 %#X) | 以十六进制形式输出整数,这个很重要。 |
使用 printf 输出字符串
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
printf("Hello HaiCoder");
}
程序运行,结果如下:
如果,我们需要输出一个字符串,那么我们可以直接使用 printf 函数,而不使用格式化占位符。
使用 printf 输出整数
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
printf(1024);
}
程序运行,结果如下:
我们直接使用 printf 输出了一个 int 类型的数字,此时,我们可以看到我们的程序异常了,因为,处理字符串之外的输出,我们必须使用格式占位符,我们修改程序如下:
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
printf("num = %d\n", 1024);
}
程序运行,结果如下:
因为,我们输出的是整数,因此,我们这里的格式占位符使用的是 %d
,此时,我们看到,我们正确输出了整数。
使用 printf 格式化输出
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
int age = 18;
printf("I am %d years old, i love %s, and i study %s from haicoder", age, "C", "C and Python");
}
程序运行,结果如下:
我们使用 printf 输出了一个字符串,第一个因为,我们输出的是整数,因此其格式占位符为 %d
,后面我们输出的是两个字符串,因此,其格式占位符都是 %s
。
在 C 语言中我们需要将一个变量或者是特定的字符串、数字等任意的数据类型输出到屏幕,我们可以使用 printf 函数。
在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错。