格式输入函数

合集下载

格式化输入、输出函数

格式化输入、输出函数

格式化输入/输出函数格式输出函数(printf)格式字符表格式字符说明d或i 以十进制形式输出带符号整数(正数不输出符号)o 以八进制形式输出无符号整数(不输出前缀0)x,X 以十六进制形式输出无符号整数(不输出前缀0x),对于x用abcdef输出;对于X用ABCDEF输出u 以十进制形式输出无符号整数f 以小数形式输出单、双精度实数,隐含输出6位小数e,E 以指数形式输出单、双精度实数,数字部分小数位数为6位小数,指数部分占5位,用“E”时,指数以大写表示g,G 以%f或%e中较短的输出宽度输出单、双精度实数,不输出无意义的0,用“G”时,则指数以大写表示c 输出单个字符s 输出字符串p 输出标量的内存地址未指定宽度和指定输出宽度时的输出结果输出语句输出结果printf(“%3d\n”,4321); 4321(按实际位数输出)printf(“%f\n”,123.54); 123.540000(按实际需要宽度输出)printf(“%12f\n”,123.54); 凵凵123.540000(输出右对齐,左边填空格)printf(“%e\n”,123.54); 1.235400e+002(按实际需要宽度输出)printf(“%14e\n”,1213.54); 凵1.235400e+002(输出右对齐,左边填空格)printf(“%g\n”,123.5); 123.5(%f格式比采用%e格式输出宽度小)printf(“%8g\n”,123.5); 凵凵凵123.5(输出右对齐,左边填空格)指定精度时的输出结果输出语句输出结果printf(“%8.3f\n”,123.55); 凵123.550printf(“%8.1f\n”,123.55); 凵凵凵123.6printf(“%8.0f\n”,123.55); 凵凵凵凵凵124printf(“%g\n”,123.56789); 123.568printf(“%.7g\n”,123.56789); 123.5679printf(“%.5s\n”,”abcdefg”); abcde注:在VC中float类型有7位有效数字,double类型有16位有效数字标志及其意义标志意义-输出结果左对齐,右边填空格;缺省则输出结果右对齐,左边填空格+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号﹟对c,s,d,u类无影响;对o类,在输出时加前缀0,对x类,在输出时加前缀0x 0 对数值格式,在指定宽度的同时,输出数据左边空格处填以数字0标志的用法输出语句输出结果printf(“%6d\n”,111); 凵凵凵111printf(“%-6d\n”,111); 111凵凵凵printf(“%+d\n”,111); +111printf(“% d\n”,111);/*%和d之间有一个空格*/ 凵111printf(“% d\n”,-111);/*%和d之间有一个空格*/ -111printf(“%#o\n”,10); 012printf(“%#x\n”,16); 0x10printf(“%06.2f\n”,1.6); 001.60格式输入函数(scanf)Scanf格式字符格式字符说明d,i 输入有符号的十进制整数o 输入无符号的八进制整数x,X 输入无符号的十六进制整数u 输入无符号的十进制整数f,e 输入实型数(用小数形式或指数形式)c 输入单个字符s 输入字符串,结果存入字符数组中。

C语言输入输出函数printf与scanf的用法格式

C语言输入输出函数printf与scanf的用法格式

C 语言输入输出函数printf 与scanf 的用法格式printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。

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

一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

在编写程序时经常会用到此函数。

printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式控制字符, 以"%"开始, 后跟一个或几个控制字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,可以是常量、变量或表达式,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。

例如:printf("a=%d b=%d",a,b);1. 格式控制符Turbo C2.0提供的格式化规定符如下: 格式控制字符参量表正常字符━━━━━━━━━━━━━━━━━━━━━━━━━━符号作用──────────────────────────%d 十进制有符号整数%u 十进制无符号整数%f 浮点数%s 字符串%c 单个字符%p 指针的值%e,%E 指数形式的浮点数%x, %X 无符号以十六进制表示的整数%o 无符号以八进制表示的整数%g,%G 自动选择合适的表示法━━━━━━━━━━━━━━━━━━━━━━━━━━printf的附加格式说明字符字符说明l 用于长整型数或双精度实型,可加在格式符d、o、x、u和f前面m(代表一个正整数据最小输出显示宽度数)n(代表一个正整数)对实数,表示输出n位小数;对字符串,表示截取的字符个数。

C语言输入输出函数printf与scanf的用法格式

C语言输入输出函数printf与scanf的用法格式

C语言输入输出函数printf与scanf的用法格式C语言中的输入输出函数printf和scanf是我们在编程中经常用到的两个函数。

它们分别用于向屏幕输出数据和从键盘输入数据。

1.printf函数printf函数是C语言中用于输出的标准函数,其基本格式如下:printf("format string", argument);其中,format string是格式化字符串,它可以是任何你希望输出的文本或特定格式的文本,argument是你要输出的参数,可以是任何数据类型,例如int, float, double等。

例如,如果你想输出一个整数,你可以这样写:int x = 10;printf("The value of x is: %d", x);在这个例子中,%d是一个格式说明符,它表示一个整数。

在输出的时候,%d 会被x的值替换。

printf函数还支持许多其他类型的格式说明符,例如:•%f:浮点数•%c:字符•%s:字符串•%p:指针的值•%x:十六进制数等等。

你可以根据需要选择适合的类型。

2.scanf函数scanf函数是C语言中用于输入的标准函数,其基本格式如下:scanf("format string", argument);与printf类似,format string是格式化字符串,argument是你要输入的参数。

但是,scanf的格式说明符与printf略有不同。

例如,如果你想输入一个整数,你可以这样写:int x;scanf("%d", &x);在这个例子中,%d是一个格式说明符,它表示一个整数。

在输入的时候,你需要在%d前面输入一个数字,然后scanf会把这个数字存储到&x所指向的内存地址中。

注意,这里的&是取地址运算符,表示我们想要的是变量x的内存地址。

scanf函数还支持许多其他类型的格式说明符,例如:•%f:浮点数•%c:字符•%s:字符串(到第一个空格为止)•%p:指针的值•%x:十六进制数(必须以0x或0X开头)等等。

scanf函数

scanf函数

scanf函数
scanf函数是C语言中常用的一种输入函数,它在键盘上将输入
的数据以指定格式读入变量中。

它能够从输入流中读入一定数目的数据,并以指定格式将它们格式化到指定变量,使得这些变量包含所需
数据,实现从键盘上读取数据的功能。

scanf函数的常用语法形式为:scanf(“转换说明符”,变量列表),即可以以变量列表的形式向scanf函数提供要存储的数据的地址,scanf函数在标准输入流中按照形容说明符提供的格式获取键入的数据,并且将它们赋值给指定的变量。

不过要注意,scanf函数只能从标准输入流中读取字符,无法读取字符串,因此若要读取字符串,则
可以使用scanf读取每个字符单独存储。

另外,在调用scanf函数时,对变量列表中准备放置读取数据的变量类型有一定要求,若不符合要
求则会出现错误。

在C语言编程中,scanf函数拥有着重要的作用,它的使用可以
非常有效地实现从键盘输入的功能,例如在编写用户登录模块时,调
用该函数可以方便地从键盘读取用户名和密码,从而实现该模块的登
录功能。

此外,使用scanf函数时,可以使用%d、%f、%c等转换说明符,以指定输入的数据类型,这样可以有效的避免由于输入类型不符
而导致的程序运行错误问题。

总之,scanf函数在C语言中十分重要,它可以使程序从键盘上
快速获取输入数据,并以指定的格式将其赋值到变量中,从而使得程
序调试变得更加容易。

C语言的格式输入输出

C语言的格式输入输出


字符输入函数

getchar ()
无参数 函数值为从输入设备接收的字符
#include <stdio.h> int main() { char ch;
printf("Press a key and then press Enter:");
ch = getchar(); printf("You pressed "); putchar(ch); putchar('\n'); return 0;
格式输入函数
输入数据时,遇以下情况时该数据认为结束

遇空格、回车Biblioteka TAB 键 遇宽度 :%3d 遇非法输入
scanf格式字符
d 以带符号十进制形式输入整型数据
o x c s
f e
以八进制无符号形式输入(无前导0) 以十六进制无符号形式输入(无前导0x) 以字符形式输入单个字符 输入字符串,以非空字符开始,遇第一个 空白字符结束 以小数形式输入浮点数 以标准指数形式输入
printf("printf WITH width and precision specifications:\n"); printf("%5.2f\n%6.1f\n%3.0f\n", f1, f2, f3); printf("%5d\n%6d\n%3d\n", n1, n2, n3);}
格式输入函数
scanf附加格式说明符
l
L h m *
加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型 加在f、e 前:输入long double型 加在d、o、x 前:输入短整型 表示数据占用的宽度 本输入项在读入后不赋给相应的变量

C语言输入输出函数

C语言输入输出函数

1.1 标准输入输出函数1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入、输出函数printf( ) 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。

printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。

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

一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

在编写程序时经常会用到此函数。

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。

1. 格式化规定符Turbo C2.0提供的格式化规定符如下:━━━━━━━━━━━━━━━━━━━━━━━━━━符号作用──────────────────────────%d 十进制有符号整数%u 十进制无符号整数%f 浮点数%s 字符串%c 单个字符%p 指针的值%e 指数形式的浮点数%x, %X 无符号以十六进制表示的整数%0 无符号以八进制表示的整数%g 自动选择合适的表示法━━━━━━━━━━━━━━━━━━━━━━━━━━说明:(1). 可以在"%"和字母之间插进数字表示最大场宽。

例如: %3d 表示输出3位整型数, 不够3位右对齐。

%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。

C语言03.1 流程控制(1 输入输出函数)

C语言03.1 流程控制(1 输入输出函数)
scanf("%d%c%f",&a,&b,&c) 输入: 25P12I.35
注意
在输入字符型数据时,若格式控制串中没有 非格式字符,则认为所有输入的字符均为有 效字符。
如: scanf("%c%c%c",&a,&b,&c);
只有当输入为:def 时(即:不能有间隔),才能 把‘d’赋于a,‘e’赋予b,'f'赋予c
字符输入输出函数
例:
#include <stdio.h> void main() { char c; c=getchar(); ++c; putchar(c); putchar('\n'); return; }
作业
参照课堂举例,编写程序,练习 printf()和scanf()函数的各种格式符, 显示并观察运算结果
格式字符
d,i o x,X u f e,E g,G c s
意义 以带符号的十进制形式输出整数(正数不输出符号) 以八进制形式输出无符号整数(不输出前缀0) 以十六进制无符号形式输出整数(不输出前缀Ox) 以无符号十进制形式输出整数 以小数形式输出单、双精度实数,隐含输出6位小数 以指数形式输出单、双精度实数 以%f或%e中较短的输出宽度输出单、双精度实数 输出单个字符 输出字符串
如:scanf(“%f”, a); ×
scanf("%f", &a); √
不能用格式控制来规定输入数据的精度
如: scanf("%7.2f",&a);
×
scanf("%f", &a);

C语言Printf和Scan函数的使用方法

C语言Printf和Scan函数的使用方法

C语言Printf和Scan函数的使用方法一printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

在编写程序时经常会用到此函数。

printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。

格式化字符串的格式是:%[标志][输出最小宽度][.精度][长度]格式字符1. 标志:标志字符为-、+、#、空格四种,其意义下表所示:标志意义- 结果左对齐,右边填空格+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号# 对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点()例1:#include<stdio.h>main(){int a=100;float b=123.255;printf("a=%d ",a);printf("a=%10d ",a);printf("a=%-10d ",a);printf("a=%+d ",a);printf("a=% d ",a);printf("a=%#o ",a);printf("a=%#x ",a);printf("b=%#f ",b);}运行结果a=100a= 100a=100a=+100a= 100a=0144a=0x64b=123.254997 ()2.输出最小宽度:用十进制整数来表示输出的最少位数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

scanf("a=%f,b=%f,c=%f",a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a); q=sqrt(disc)/(2*a);
x1=p+q; x2=p-q;
printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
} 输入:a=1,b=3,c=2
area= 5.33
4.00, c=
6.00 s= 6.50
上一页 下一页 返回上一级5
例 从键盘输入大写字母,用小写字母输出
/*ch3_13.c*/ #include "stdio.h" main() { char c1,c2;
c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
上一页 下一页 返回上一级2
• 输入分隔符的指定 – 一般以空格、TAB或回车键作为分隔符 – 其它字符做分隔符:格式串中两个格式符间字符
例例例s输sp输 输c例car入ains输则入出nncft(afs输fa入1“则(n(c=2“1aa“af入%1==2a(3n“21=31%fd%,2(2%bh%“3d:13a=d,3%,d,2,,o4b:320b,%34%db=04:=4,=%,d%8xc51%:3”=2d%db,,m3d3,c&”cd6,=,,=c&a”2=4%,,&&9a5%,1d&bhd”,,,&b\&&ns)c”ma),,a;,&&,bbs,c,)&;);c);
输出:x1=-1.00
x2=-2.00
上一页 下一页 返回上一级7
例 s输例则ca例入例1ns输则9fc(9s输“a1入1则s输则9c%n9c2af入9a‘n入14(n9“1f2dyf%1(a23%y(“a0,’“,1%2b312%126dc45d30k3d753c%%c,4e1d%685,2%*776b‘d2m367d*”cd5m8’4,”&%.7d,4,&6%y312c5cy5df2.1,”4”&,f,3&&mdckamd2,,&&),;&fb)d);;d);
输入数据
s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c));
输出数据
printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
}
输入:3,4,6 输出:a= 3.00, b=
area s (s a) (s b) (s c)
/*ch3_12.c*/
#include <math.h> #include <stdio.h>
文件包含预处理命令
main()
{ float a,b,c,s,area;
变量定义
scanf("%f,%f,%f",&a,&b,&c);
例 scanf(“%x”,&a); 输入:11 则 a=17
上一页 下一页 返回上一级1
• 附加格式说明符(修饰符)
修饰符


h 用于d,o,x前,指定输入为short型整数
用于d,o,x前,指定输入为long型整数 l
用于e,f前,指定输入为double型实数
m 指定输入数据宽度,遇空格或不可转换字符则结束 * 抑制符,指定输入项读入后不赋给变量
– 格式输入函数
格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的
存储单元中,并按回车键结束 返值:正常,返回输入数据个数
• 地址表:变量的地址,常用取地址运算符&
• 格式字符:d,i,o,x,u,c,s,f,e
例 scanf(“%d”,&a); 输入:10 则 a=10
prinptfr(i“nxtf=(%“xd=,%chd=,%chd=\%n”d,x\n,c”h,x);,ch); 执行执:行12:3123 输出输:出x=:1x2=3,1c2h3=,1ch0=10
上一页 下一页 返回上一级4
• 程序举例
例 输入三角形边长,求面积
s 1 (a b c) 2
输入:A 输出:A,65
a,97
上一页 下一页 返回上一级6
例求ax2 bx c 0方程的根,设 b2 4ac 0
/*ch3_14.c*/
x b b2 4ac 2a
#include <stdio.h>
#include <math.h>
main()
{ float a,b,c,disc,x1,x2,p,q;
– 输入如函数sca留nf下(“%的d例“%垃ci%n圾tfx””;,&:a,&b,&c); 解(((决123)))方例用用用法g格函icsc例n:echhtt式数aa=ncxrgicssfhf串;nccche(若则aftaah“tacrl中nnx%;rh输(uff;c((ad1)s空h““r”入2清h%%;(,3(格)&;cd14s除”x”2t或,,)3或d&&;4i“acxan,sh1)css)%c‘;)cc2ha清*a;aa3’acnnnro除”fff(.来c((2“hb““全%6%;,“%1*部d2吃cc”%3剩”,&掉,c&余x””c,c)&内;h)c;容h);
上一页 下一页 返回上一级3
• 说明:
– 用“%c”格式符时,空格和转义字符作为有 效字符输入
– 输入如数s据ca时nf,(“%遇c以%c下%情c”况,&认c1为,&该c2数,&据c3结); 束: »遇空若格输、入TaA•bB•c、或回车 »则遇a宽度c1结, 束c2, b c3 »遇非法输入
相关文档
最新文档