【C语言】printf的常规用法

 目录

1 printf 是什么

2 printf 打印的类型

3 格式字符的类型

4 常见格式字符打印

4.1 d格式字符

4.2 f格式字符

4.2.1 基础型

4.2.2 指定宽域和小数位数

4.3 c格式字符和s格式字符

5 printf中的常见问题

问题一

问题二

6 printf的返回值


1 printf 是什么

        printf 函数是一个标准库函数中的格式输出函数,把格式化的数据进行标准输出,输出到运行框上,在使用该函数的时候需要使用头文件“stdio.h”。

2 printf 打印的类型

        printf函数中一般打印三种数据类型:

  • 格式字符。格式字符由“%”引导,如%d、%f等。它的作用是控制输出字符的格式
  • 转义字符。格式控制字符串里的转义字符按照转义后的含义输出,如上面printf函数双引号内的换行符“\n”,即输出回车。
  • 普通字符。普通字符即需要在输出时原样输出的字符,如上面printf函数中双引号内的“f=”和“c= ”部分。

3 格式字符的类型

格式字符 说明
d输出带符号的十进制整数,正数的符号省略
u以无符号的十进制整数形式输出
o以无符号的八进制整数形式输出,不输出前导符0
x以无符号十六进制整数形式(小写)输出,不输出前导符0x
X以无符号十六进制整数形式(大写)输出,不输出前导符0X
f以小数形式输出单、双精度数,隐含输出6位小数
e以指数形式(小写e表示指数部分)输出实数
E以指数形式(大写E表示指数部分)输出实数
g自动选取f或e中输出宽度较小的一种使用,且不输出无意义的0
c输出一个字符
s输出字符串
p输出地址值

4 常见格式字符打印

4.1 d格式字符

        d格式字符可用于输出 int型、 short型,long int 型等等。 

    int a = 10;
	int b = -20;
	short c = 30;
	long d = 40;
	printf("%d %d %d %d",a, b, c, d);

4.2 f格式字符

        用于输出浮点数,也就是小数,可用于输出 float 型和 double 型

4.2.1 基础型

	float fa = 3.5;
	double da = 4.5;

	printf("%f %f", fa, da);

4.2.2 指定宽域和小数位数

        从上面可以发现小数在输出的时候默认的位数为6位,我们可以对其进行设置。

        设置方法为 % m . n f 其中m 是指定该浮点数的长度的n 是指定该浮点数小数位数的

        其中若在 m 之前加上 - 号,那么会给输出的结果进行左对齐。如下图所示。

    float fa = 3.5;
	double da = 4.5;

	printf("%f %f\n", fa, da);
	printf("%8.2f %8.2f\n", fa, da);
    printf("%-8.2f %-8.2f\n", fa, da);

4.3 c格式字符和s格式字符

        分别用于输出字符和字符串。

    char ch = 'a';
	printf("%c", ch);
	printf("%s", " A B C");
正确使用

5 printf中的常见问题

问题一

c格式字符只能输出一个字符;s格式字符不能直接输出变量,但可以直接输出字符串,且字符串中可以包括空格。

当%c输出字符串时
当%s输出变量时

问题二

格式控制字符串中有%引导的格式字符时,输出值参数表中的数量以及类型必须和格式字符一致。否则就会得不到理想的值。

	int a = 20;
	double b = 45.5;
	float c = 15.5;
	char d = 'Y';
	printf("a = %d, b = %d\n", a, b);
	printf("c = %.2f, d = %.2f\n", c, d);

6 printf的返回值

printf也是有返回值的,而printf的返回值为输出内容的字数多少。(转义字符算一个字符

    int a = 43;
	printf("%d\n", printf("%d", printf("%d", a)));
	int num = printf("%d", printf("A, !, 1,\n"));
	printf("\n");
	printf("%d", num);

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值