C语言输入输出函数PRINTF与SCANF的用法格式

更新时间:2023-04-21 16:54:34 阅读: 评论:0


2023年4月21日发(作者:手卫生知识培训内容)

Cprintfscanf

语言输入输出函数的用法格式

printf()函数用来向标准输出设备(屏幕)写数据;

scanf()函数用来从标准输入设备(键盘)上读数据。下面详

细介绍这两个函数的用法。

一、printf()函数

printf()函数是格式化输出函数,一般用于向标准输出

设备按规定格式输出信息。在编写程序时经常会用到此函

数。printf()函数的调用格式为:

printf("<格式化字符串>",<参量表>);

其中格式化字符串包括两部分内容:一部分是正常字符,

这些字符将按原样输出;另一部分是格式控制字符,

"%"开始,后跟一个或几个控制字符,用来确定输出内容格

参量表是需要输出的一系列参数,可以是常量、变量或

表达式,其个数必须与格式化字符串所说明的输出参数个数

一样多,各参数之间用","分开,且顺序一一对应,否则将

会出现意想不到的错误。

例如:

正常字符

参量表

p哑铃练背的动作 rintf("a=%db=%d",a,b);

格式控制字符

1.格式控制符TurboC2.0提供的格式化规定符如下:

━━━━━━━━━━━━━━━━━━━━━━━━━

符号作用

─────────────────────────

%d十进制有符号整数

%u十进制无符号整数

%f浮点数

%s字符串

%c单个字符

%p指针的值

%e,%E指数形式的浮点数

%x,%X无符号以十六进制表示的整数

%o无符号以八进制表示的整数

%g,%G自动选择合适的表示法

━━━━━━━━━━━━━━━━━━━━━━━━━

printf的附加格式说明字符

字符说明

l用于长整型数或双精度实型,可加在格式

d、o、x、uf前面

m(代表一个正整数据最小输出显示宽度

数)

n(代表一个正整对实数,表示输出n位小数;对字符串,

数)表示截取的字符个数。

-输出的数字给习爷爷的一封信 或字符在域内向左靠,即位数

不足时右补空格。

说明:

在输出时,对不同类型的数据要使用不同的格式字符。

常用的有以下几种:

(1)d格式符。用来输出十进制整数。

%d。按十进制整型数据的实际长度输出。

%md。M为指定的输出字段宽度。如果数据的位数小于

m,则左端补以空格,若大于m,则按实际位数输出。例

如:

printf("%4d,%4d",a,b);

a=123,b=12345,则输出结果为

_123,12345

%ld。输出长整型数据,例如

longa=135790;

printf("%ld",a);

如果用%d输出,就会发生错误,因为整型数据的取值范

围为-32768~32767。对于long型数据应当用%ld格式输

出。对长整型数据也可以指定字段宽度,如将上面printf

函数中的“%ld”改为“%8ld”,则输出为

__135790

一个int型数据可以用%d或%ld格式输出。

(2)o格式符。以八进制整数形式输出。由于是将内存

单元中的各位的值(0/1)按八进制形式输出,因此输出的

数值不带符号,即将符号位也一起作为八进制数的一部分输

出。例如:

inta=-1;

printf("%d,%o",a,a);

-1在内排球场标准尺寸 存单元中的存放形式(以4个字节补码形式存放)

如下:

11111111111111111111111111111111

输出为

-1,37777777777

不会输出带负号的八进制整数。对长整型(long型)可

以用“%lo”格式输出。同样可以指定字段宽度,例如:

printf("%13o",a);

__37777777777

(3)x格式符。以十六进制数形式输出整数。同样不会

出现负的十六进制数。例如:

inta=-1;

printf("%x,%o,%d",a,a,a);

输出结果为

ffffffff,37777777777,-1

同样可以用“%lx”输出长整型数,也可以指定输出字段

的宽度,例如“%12x”

(4)u格式符。用来输出unsigned型数据,即无符号

数,以十进制整数形式输出。

一个有符号整数(int型)也可以用%u格式输出;反之,

一个unsigned型数据也可以用%d格式输出。按相互赋值

的规则处理。Unsigned型数据也可以用%o和%x格式输出。

(5)c格式符。用来输出一个字符。例如:

charc='a';

printf("%c",c);

输出字符‘a’,请注意:“%c”中的c是格式符,逗号右

边的c是变量名,不要混淆。

一个整数,只要它的值在0~255范围内,也可以用“%c”

使之按字符形式输出,在输出前,系统会将该整数作为

ASCII码转换成相应的字符;反之,一个字符数据也可以

用整数形式输出。例如:

charc='a';

inti=97;

printf("%c,%dn",c,c);

printf("%c,%dn",i,i);

运行结果为:

a,97

a,97

也可以指定输出字数宽度,例如:printf("%3c",c);

(6)s格式符,用来输出一个字符串,有几种用法:

%s。例如:

printf("%s","CHINA");

输出字符串“CHINA”(不包括双引号)

%ms。输出的字符串占m列,如字符串本身长度大于m,

则突破m的限制,将字符串全部输出,若串长小于m,则左

补空格。

%-ms。跟以上的区别就是右补空格。

%。输出的字符如何煎鸡蛋 串占m列,只取字符串左端n个字

符,不足位数,左补空格。

%-。跟以上的区别就是右补空格。

(7)f格式符。用来输出实数(包括单、双精度),以

小数形式输出。有以下几种用法:

%f,不指定字段宽度,由系统自动指定,整数部分全

部输出,并输出6位小数。单精度实数的有效位数一般为7

位(包括整数和小数位数)

例如:

floatx,y;

x=111111.111;y=222222.222;

printf("%fn",x+y);

输出结果为:

333333.328125

显然,只有前7位数字是有效数字,千万不要以为凡是计

算机输出的数字都是准确的。双精度数也可以用%f格式

输出,它的有效位数一般为16位,给出小数6位。

%,指定输出的数据共占m列,其中有n位小数。

长度不够,左补空格。

%-,右补空格。

(8)e格式符。陈的成语 以指数形式输出实数。详细情况参阅谭

浩强的《C语言程序设计》

(9)g格式符。用来输出实数,它根据数值的大小,自

动选择f格式或e格式。详细情况参阅谭浩强的《C语言程

序设计》

(10)

2.一些特殊规定字符

━━━━━━━━━━━━━━━━━━━━━━━━━

字符作用

─────────────────────────

n换行

f清屏并换页

r回车

tTab

xhh表示一个ASCII码用16进表示,

其中hh是1到2个16进制数

━━━━━━━━━━━━━━━━━━━━━━━━━

C程序中的第一条语句#include的含义是调用

另一个文件stdio.h,这是一个头文件,大叔电影 其中包括全部标准

输入输出库函数的数据类型定义和函数说明。

C编译器(TurboCVC++6.0)对每个库函数使用的变

量及函数类型都已作了定义与说明,放在相应头文件"*.h"

中,用户用到这些函数时必须要用#include<*.h>

#include"*.h"语句调用相应的头文件,以供连接。若没

有用此语句说明,则连接时将会出现错误。但有些编译器已

经将常用的头文件默认包含,可以将语句:

#include省略,但是要根据编译器而定。

二、scanf()函数

scanf()函数是格式化输入函数,它从标准输入设备(键

盘)读取输入的信息。

其调用格式为:

scanf("<格式化字符串>",<地址表>);

格式化字符串包括以下三类不同的字符;

1.格式化说明符:格式化说明符与printf()函数中的

格式说明符基本相同。

2.空白字符:空白字符会使scanf()函数在读操作中略

去输入中的一个或多个空白字符。

3.非空白字符:一个非空白字符会使scanf()函数在读

入时剔除掉与这个非空白字符相同的字符。

地址表是需要读入的所有变量的地址,而不是变量本

身。这与printf()函数完全不同,要特别注意。各个变量的

地址之间同","分开。

例2:

main()

{

inti,j;

printf("i,j=?n");

scanf("%d,%d",&i,&j);

}

上例中的scanf()函数先读一个整型数,然后把接

着输入的逗号剔除掉,最后读入另一个整型数。如果","这

一特定字符没有找到,scanf()函数就终止。若参数之间的

分隔符为空格,则参数之间必须输入一个或多个空格

说明:

(1).对于字符串数组或字符串指针变量,由于数组名

和指针变量名本身就

是地址,因此使用scanf()函数时,不需要在它们前面加上

"&"操作符。例如

mian()

{

char*p,str[20]预防近视绘画 ;

scanf("%s",p);

scanf("%s",str);

printf("%sn",p);

printf("%sn",str);

}


本文发布于:2023-04-21 16:54:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/507884.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:c语言scanf
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图