第四章 c语言-第四章

上传人:aa****6 文档编号:51208170 上传时间:2018-08-12 格式:PPT 页数:53 大小:211KB
返回 下载 相关 举报
第四章 c语言-第四章_第1页
第1页 / 共53页
第四章 c语言-第四章_第2页
第2页 / 共53页
第四章 c语言-第四章_第3页
第3页 / 共53页
第四章 c语言-第四章_第4页
第4页 / 共53页
第四章 c语言-第四章_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第四章 c语言-第四章》由会员分享,可在线阅读,更多相关《第四章 c语言-第四章(53页珍藏版)》请在金锄头文库上搜索。

1、语言程序设计第四章 最简单的C程序设计 顺序程序设计2004一、C语句概述案例 已知圆半径radius=1.5,求圆周长和圆面积。#include #define Pi= 3.1415926main()float radius,length,area;radius=1.5;length=2*Pi*radius; /*求圆周长*/area=Pi*radius*radius; /*求圆面积*/printf(“radius=%fn”,radius); /*输出圆半径*/printf(“length=%7.2f,area=%7.2fn”,length,area); /*输出圆周长、面积*/预处理命令全

2、局变量函数C语言提供的语句分五大类: (1)控制语句,完成控制功能 if( ) else 条件 for ( ) 循环 while ( ) 循环 do while ( ) 循环 continue 结束本次循环 break 中止switch 或循环 switch 多分支选择 goto 转向 return 从函数返回(2)函数调用语句 函数名(参数); 如:printf (“This is a C program.n”); max(a,b); (3)表达式语句 在表达式后加 “ ;” 构成 a=6 a=5 ; 如 i=i+2 是表达式 而 i=i+2; 是表达式语句x+y x+y ; (4)空语句

3、; 无任何操作,但合法,可用于循环中的转折(5)复合语句 用 将若干语句括起来而构成的语句。 如:if (xy) 与 if (xy) 意义不同z=x; z=x; x+; x+; y-; y-; 二、赋值语句由赋值表达式与 “;” 组成。 形式:变量=表达式; 功能:计算表达式的值,然后赋给左边的变量。说明: 1.赋值号与数学上的等号意义不同,如 x=x+2; 2.在C语言中,赋值号作为赋值运算符使用,具有计算 的功能。 3.赋值表达式可以包含在其它表达式之中。 如:if ( (a=b) 0) t=a ; 但赋值语赋值语 句不能包含在条件表达式中,如:if (a=b;)0) t=a ; 三、数据

4、输入输出(1)输入输出:相对主机而言的 输入设备:键盘、扫描仪、磁盘、光盘等 输输出设备设备 :显显示器、打印机、磁盘盘等。 (2)本身不提供I/O语句: I/O操作通过函数实现,标准函数库中提供了一些I/O 函数,如printf,scanf等,它们不是的关键字,而是 函数名。 好处是:使编译系统简化、通用性强、可移植性好。C函数库库提供的一些标标准/ 函数是以终终端设备为设备为 I/O 对对象的,如:putchar, getchar, printf, scanf, puts, gets。 (3)使用库函数时: 用预编译命令#include将有关头文件包含到用户源文件 中,在头文件中包含了与用

5、到的函数有关的信息,如使 用输入输出函数时要用到stdio.h文件。 #include放在程序开头 如#include “stdio.h” 或#include 注意:区别#include语句中用m时,按实际长度输出 当串长m时,按串实际长度输出, 当串长m时时,m自动动取n值值, m只能是整常量,而不能 是变变量或表达式。 main( )printf (“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”,“CHINA”, “CHINA”, “CHINA” ); 运行结果: CHINA, _ _ _ _ _CH, CHIN,CHI_ _ (7) f格式符:输出单、双精度实数 %f

6、:单精度浮点输出,有效位7位,通常小数点后有6位 数字。 %lf:双精度浮点输输出,有效位16位,通常小数点后有6 位数字。 例,输出双精度有效位 main( )float x1,y1;double x2,y2; x1=1111111111111.111111111; y1=2222222222222.222222222; x2=1111111111111.111111111; y2=2222222222222.222222222; printf (“x1+y1=%fnx2+y2=%lfn”,x1+y1,x2+y2); 运行结果: x1+y1=3333333319680.000000 x2+y

7、2=3333333333333.333010 %m. nf :输出数据共占m列,其中小数占n位,当数据 长度数据长度,数据靠右输出,左端补空格 %-m.ne:m为输出数据的列数,n是小数的位数. m数据长度,数据靠左输出,右端补空格 在Tc中的 n:指在e左边的数字个数,不包括小数点.在不同的C系统中输出结果可能不同书中例子指小数位数(9)g格式符,用来输出实数 根据数据的大小,自动选动选 取e,f 格式中占位数较较少的 一种格式输输出。 (10)print 函数的使用说明: 格式符用小写字母而不能用大写字母,如%d而不是%D。 格式控制的字符串中可包含转义字符,如:n,t, b,r, 377

8、, x41 由%和格式字符d, f, e, g, u, c, s, o, x构成格式 输出符号 特殊字符:%和 的输输出,如下所示: main( ) printf (“ ,%, “n”); printf (“%f% n”,1.0/3); 输出: ,% ,“ 0.333333%定义义数据类类型与格式符说说明要一致,否则则将输输出错误错误 结结果。 1、一般形式 scanf(格式控制,地址表列) (1)格式控制:是字符串,内容有: 格式说明:由%和格式字符 d, f, e, c, s, o, x中之一 组成。 普通字符:需原样输入的字符 转义字符: n, t 用来实现换行和制表输入 (2)地址表列

9、:变量名前加 scanf (“%3d%3d”, printf (“a=%d,b=%dn”,a,b); 输入:123456789 输输出:a=123,b=456 (2)字符型数据若指出n位宽宽度,则则只将第一个字符赋给变赋给变 量。 main( ) char ch; scanf (“%3c”, printf (“%cn”,ch); 输入:abcd 输输出:a (3)%后加*, 表示跳过过相应应数据 例 main( ) int a,b; scanf (“%2d %*3d %2d”, printf (“a=%d,b=%dn”,a,b); 输入:12_345_678 输输出:a=12,b=67 (4)

10、格式说说明中不能规规定精度,编译虽编译虽 不指出错误错误 ,但结结 果不对对。 main( ) float a; scanf (“%6.2f”, printf (“a=%fn”,a); TC: 输入:系统通过,不让输入数据 输输出:a=0.000000 (5)o, x格式输输入main ( ) int a,b,c; scanf (“%o%x%c”, printf (“%d, %d, %dn”,a,b,c); 输入:12 12 12 输输出:10,18,49 3、使用sacnf 函数应注意的问题 (1)、sacnf()中的变变量必须须使用地址。int a, b;scanf(“%d,%d“,a,b

11、); scanf(“%d,%d“,(2)、scanf()的“格式控制中”,可以使用其它字符,但在 输入时必须输入这些相同的字符。 scanf(“%d,%d“, 输入: 3,4 (逗号与“%d,%d“中的逗号对应)scanf(“%d%d“,输入:34 (两个或以上空格)scanf(“%d:%d:%d“,输入: 12:23:36 (与格式控制中的冒号对应)scanf(“a=%d,b=%d,c=%d“,输入:a=12,b=24,c=36 (a=,b=,c=及逗号与格式控制 相对应)在用“%c“输输入时时,空格和“转义转义 字符”均作为为有效字符。 例、scanf(“%c%c%c“,输入:abc结果:

12、ac1,c2,bc3 (其余被丢弃)(4)、输输入数据时时,遇以下情况结结束一个数据的输输入:( 不是结结束该该scanf函数,scanf函数仅仅在每一个数据域均 有数据,并按回车车后结结束)。 遇空格、“回车车”、“跳格”键键。 遇宽宽度结结束。 遇非法输入。 六、程序举例 例 输输入三角形的三边长边长 ,计计算其面积积。 设设三边长边长 a、b、c,面积积area的算法是: 求平方根函数sqrt()在math.h中定义义。求平方根函数sqrt()在math.h中定义。运行情况如下:3,4,6 a= 3.00, b= 4.00, c=6.00 area = 5.33#include “mat

13、h.h“ main() float a,b,c,s,area;scanf(“%f,%f,%f“,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.2fn“,a,b,c);printf(“area = %7.2fn“,area); #include #include main()float a,b,c,disc,x1,x2,p,q;scanf(“a=%f,b=%f,c=%f“,disc = b*b - 4*a*c; p = -b/(2*a); q = sqrt(disc)/(2*a);

14、x1 = p + q; x2 = p - q;printf(“nnx1=%5.2fnx2=%5.2fn“,x1,x2); 例分析:华氏温度(F)与摄氏温度(c)之间的关系由 公式:c5/9(F-32)确定. 分析: 所需的变量:华氏温度f 数据类型:float f;摄氏温度c 数据类型:float c;表达式: c=5/9*(f-32)程序执行过程:1、输入f2、计算c3、输出c 由此不难直接写出以下程序:main()float f,c;Printf(”Fahrenheit temperature:nf=“)scanf(“%f“,f);c(5.0/9.0)*(f一32);printf(“Celsius trmperature:n c=%.2fn“,c“);运行结果;Fanrenhett temperature:f98.5Celsius temperature:C3694 例 输出两个整型变量交换前后的值。 分析:所需的变量:整型变量a int a整型变量b int b中间变量temp int temp /用来两个值交换时作临时保存用算法: 1、先把a的值保存到: temp=a 2、把b的值赋给a : a=b; 3、把temp中保存的a值给b: b=temp;mai

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号