当前位置:编程学习 > C/C++ >>

C语言的printf有多少个格式码?

printf函数和scanf函数有哪些格式码,作用是什么?
追问:我知道printf的用法,只是想了解一下,printf函数有多少个格式码,作用是什么
答案:1.8 输入和输出函数


在前两个例子中用到了输入和输出函数 scanf 和 printf,在以后要详细介绍。这里我们
先简单介绍一下它们的格式,以便下面使用。
        scanf 和 printf 这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的
格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成:
“格式控制串”,参数表
格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。各
种类型的格式表示法可参阅第三章。在 printf 函数中还可以在格式控制串内出现非格式控制
字符,这时在显示屏幕上将原文照印。参数表中给出了输入或输出的量。当有多个量时,用
逗号间隔。例如:
    printf("sine of %lf is %lf\n",x,s);
其中%lf 为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了 x 和 s 两个
变量。其余字符为非格式字符则照原样输出在屏幕上。
【例 1.3】
int max(int a,int b);            /*函数说明*/
main()                                            /*主函数*/
{
    int x,y,z;                                    /*变量说明*/
int max(int a,int b);            /*函数说明*/
  printf("input two numbers:\n");
scanf("%d%d",&x,&y);              /*输入 x,y 值*/
    z=max(x,y);                                /*调用 max 函数*/
  printf("maxmum=%d",z);     /*输出*/
 }
int max(int a,int b)             /*定义 max 函数*/
{
  if(a>b)return a;else return b;     /*把结果返回主调函数*/
 }
上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由
两个函数组成,主函数和 max  函数。函数之间是并列关系。可从主函数中调用其它函数。
max  函数的功能是比较两个数,然后把较大的数返回给主函数。max  函数是一个用户自定
义函数。因此在主函数中要给出说明(程序第三行)。可见,在程序的说明部分中,不仅可以
有变量说明,还可以有函数说明。关于函数的详细内容将在以后第五章介绍。在程序的每行
后用/*和*/括起来的内容为注释部分,程序不执行注释部分。
上例中程序的执行过程是,首先在屏幕上显示提示串,请用户输入两个数,回车后由
scanf 函数语句接收这两个数送入变量 x,y 中,然后调用 max 函数,并把 x,y  的值传送给 max
函数的参数 a,b。在 max 函数中比较 a,b 的大小,把大者返回给主函数的变量 z,最后在屏
幕上输出 z 的值。

 

 

 

4.5.1 printf 函数(格式输出函数)


printf 函数称为格式输出函数,其关键字最末一个字母 f 即为“格式”(format)之意。
其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。在前面的例题中我们已多
次使用过这个函数。
1. printf 函数调用的一般形式
printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,
不要求在使用 printf 函数之前必须包含 stdio.h 文件。
printf 函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符
串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出
数据的类型、形式、长度、小数位数等。如:
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%c”表示按字符型输出等。
非格式字符串在输出时原样照印,在显示中起提示作用。
输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一
一对应。
【例 4.3】
main()
 
 

 

{
  int a=88,b=89;
  printf("%d %d\n",a,b);
  printf("%d,%d\n",a,b);
  printf("%c,%c\n",a,b);
  printf("a=%d,b=%d",a,b);
}

 

 

scanf 函数(格式输入函数)


scanf 函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量
之中。
1. scanf 函数的一般形式
scanf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与 printf 函数相
同,C语言也允许在使用 scanf 函数之前不必包含 stdio.h 文件。
scanf 函数的一般形式为:
scanf(“格式控制字符串”,地址表列);
其中,格式控制字符串的作用与 printf 函数相同,但不能显示非格式字符串,也就是
不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名
组成的。
例如:
&a, &b
分别表示变量 a 和变量 b 的地址。
这个地址就是编译系统在内存中给 a,b 变量分配的地址。在C语言中,使用了地址这个
概念,这是与其它语言不同的。 应该把变量的值和变量的地址这两个不同的概念区别开来。
变量的地址是 C 编译系统分配的,用户不必关心具体的地址是多少。
变量的地址和变量值的关系如下:
在赋值表达式中给变量赋值,如:
    a=567
 则,a 为变量名,567 是变量的值,&a 是变量 a 的地址。
但在赋值号左边是变量名,不能写地址,而 scanf 函数在本质上也是给变量赋值,但要
求写变量的地址,如&a。 这两者在形式上是不同的。&是一个取地址运算符,&a 是一个表
达式,其功能是求变量的地址。
【例 4.7】
main(){
  int a,b,c;
  printf("input a,b,c\n");
  scanf("%d%d%d",&a,&b,&c);
  printf("a=%d,b=%d,c=%d",a,b,c);
}


 
在本例中,由于 scanf 函数本身不能显示提示串,故先用 printf 语句在屏幕上输出提
示,请用户输入 a、b、c 的值。执行 scanf 语句,则退出 TC 屏幕进入用户屏幕等待用户输
入。用户输入 7  8  9 后按下回车键,此时,系统又将返回 TC 屏幕。在 scanf 语句的格式
串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的

 

 

以上来自   唐浩强《C语言程序设计》第三版

 

【酷_酷_币】为您服务.....

 

 

 

 

问的是printf和scanf的格式和用法么。

printf输出函数,格式:printf("字符串以及格式说明符",变量列表);,printf会原样输出双引号内除了格式说明符和转义字符外的所有字符,格式说明符和后面的变量列表一一对应。

scanf输入,格式scanf("字符串或格式说明符",&变量名列表);,用scanf来从键盘获取数据,如果双引号内写了除了格式说明符以外的字符,输入的时候也要照样打这些字符,格式说明符和后面的变量名一一对应,那个&符号是取地址符号,scanf中表示把从键盘获取到的值放到这个地址。

 

也许你问的是格式说明符有哪些

%d 整型 %ld 长整型 %c 字符型 %s 字符串型 %f 单精度浮点型 %lf 双精度浮点型 %x 十六进制整型 %o 八进制整型 %u 无符号整型 等

 

完全手打,如果解决了问题,请及时采纳,谢谢。

老大你也在搞NOIP?

上一个:C语言上的符号优先级是怎样的?
下一个:C语言 数据结构是怎么回事啊?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,