null第三章 数据输入与输出格式: putchar( c )
参数: c为字符常量、变量或表达式
功能:把字符c输出到显示器上
返值:正常,为显示的代码值;出错,为EOF(-1)第三章 数据输入与输出C语言无I/O语句,I/O操作由函数实现
#include
3.1 数据输出
字符输出函数null/*ch3_1.c*/
#include
main()
{ int c;
char a;
c=65; a='B';
putchar(c); putchar('\n'); putchar(a);
}运行结果:A
B例null格式:printf(“格式控制串”,输出表)
功能:按指定格式向显示器输出数据
返值:正常,返回输出字节数;出错,返回EOF(-1)格式输出函数输出表:要输出的数据(可以没有,多个时以“,”分隔)
格式控制串:包含两种信息
格式
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
: %[修饰符]格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
格式字符
nullint a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%说明
格式字符要用小写
格式字符与输出项个数应相同,按先后顺序一一对应
输出转换:格式字符与输出项类型不一致,自动按指定格式输出例 main()
{ unsigned int u=65535;
printf(”u=%d\n",u);
}
输出结果:u=-1例 int a=3,b=4;
printf(“%d %d\n”,a,b);
printf(“a=%d , b=%d\n”,a,b); 例 int a=3,b=4;
printf(“%d %d\n”,a,b);
printf(“a=%d , b=%d\n”,a,b);
输出结果: 3 4
a=3, b=4null附加格式说明符(修饰符)null例 int a=1234;
float f=123.456;
char ch=‘a’;
printf(“%8d,%2d\n”,a,a);
printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);
printf(“%3c\n”,ch);运行 1234,1234
结果: 123.456000,123.456000, 123.5,123.46,1.23e+02
a例 static char a[]=“Hello,world!”
printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);运行结果:Hello,world!
Hello,world!
Hello
Hello
Hel 例 m.nnull例 int a=1234;
float f=123.456;
static char c[]=“Hello,world!”;
printf(“%8d,%-8d\n”,a,a);
printf(“%10.2f,%-10.1f\n”,f,f);
printf(“%10.5s,%-10.3s\n”,c,c);运行结果:1234,1234
123.46,123.5
Hello,Hel例 -null例 int a=1234;
float f=123.456;
printf(“%08d\n”,a);
printf(“%010.2f\n”,f);
printf(“%0+8d\n”,a);
printf(“0+10.2f\n”,f); 例 0 、+例 int a=123;
printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例 #例 long a=65536;
printf(“%d,%8ld\n”,a, a);
例 l//00001234//0000123.46//000+1234//000+123.56//173,0173,7B,0X7B//0, 65536null格式:getchar( )
功能:从键盘读一字符
返值:正常,返回读取的代码值;出错,返回EOF(-1)3.2 数据输入
字符输入函数 例 /*ch3_4.c*/
#include
main()
{ int c;
printf("Enter a character:");
c=getchar();
printf("%c--->hex%x\n",c,c);
}运行结果:
Enter a character:A
A--->hex41null格式输入函数格式: scanf(“格式控制串”,地址表)
功能:按指定格式从键盘读入数据,存入地址表指定的
存储单元中,并按回车键结束
返值:正常,返回输入数据个数地址表:变量的地址,常用取地址运算符&
格式字符:d,i,o,x,u,c,s,f,e例 scanf(“%d”,&a);
输入:10
则 a=10例 scanf(“%x”,&a);
输入:11
则 a=17null附加格式说明符(修饰符)例 scanf(“%4d%2d%2d”,&yy,&mm,&dd);
输入 19991015
则1999yy, 10 mm, 15 dd例 scanf(“%3d%*4d%f”,&k,&f);
输入 12345678765.43
则123k, 8765.43f例 scanf(“%2d%*3d%2d”,&a,&b);
输入 1234567
则12a, 67b例 scanf(“%3c%2c”,&c1,&c2);
输入 abcde
则‘a’c1, ‘d’ c2null输入分隔符的指定
一般以空格、TAB或回车键作为分隔符
其它字符做分隔符:格式串中两个格式符间字符例 scanf(“%d%o%x”,&a,&b,&c);
printf(“a=%d,b=%d,c=%d\n”,a,b,c);
输入 123 123 123
输出 a=123,b=83,c=291例 scanf(“%d:%d:%d”,&h,&m,&s);
输入 12:30:45
则12 h, 30 m, 45 s例 scanf(“%d,%d”,&a,&b)
输入 3,4
则3a, 4 b例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
输入 a=12,b=24,c=36 null说明:
用“%c”格式符时,空格和转义字符作为有效字符输入如 scanf(“%c%c%c”,&c1,&c2,&c3);
若输入abc
则ac1, c2, b c3输入数据时,遇以下情况认为该数据结束:
遇空格、TAB、或回车
遇宽度结束
遇非法输入如 scanf(“%d%c%f”,&a,&b,&c);
若输入1234a123o.26
则 1234 a, ‘a’ b, 123 c输入函数留下的“垃圾”:例 int x;
char ch;
scanf(“%d”,&x);
ch=getchar();
printf(“x=%d,ch=%d\n”,x,ch);
执行:123
输出:x=123,ch=10例 int x;
char ch;
scanf(“%d”,&x);
scanf(“%c”,&ch);
printf(“x=%d,ch=%d\n”,x,ch);
执行:123
输出:x=123,ch=10解决
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
:
(1)用getchar()清除
(2)用函数fflush(stdin)清除全部剩余内容
(3) 用格式串中空格或“%*c”来“吃掉”例 int x;
char ch;
scanf(“%d”,&x);
scanf(“ %c”,&ch);
或 scanf(“%*c%c”,&ch);
null3.3 程序举例/*ch3_12.c*/
#include
#include
main()
{ float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
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= 4.00, c= 6.00 s= 6.50
area= 5.33null例 从键盘输入大写字母,用小写字母输出/*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);
}
输入:A
输出:A,65
a,97null/*ch3_14.c*/
#include
#include
main()
{ float a,b,c,disc,x1,x2,p,q;
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
输出:x1=-1.00
x2=-2.00