- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例3.9 P80
#include <stdio.h>
int main ( )
{ char a,b,c;
a=getchar();
输入一个字符,送给变量a
b=getchar();
c=getchar();
putchar(a); putchar(b); putchar(c);
putchar('\n');
return 0;
%f: 不指定字段宽度,由 系统自动指定,使整 数部分全部如数输出,
并输出6位小数。
例: 输出实数时指定小数位数相%。同-m,.n只f与是%使m输.n出f基的本数
#include<stdio.h>
值向左端靠,右端
void main( )
补空格。
{float f=123.456;
printf(“%f︼︼%10f︼︼%10.2f︼︼ %.2f︼ ︼%-10.2f\n”, f,f,f,f,f); }
putchar(c)
参数: c为字符常量、变量或表达式 功能:把字符c输出到显示器上
C可以是字符变量或整型变量
例3.8 P78
#include <stdio.h>
说明:P79 putchar(’\101’)(输出字符A) putchar(’\’’ (输出单撇号字符’)
int main ( ) 改为int a=66,b=79,c=89;
(2)对o不格同式类符型,以的数八据进用制不数同形的︼式格123输式,字出12符3整45。数常P用7的3
(3有)以x格下式几种符格,以式十字六符进: 制数形式输出整数 P73 (4()1u)格d式格符式,符用。来用输来出输u出ns十ig进n制ed整型数数。据,即
无1符)号%数d,,按以整十型进数制据形的式实输际出长度P7输3出。
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a);
输入的是双 精度型实数
x1=p+q; x2=p-q;
程序分析
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2); P66
{
char a='B',b='O',c='Y';
putchar(a);
向显示器输出字符B
putchar(b);
putchar(c);
putchar ('\n');
向显示器输出换行符
return 0;
}
字符数据的输入输出 P81
2. 用getchar函数输入一个字符 向计算机输入一个字符 getchar函数的一般形式为:
x1=p+q; x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
return 0;
}
#include <stdio.h>
#include <math.h> int main ( ) {double a,b,c,disc,x1,x2,p,q;
自动转成实数 后赋给a,b,c
输出结果如下:
123.456001︼︼123.456001︼︼︼︼︼ ︼123.46︼︼ 123.46︼︼ 123.46︼︼︼ ︼
e格式符,以指数形式输出实数。P72
%e 不指定输出数据所占的宽度和数字部 分小数位数,由系统自动指定给出6位小数, 指数部分占5位,其中“ e ”占1位,指数符 号占1位,指数占3位。数字按规范化指数 形式输出。
d格式符。用来输出一个有符号的十进制 整数
可以在格式声明中指定输出数据的域宽 printf(”%5d%5d\n”,12,-345);
%d输出int型数据 %ld输出long型数据
Long a=135790;
格式字符:
printf(“%pr4indt,f%(4“d”%,al,db”);,a=a1)23;,b=12345
例 - 例:字符串的输出。
#include<stdio.h>
void main( )
{ printf(“%3s\n”, “student” );
printf(“%8.3s\n”, “student”);
printf(“%.4s\n”, “student”);
printf(“%-8.3s\n”, “student”);
这两个函数是格式输入输出函数 用这两个函数时,必须指定格式
3.4.3 用printf函数输出数据 P69
1. printf函数的一般格式 printf(格式控制,输出表列)
例如: printf(”i=%d,c=%c\n”,i,c);
格式声明
用printf函数输出数据 P69
1. printf函数的一般格式 printf(格式控制,输出表列)
#include <math.h>
程序中调用数学函数sqrt
int main ( )
{double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c); 输入a,b,c的值 disc=b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
归纳如表3.6(P7否4)。则将会出现错误。
3.4.4 用scanf函数输入数据P75
1. scanf scanf(格式控制,地址表列)
含义同printf函数
3.4.4 用scanf函数输入数据
1. scanf scanf(格式控制,地址表列)
可以是变量的地址,或字 符串的首地址
用scanf函数输入数据
③%- ms,若串长小于m,则在m列的范围内,字 符串向左靠,右补空格。
④%m.ns,输出占m列,但只取字符串中左端n个字 符。这n个字符输出在m列的右侧,左补空格。
⑤% -m.ns,其中m 、n含义同上, n个字符输出 在m列的左侧,右补空格。如果n> m,则自动 取n值,即保证n个字符正常输出。
getchar( )
例: 字输入符单输个入字符函数
#include<stdio.h>
void格m式a:igne(t)char( ) {ch功ar能c;:从键盘输入一字符,
运行结果: A getcAhar没有参数。
c=getchar( );
putchar(c);
}
请注意:getchar( )只能接受一个字符。 getchar得到的字符可以是一个字符变量 或整型变量,也可不赋给任何变量,作为 表达式的一部分。
是库函数的名字 putchar、getchar、puts、gets
有关数据输入输出的概念 P68
在使用输入输出函数时,要在程序文件的开 头用预编译指令
#include <stdio.h>
或
#include ″stdio.h″
3.4.3 用printf函数输出数据 P68
在C程序中用来实现输出和输入的, 主要是printf函数和scanf函数
}
运行结果:
student
stu
stud
stu
(7)f格式符 P71~72
例:输出实数时的有效位数。 #include<stdio.h>
void main( )
{float x,y;
x=111111.111;y=222222.222;
printf(“%f”,x+y); } 运行结果为 333333.328125
例如:若f=123.468 printf(“%f︼︼%e︼︼%g”,f,f,f);
输出如下g:格式符,用来输出实数, 123.46它80根0据0︼数值︼的1.大23小4,68自0e动+选002︼︼ 123.4f格占68式宽︼或度︼e较格︼小式的(一在选种用择)p输r,i出n且t时f函数输出时,
不输出无意义务的必零注。意数据类型应与 以上介绍了9种格上式符述,格式说明匹配,
例3.5
解题思路:首先要知道求方程式的根的方法。
由数学知识已知:如果 b2 4ac ≥0,则一
元二次方程有两个实根:
x1 b
b2பைடு நூலகம் 4ac 2a
x2 b
b2 4ac 2a
若记 p b q b2 4ac
2a
2a
x1 p q x2 p q
#include <stdio.h>
例:字符串的输出 #include<stdio.h>
“%.4s”,及只指定了n,没指定m, 自动使m=n=4,故占4列。
void main( )
{
printf(“%3s,%7.2s,%.4s,%-5.3s\n”,
“CHINA”, “CHINA”, “CHINA”, “CHINA”);
}
输出如下: CHINA, ︼︼︼︼︼CH,CHIN,CHI︼︼
(52))c%格m式d符, m,为用指来定输的出输一出个字字段符的P宽70度。
3)%ld, 输出长整型数据。
对long型数据应当用%ld格式输出。
举例 P70~P73
见P47及P45表3.2
例例 int a=例3,b#=in4c;lude<stdio.h> 2个字节 printf(v“o%iddm%aidn\(n)”,a,b); printf(“a{=%undsi,gbn=e%d din\nt”u,a=,b65);535;
对于scanf(”%c%c%c”,&c1,&c2,&c3);