一、printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为:

printf("",);

其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。

参量表是需求输出的一系列参数, 其个数务必与式样化字符串所阐明的输出参数个数一样多, 各参数之间用","分开, 且顺序逐一对应, 不然将会出现意想不到的过失。

式样化字符串的式样是:

%[标志][输出最小宽度][.精度][长度]式样字符

1、标志

标志              意义

-                   结果左对齐,右边填空格

+                   输出标记(正号或负号)

空格                输出值为正时输出空格,为负时输出负号

#                   正在八进制和十六进制线显现前导航O,Ox

假如你还不太理解,没关系!请瞧下面的例子就会了如指掌了:

例1:

#includeint main()

{

int a=100;

float b=123.255;

printf("a=%d\n",a);     printf("a=%10d\n",a);

printf("a=%-10d\n",a);

printf("a=%+d\n",a);

printf("a=% d\n",a);

printf("a=%#o\n",a);

printf("a=%#x\n",a);

printf("b=%lf\n",b);

return 0;

}

运转结果

a=100

a=        100

a=100

a=+100

a= 100

a=0144

a=0x64

b=123.254997

2、输出最小宽度:(1)用十进制整数来表示输出的最少位数。(至多要输出这么多位!)

(2)若实际位数多于最小宽度:则按实际位数输出。

(3)若实际位数少于最小宽度:则a.右对齐,左边留空。

b.有负号,左对齐,右边留空

c.表示宽度的数字以0开端,则右对齐,左边填0。

我们再来瞧一个例子:

例2:

#includeint main()

{

int a=3456;

printf("a=%3d\n",a);     //若实际位数多于最小的宽度:则按实际位数输出

printf("a=%10d\n",a);    //若实际位数少于最小的宽度:则右对齐,左边留空

printf("a=%-10d\n",a);   //若实际位数少于最小的宽度:有负号,左对齐,右边留空

printf("a=%010d\n",a);   //若实际位数少于最小的宽度:表示宽度的数字以0开端,则右对齐,左边填0

printf("a=%-010d\n",a); //左对齐,0无意义。

return 0;

}

运转结果:

a=3456

a=       3456

a=3456

a=0000003456

a=3456

3、精度:精度式样符以“.”开头,后跟十进制整数。意义是:假如输出数字,则表示小数的位数;若实际位数大于最小的精度数,则四舍五进。若不足则补0;假如输出的是字符,则表示输出字符的个数;若实际位数大于最小的精度数,则截去超出的部分。

例3:

#includeint main()

{

char ch="abcdefg";

printf("%.3f\n",12.3456);

printf("%.9f\n",12.3456);

printf("%.3s\n",ch);

printf("%.9s\n",ch);

return 0;

}

运转结果:

12.346           //四舍五进到小数点后三位

12.345600000     //不足补0

abc

abcdefg

所以对例1中的printf("b=%lf",b)只需该为printf("b=%.2lf",b)就可以对结果进行2位小数的保存了!

printf("%*.*s\n",m,n,ch);

前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。

4、长度:长度式样符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

5、式样字符:

式样   意义

————————————————————————————

d: - 以十进制方式输出带标记整数(正数不输出标记);

u: - 以十进制方式输出无标记整数;

f: - 以小数方式输出单、双精度实数;

e: - 以质数方式输出单、双精度实数;

g: - 以%f,%e中较短的输出宽度输出单、双精度实数;

c: - 输出单个字符;

s: - 输出字符串。

————————————————————————————

注:l正在d,o,x,u,前,指的输出精度为long型;正在e,f,g前,指定输出精度为double型

最后还是来谈些本义字符吧:

本义字符是C言语中表示字符的一种非凡方式。一般使用本义字符表示ASCII字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。本义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。

本义字符    意义         ASCII值(十进制)

\a          响铃(BEL)    007

\b          退格(BS)     008

\f          换页(FF)     012

\n          换行(LF)     010

\r          回车(CR)     013

\t          程度制表(HT) 009

\v          笔挺制表(VT) 011

\\          反斜杠       092

\?          问号字符     063

\'          单引号字符   039

\"          双引号字符   034

\0          空字符(NULL) 000

\ddd        恣意字符     三位八进制

\xhh        恣意字符     二位十六进制

字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都务必使用本义字符表示,即正在这些字符前加上反斜杠。

正在C步骤中使用本义字符\ddd或者\xhh可以方便灵便地表示恣意字符。\ddd为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASCII值。\x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII值。

使用本义字符时需求注重以下标题:

(1) 本义字符中只能使用小写字母,每个本义字符只能瞧作一个字符。

(2) \v 笔挺制表和\f 换页符对屏幕没有任何影响,但会影响打印机施行呼应作。

(3) 正在C步骤中,使用不可打印字符时,一般用本义字符表示。

其他需求注重的一些标题:

1.假如用浮点数表示字符或整型量的输特别式, 小数点后的数字代表最大宽度, 小数点前的数字代表最小宽度。

例如: %6.9s 表示显现一个长度不小于6且不大于9的字符串。若大于9,   则第9个字符卖前的内容将被增除。

2.使用printf函数时还要注重一个标题,那就是输出表列中的求值顺序。差别的编译零碎不一定相反,可以从左到右,也可从右到左。Turbo C是按从右到左进行的。请瞧下面两个例子:

例4:

#includeint main()

{

int i=8;

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

return 0;

}

运转结果

8

7

7

8

-7

-8

例5:

#include

int main()

{

int i=8;

printf("%d\n",++i);

printf("%d\n",--i);

printf("%d\n",i++);

printf("%d\n",i--);

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

printf("%d\n",-i--);

return 0;

}

运转结果:

9

8

8

9

-8

-9

这两个步骤的区别是用一个printf语句和多个printf 语句输出。但从结果可以瞧出是差别的。为什么结果会差别呢?就是由于printf函数对输出表中各量求值的顺序是自右至左进行的。正在第一例中,先对最后一项“-i--”求值,结果为-8,然后i自减1后为7。再对“-i++”项求值得-7,然后i自增1后为8。再对“i--”项求值得8,然后i再自减1后为7。再求“i++”项得7,然后i再自增1后为8。再求“--i”项,i先自减1后输出,输出值为7。最后才求输出表列中的第一项“++i”,此时i自增1后输出8。但是务必注重,求值顺序虽是自右至左,但是输出顺序还是从左至右,因此得到的结果是上述输出结果。

如何让c语言输出字符响一声,printf()用法相关推荐

  1. C语言输出字符,字符串的ASCII码的16进制数

    C语言输出字符,字符串的ASCII码的16进制数 /* file name : test.c cmd code : gcc -o test.exe test.c */ #include<stdi ...

  2. c 语言输出字符用什么作用是什么,C语言中输出字符串用什么符号

    C语言中输出字符串用双引号. (推荐教程:c语言教程) 详细解读: 在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是: puts():输出字符串并自动换行,该函数只能输出字符串. ...

  3. c语言输出字符的utf码,C语言里如何把GBK码转换为UTF8?

    C语言里如何把GBK码转换为UTF8? (2013-03-04 19:41:31) 标签: it 一.利用iconv函数族进行编码转换 在LINUX上进行编码转换时,既可以利用iconv函数族编程实现 ...

  4. c语言输出字符的十六进制,用c语言输入键盘上的字符后转换成十六进制输出

    用c语言输入键盘上的字符后转换成十六进制输出 悬赏分:10 | 提问时间:2010-9-13 10:26 | 提问者:745922085 | 问题为何被关闭 其他回答 共3条 #include #in ...

  5. c语言输出字符数组出现汉字乱码解决方法

    最近在完成数据结构作业,在代码过程中经常遇到一些小问题,比如在输出字符串数组时,在一串自己想要的字符后面经常会出现一些不知名的汉字乱码. (这段代码是去除字符数组里面重复数组元素) #include ...

  6. 怎么用C语言输出字符B,使用C语言实现A口为输入B口为输出

    //*****************************************************************************/ // 名称: ex6_c // 来源: ...

  7. C语言输出字符的ASCII码

    #include <stdio.h> int main() {char a;printf("请输入你需要求的ASCII码的字符:\n");scanf("%c& ...

  8. C语言 输出字符01

    #include<stdio.h> int main() { char a='B',b='o',c='y'; printf("%c%c%c\n",a,b,c); ret ...

  9. c语言输出字符串缩进,C语言printf()和puts()的简单使用

    程序在计算机的内存中运行,得出结果以后总是需要输出,这样我们才能查看程序的运行状况.C语言用于输出的主要方法是使用格式输出函数 printf( ) 和字符串输出函数 puts( ). printf( ...

最新文章

  1. python的redis数据库连接与使用
  2. 与C#中的typedef等效
  3. node项目架构与优化
  4. Mysql 索引底层原理
  5. php 类中调用另类,PHP return语句另类用法不止是在函数中,return语句_PHP教程
  6. python自动化安装软件_python自动化安装源码软件包
  7. unknow ’query_cache_size’报错的解决方法吗
  8. java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园
  9. alarm之后调用sleep会这样
  10. WebView load**方法 加载资源【总结】
  11. dw网页制作教程百度云盘_Dreamweaver网页制作教程
  12. 国际快递中常见的国家省份名称中英文对照表
  13. 使用ffmpeg来将mp4视频转换成gif格式图片
  14. 涨知识:面试字节跳动Java研发岗,经验分享
  15. 明日书苑|硬笔书法临写指南
  16. skynet 热更新
  17. egret白鹭引擎基础介绍
  18. intellij idea中插件的安装方法及推荐
  19. EM算法 估计混合高斯模型参数 Python实现
  20. 技术分享 | 黑盒测试方法论—边界值

热门文章

  1. QEMU(3) 参数解析
  2. 货郎问题的实例 c语言编程,货郎担问题的C语言解法
  3. 微信小程序聊天功能PHP,微信小程序实现聊天室
  4. Google GMS 送测的三种方式
  5. 数字经济绿色创新匹配:全国3169公司数字金融企业绿色专利匹配数据 2011-2019年
  6. autocad2022版安装提示提示“The feature you are trying to use is on a network resource ...”失败解决办法
  7. 沈航计算机学院杨华,【沈航新青年·实践】电子信息工程学院“电信筑梦,科技振兴”暑期社会实践活动纪实...
  8. [从头读历史] 第258节 左传和东周列国志
  9. python中val的意思_python中val是什么
  10. 关于ERP系统提前期运算逻辑的三点介绍