C语言printf

1.调用格式为  printf("<格式化字符串>", <参量表>); 
  其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。

2.格式化字符

%d 十进制有符号整数 
%u 十进制无符号整数 
%f 浮点数 
%s 字符串 
%c 单个字符 
%p 指针的值 
%e 指数形式的浮点数 
%x, %X 无符号以十六进制表示的整数 
%0 无符号以八进制表示的整数 
%g 自动选择合适的表示法 
说明: 
(1). 可以在"%"和字母之间插进数字表示最大场宽。 例如: %3d 表示输出3位整型数, 不够3位右对齐。%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。%8s 表示输出8个字符的字符串, 不够8个字符右对齐。 如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。 但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出; 若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。另外, 若想在输出值前加一些0, 就应在场宽项前加个0。 例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度, 小数点前的数字代表最小宽度。例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。 
(2). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。例如: %ld 表示输出long整数, %lf 表示输出double浮点数。
(3). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可说明输出为左对齐, 否则为右对齐。例如: %-7d 表示输出7位整数左对齐,%-10s 表示输出10个字符左对齐。

3. 一些特殊规定字符 
\n换行
\f清屏并换页 
\r回车 
\t Tab符 
\xhh表示一个ASCII码用16进表示,
其中hh是1到2个16进制数

时间: 2024-10-10 02:28:17

C语言printf的相关文章

c语言printf实现同一位置打印输出

控制台同一位置打印输出,例如:进度1%->100%在同一位置显示.刚学习c语言的时候一直想做起来,可惜查询好多资料不行.时隔6年多,空闲之余又想起这个问题,便决定一试,虽然c语言已经几乎忘光了,呵呵.最终还是搞定了,这次运气不错,哈哈! ^_^ #include <stdio.h> #include <pthread.h> //#include <sys/time.h> //linux for sleep(seconds) and usleep(Microseco

C语言printf格式化输出修饰符详解

转换说明 输出 %a,%A 浮点数.十六进制数和p-计数法(C99) %c 一个字符 %d 有符号十进制数 %e,%E 浮点数,e计数法 %f 浮点数,十进制计数法 %g,%G 根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用 %i 有符号十进制整数(与%d相同) %o 无符号八进制整数 %p 指针 %s 字符串 %u 无符号十进制数 %x,%X 使用十六进制数0f的无符号十六进制整数 %% 打印一个百分号 prinf()修饰符 修饰符 意义 标志 五种标志将在后面的

C语言 printf格式输出详解

转换说明及作为结果的打印输出 %a 浮点数.十六进制数字和p-记数法(C99)%A 浮点数.十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数.e-记数法%E 浮点数.E-记数法%f 浮点数.十进制记数法 %g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.%i 有符号十进制数(与%d相同)%o 无符号八进制整数%p 指针 %s 字符串%u 无符号十进制整数%x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0f的无符号

C语言 - printf的占位符(%) 异常

printf的占位符(%) 异常 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26719135 C语言中, 使用%代表占位符的意思, 如%d代表int类型, %f代表float类型. 须要注意的是, 占位符须要和使用參数匹配, 否则会出现越界或截断的情况; 如%f, 匹配5, 会导致使用8个字节去匹配4个字节, 会产生越界, 输出0; %d, 匹配5.01, 会导致使用4个字节去匹配8个字节, 会产生截断, 输出一个大数;

C语言 -- printf函数参数类型和打印格式不匹配

C语言中,变量在运算或者赋值时会存在类型的自动转换.很一般的情况这里不再讨论,下面只说一下赋值和利用printf函数打印时的情况 1.赋值时的自动转换 int a = 1.5; printf("%d", a); 输出值为1  因为1.5是一个double类型,但是在赋值为a时,由于a是一个int类型,所以将小数部分舍去,a为1 2.printf函数中不涉及自动转换 他只按照固定的格式打印,如果解析失败,就输出对应格式下的0 例如: int a = 1; printf("%f&

重学C语言 -- printf,scanf

printf(); 用来显示格式串的内容     注意: 参数不可以换行,否则会出一个警告. 格式串中占位符比表达式数量多     会显示一个无意义值 格式串中占位符比表达式数量少     只显示占位符的值 转换说明符格式    %m.pX    %-m.pX m:最小字段宽度,要显示的最小字符数量,要显示的字符数量小于m  右对齐(前置空格) 如果要显示的字符大于m则会自动扩大的实际宽度.  小数点也算到m中占一位. - 号:就是左对齐 精度(p):小数点后几位 scanf() 典型scarf

C语言printf()函数具体解释和安全隐患

一.问题描写叙述 二.进一步说明 请细致注意看,有例如以下奇怪的现象 int a=5; floatx=a; //这里转换是没有问题的.%f打印x是 5.000000 printf("%d\n",a); printf("%f\n",a); //输出为什么是0.000000? -----问题1 printf("%f\n",x); printf("%d\n",x); //输出为什么是0? -----问题2 printf("

C语言printf()函数详解

printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这个函数. printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中.但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件.printf函数调用的一般形式为: printf("格式控制字符串",

C语言 printf scanf

printf scanf [  ][  ][  ][  ][  ][  ][  ] 1 printf 输出字符串 printf(""); 输出控制符 控制符 说明 %d 输出"整型数" %ld 输出"长整型数" %c 输出"字符" %o 输出"8进制"数值 %x 输出"16进制"数值 %#X 输出带"0X"标志的16进制数字,大写 %#x 输出带"0x&qu