printf 的简单介绍

      在文章的开头,我想用一个例子来讲解一下强制类型的转换。

#include<stdio.h>
int main()
{
     int a = 3.14f;//float类型
     //or int a = (int)3.14;将double类型强制转换成int类型
     printf("%d\n",a);
     return 0;
}

一、printf的简单介绍

  printf()的作用是将参数文本输出到屏幕,f 代表的是format(格式化),表示可以定制输出文本的格式。它不会在行尾自动添加换行符,运行结束之后,光标停留在输出结束的地方,不会自动换行。printf()在标准库中运行,必须要有头文件<stdio.h>.

1.1 占位符

    占位符的作用就是在这个位置可以用其他值代入。

#include<stdio.h>
int main()
{
     printf("t = %d\n",7);//此处的%d就是占位符
     printf("%s will come","li lei");//字符串需要用双引号“ ”
     return 0;
}

    printf()参数与占位符是一一对应关系,如果有n个占位符,printf()参数就应该有n+1个。如果参数个数少于对应的占位符,printf()可能会输出内存中的任意值。

     二、占位符的列举

%o:int类型的整数的8进制形式打印。

%d:int类型的整数的10进制形式打印。

%x:int类型的整数的16进制形式打印。

%i:十进制整数,基本等同于%d。

%ho:short int 类型的整数的8进制形式打印。

%hd:short int 类型的整数的10进制形式打印。

%hx:short int 类型的整数的16进制形式打印。

%hu:unsigned short int 类型。

%lo:long int 类型的8进制打印形式。

%ld:long int 类型的10进制打印形式。

%lx:long int 类型的16进制打印形式。

%lu:unsigned long int 类型。

%llo:long long int 类型的8进制打印形式。

%lld:long long int 类型的10进制打印形式。

%llx:long long int 类型的16进制打印形式。

%llu:unsigned long long int 类型。

%c:表示字符。

%e:使用科学计数法的浮点数,指数部分的e为小写。

%E:使用科学计数法的浮点数,指数部分的E为小写。

%f:小数。(包含float类型)

%lf: double 类型的小数。

%g:6个有效数字的浮点数,整数部分一旦超过6位,就会自动转换为科学计数法,指数部分e为小写。

%G:等同于%g,唯一区别是指数部分E为大写。

%n:已输出的字符串数量,该占位符本身不输出,只将值存储在指定变量之中。

%p:指针。

%s:字符串。

%u:无符号整数(unsigned int)。

%zd:size_t类型。

%%:输出一个百分号。

 三、限定宽度(最小宽度)

  printf("%5d\n",10);//%d采用的是右对齐
  printf("%-5d ha ha\n",123);//使用%-5时采用的是左对齐

   对于小数,限定符会限制所有数字的最小显示宽度。%f默认小数点后6位,其中小数点也算一位。

    对于印刷时候的正负号:

printf("%+d\n",10);//+10
printf("%-d\n",10);//printf("%d\n",-10);

       限定小数的位数,最小宽度和小数位数这两个限定值都可以用*来代替,通过printf()的参数传入。示例如下:

printf("Number is %.2f\n",0.523);//结果为0.52,小数还会进行四舍五入
printf("%6.2f\n",123456.5);//结果为123456.50
6的意思就是最少需要打印六位

printf("%*,*f\n",6,2,0.5);//参数传参

    还需要注意的是,%s占位符用来输出字符串,默认全部输出。如果只想输出部分开头部分,可用%。[m]s指定输出的长度,其中[m]代表一个数字,表示所要输出的长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值