程序设计tc03_第1页
程序设计tc03_第2页
程序设计tc03_第3页
程序设计tc03_第4页
程序设计tc03_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 3.1 赋值语句(表达式语句) 赋值语句是一种可执行语句,出现在函数的可执行 部分。例如: a=b+c;a=b=c=100;a=c=5*2;(赋值表达式) i=1,j=2;(i=3,i+,j-); (逗号表达式) k+;k-; 3.2 数据输出 在C程序中,不提供输入/输出语句,只能调用标准库 函数提供的输入/输出函数来实现数据的输入和输出。第三章 顺序结构1 一、printf函数的调用形式 格 式:printf(格式控制字符串,输出表列); 功 能:在终端设备(或系统隐含指定的输出设备)上按 指定格式输出数据。例 如: printf(“a=%d,b=%d”,a,b);说 明: 1、格式控制

2、字符串是用双引号括起来的字符串,由 “%”和格式控制字符组成,其作用是将输出的数 据转换为指定格式; 2、按原样输出的普通字符串(含转义字符); 3、输出表列是输出的数据(常量、变量、表达式); 4、格式字符的个数与类型应与输出表列的个数与类 型相一致; 5、格式字符后有两个“%”,则输出一个“%”; 2 二、printf函数格式字符类型 1、d 格式符(输出十进制整数) %d (按 int 实际长度输出) D格式符 %md(按 int 指定长度输出,+右对齐-左对齐) %ld (按 long 数据输出) 例1: main() int a=123,b=1234; int c=12345; pr

3、intf(“%4d,%4d,%4d”,a,b,c); 运行结果: 123,1234,12345 3例2: main() long x=135790;int a=1,b=2; float m=3.14,r=2.5;double s=0.00; s=m*r*r; printf(“%8ldn”,x); printf(“%d%n”,a+b); printf(“%d/%ddn”,a,b); printf(“%14.3fn”,s); 运行结果:135790 3% 1/2d 19.6254 2、o/x/u格式符 格式符 %mo (输出八进制整数) %mx (输出十六进制整数) %mu (输出无符号型整数)

4、说 明 : 无符号数以十进制形式输出; 八进制与十六进制数输出值无符号,与符号位同输出; 对 long 型数据可用 %lo , %lx ,% lu 格式输出。 例: main() unsigned int a=65535; int b=-2; /*a=-1*/ unsigned long c=123456789; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b); printf(“c=lun”,c); 运行结果: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534 c=1

5、23456789 5 3、c 格式符 (输出一个字符) 格式符:%mc 说 明:C字符格式可与整型数据输出格式通用 (0255) 例: main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%3c,%dn”,i,i); 运行结果: a,97 a,97 4、s 格式符 (输出一个字符串) 格式符:%m.ns 例: main() printf(“%sn”,”东北财经大学津桥商学院”); printf(“%3s,%7.2s,%.4s,%-5.3sn”,” China”, ”China” ,”China”); 运行结果: 东北财经大学津桥商学

6、院 China, Ch,Chin,Chi 6 5、f 格式符 (输出单/双精度数) 格式符:%m.nf 说 明: %f不指定宽度,整数全部输出,小数部分输出6位; 单精度数有效位数7位,双精度数有效位数16位; 例1:main() float x,y; x=111111.111;y=222222.222; printf(“%f”,x+y); 运行结果: 333333.328125 例2: main() float f=123.456; printf(“%f %10fn%10.2f %.2fn”,f,f,f,f,); 运行结果: 123.455994 123.455994 123.46 123.

7、46 7 6、e 格式符 (指数格式输出实数) 格式符: %m.ne 说 明: %e指定6位小数,1位整数,3位指数,共计12位; n不含指数部分,只代表小数位,默认值是6; 例:main() float f=123.456; printf(“%e %10e %10.2e %.2e”,f,f,f,f); 运行结果: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 7、g 格式符 (输出实数) 说 明:输出%f和%e宽度较小者,去掉无意义零。 例:main() float f=123.468; printf(“%f,%e, %g ”,f,f,f);

8、 运行结果: 123.468000, 1.234680e+002,123.468 8 8、其它输出格式符 输出的数字总带有+/-号; printf(“%+d,%+dn”,10,-10); 运行结果: +10,-10 在输出数据前加前导零; printf(“%06dn”,12); 运行结果: 000012 在输出 的八进制数前加0,十六进制数前加0 x; printf(“%o,%#o,%x,%#xn ”,10,10,10,10); 运行结果: 12,012,a,0 xa 9 3.3 数据输入 一、scanf函数的调用形式 格 式:scanf(格式控制字符串,地址表列); 功 能:在终端设备(或系

9、统隐含指定的输入设备)上按 指定格式输入数据。说 明: 1、格式控制字符串含义同 printf 函数; 2、地址表列是变量的地址或字符串的首地址; 例 如:main() int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d, %dn”,a,b,c); 运行结果: 3 4 5 (键盘输入数据) 3,4,5 10 二、scanf函数格式字符类型 1、d /o/x/u 格式符 %d (输入十进制整数) %o(输入八进制整数) %x (输入十六进制整数) %u (输入无符号整数) 2、c 格式符 %c (输入一个字符) 3、s 格式符 %s (输入字符串

10、,以非空格字符开始,第一个 空格字符结束,最后一个字符为“0“) 4、f(e) 格式符 (%e(f) (以小数或指数的形式输入实型数) 11 5、附加格式控制字符 %ld,%lo,%lx,%lu%lf,%le (输入长整型/双精度数据) %hd,%ho,%hx,%hu (输入短整型数据) %* (输入数据后不赋值给相应变量) 例3.1 求变量a,b,c,d,e的值。 main() long a;int b,c ,d,e; scanf(“%ld”,&a); scanf(“%3d%3d”,&b,&c); scanf(“%2d,%*3d,%2d”,&d,&e); printf(“%10ld”,a);

11、printf(“%d,%dn”,b,c); printf(“%d,%d,n”,d,e); 1111111111 123 456 输入数据 12,345,67 运行结果: 1111111111123,456 12,6712 例3.2 输入三角形的三边长,求三角形的面积(三角形 任意二边大于第三边)。 函数: #include “math.h” /*宏定义*/ 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

12、=%7.2f,c=%7.2f,s=%7.2fn” ,a,b,c,s); printf(“area=%7.2fn”,area); 运行结果: 3,4,6 a=3.00,b=4.00,c=6.00,s=6.50 area=5.33 13 例3.3 求一元二次方程根的标准式 x 的值。 分析: a*x2+b*x+c=0 若(b2-4*a*c0) 有两个不相等的实根 x1=-b+sqrt(b*b-4*a*c)/2*a x2=-b-sqrt(b*b-4*a*c)/2*a 函数: #include “math.h” /*宏定义*/ main() float a,b,c,d,x1,x2,p,q; scanf

13、(“a=%f,b=%f,c=%f”,&a,&b,&c); d= b*b-4*a*c; p=-b/(2*a);q=sqrt(d)/(2*a); x1=p+q;x2=p-q; printf(“nnx1=%5.2fn”,x1); printf(“nx2=%5.2fn”,x2); 运行结果: a=1,b=3,c=2 x1=-1.00 x2=-2.00143.4 复合语句和空语句一、复合语句(语句块) 定义:复合语句是用花括号“ ”括起来的语句。 格式:语句1;语句2;语句3;;语句n 例如:a=1;b=2;b*=a;printf(“%dn”,b); 二、空语句 在 C 程序中空语句是允许的,它在程序执行过程中不产生任何动作,只是表示存在一条语句。 例如:dump() ; 或 15 3.5 习 题 一、上机输入以下程序,对程序中错误之处做相应修改。 main double a,b,c,s,v; printf(input a,b,c:n); scanf(“%d%d%d,a,b,c); s=a*b; v=a*b*c; printf(“%d %d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论