《简单程序设计》PPT课件

上传人:san****019 文档编号:20672994 上传时间:2021-04-12 格式:PPT 页数:34 大小:713.50KB
收藏 版权申诉 举报 下载
《简单程序设计》PPT课件_第1页
第1页 / 共34页
《简单程序设计》PPT课件_第2页
第2页 / 共34页
《简单程序设计》PPT课件_第3页
第3页 / 共34页
资源描述:

《《简单程序设计》PPT课件》由会员分享,可在线阅读,更多相关《《简单程序设计》PPT课件(34页珍藏版)》请在装配图网上搜索。

1、上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 1 主讲: 何希平 Prof. scanf(%d%d, temp=a; a=b; b=temp; printf(%d,%d,a,b); 输入: 14 8 输出 8, 14 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 5 C语言的语句可分为以下四类: 简单语句(包括输入 /输出函数) 空语句 复合语句 流程控制语句。 3.1 C语言的基本语句 本章将介绍前三种语句。 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 6 3.1.1 简单语句 1. 表达式语句 : 由一个表达式加上一

2、个分号构成。 如: A+; x=1; p+=q*4+5; y=42?6:1; 2. 空语句 : 由一个分号表示,一般形式为: ; 空语句在语法上是一条语句,但执行时不 做任何操作。 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 7 C 语言有丰富的标准函数库 , 可提供各类函 数供用户调用 , 完成预先设定好的操作 . 例如调用标准库函数求数学函数值: sin(x) 、 cos(x) 、 exp(x) (求 ex ) 、 fabs(x) (求 x的绝对值 )、 log(x)等 。 3. 函数调用语句 : 由函数调用表达式加分号构成 . 如: printf(%d,a);

3、scanf(%f, 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 8 调用标准库函数要注意: 在程序中要包含相应的 头文件 例如: #include #include 调用规则 : 函数名 (参数表 ) 例如: y=sin(1.7); x=pow(3,18);(指数函数, x的 y次幂 p358) 函数 调用 的 实质 : 在调用点转去执行一段预先设计好的程序 ,求出 结果后返回调用点。 图例 函数的值又叫函数的返回值。 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 9 调用函数 A 函数 A 执 行 函 数 A 函数执行结束 继续执 行剩余 的

4、语句 主函数 main() end 例 : int max(int x,int y) int z; z=xy?x:y; return(z); main() int a,b; scanf(%d%d, printf(n%dn,max(a,b); 函数调用语句 在主函数中,可以如使用简单变量一样使用 max,类型为 int型,内有值。若输入 3 4 ,则 max中的值为 4。 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 10 如 : 数学表达式 y=|3sinx+4cosx|+ex ,可以用 C 语言表达式表示为: 其中, fabs,sin,cos,exp都属于头文件 ma

5、th.h,用 到这些函数,必须在程序的预处理语句中用 #include把数学函数库包含进来。 y=fabs(3*sin(x)+4*cos(x)+exp(x); 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 11 3.1.2 复合语句 语句 1; 语句 n; 用一对花括号,把若干条语句括起来,就形 成了一条复合语句。形式如下: 花括号中的语句,可以是简单语句、空语句、复合语句、 流程控制语句,所有这些语句括在一起,在语法上看成是一条 语句,执行时顺序执行花括号中的每条语句。复合语句多用于 流程控制语句中。 上一页 下一页 2021年 4月 12日星期一 1时 29分 26

6、秒 12 3.2 数据输入与输出 格式 : putchar( c ) 参数 : c为字符常量、变量或表达式 功能 :把字符 c输出到显示器上 返值 :正常,为显示的代码值;出错,为 EOF(-1) C语言无 I/O语句, I/O操作由函数实现 #include 3.2.1 数据输出 字符输出函数 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 13 #include void main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a); getch(); 运行结果: A B 例 上一页 下一页 2

7、021年 4月 12日星期一 1时 29分 26秒 14 格式: printf(格式控制串 ,输出表 ) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字节数;出错,返回 EOF(-1) 格式输出函数 输出表 :要输出的数据(可以没有,多个时以 ,分隔) 格式控制串 :包含两种信息 格式说明: %修饰符 格式字符 ,用于指定 输出格式 普通字符或转义序列:原样输出 格式字符 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 15 d,i x,X o u c s e,E f g % 格式字符: 十六进制无符号整数 不带符号十进制整数 十进制整数 指数形式浮点小数 单一

8、字符 字符串 八进制无符号整数 小数形式浮点小数 e和 f中较短一种 百分号本身 int 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(%); 567 ff 101 567 A ABC

9、5.677890e+02 567.789000 567.789 % 说明 格式字符要用小写 格式字符与输出项个数应相同,按先后顺序一一对应 输出转换 :格式字符与输出项类型不一致 ,自动按指定格式输出 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 16 例 main() unsigned int u=65535; printf(u=%dn,u); 输出结果: u=-1 例 int a=3,b=4; printf(%d %dn,a,b); printf(a=%d , b=%dn,a,b); 例 int a=3,b=4; printf(%d %dn,a,b); printf

10、(a=%d , b=%dn,a,b); 输出结果 : 3 4 a=3, b=4 11 11 11 11 11 11 11 11 65535 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 17 附加格式说明符(修饰符) .n 对实数 ,指定小数点后位数 (四舍五入 ) 对字符串 ,指定实际输出位数 修饰符 功 能 m 输出数据域宽 ,数据长度 m,左补空格 ;否则按实际输出 输出数据在域内左对齐(缺省右对齐 ) - 指定在有符号数 的正数前显示正号 (+) + 输出数值时指定左面不使用的空位置自动填 0 0 在八进制和十六进制数前显示前导 0, 0 x # 在 d,o,x

11、,u前,指定输出精度为 long型 在 e,f,g前,指定输出精度为 double型 l 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 18 例 int a=1234; float f=123.456; char ch=a; printf(%8d,%2dn,a,a); printf(%f,%8f,%8.1f,%.2f,%.2en,f,f,f,f,f); printf(%3cn,ch); 运行 1234,1234 结果: 123.456000,123.456000, 123.5,123.46,1.23e+02 a 例 static char a=Hello,world!

12、printf(%sn%15sn%10.5sn%2.5sn%.3sn,a,a,a,a,a); 运行结果: Hello,world! Hello,world! Hello Hello Hel 例 m.n 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 19 例 int a=1234; float f=123.456; static char c=Hello,world!; printf(%8d,%-8dn,a,a); printf(%10.2f,%-10.1fn,f,f); printf(%10.5s,%-10.3sn,c,c); 运行结果: 1234, 1234 123.4

13、6,123.5 Hello,Hel 例 - 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 20 例 int a=1234; float f=123.456; printf(%08dn,a); printf(%010.2fn,f); printf(%0+8dn,a); printf(0+10.2fn,f); 例 0 、 + 例 int a=123; printf(%o,%#o,%X,%#Xn,a,a,a,a); 例 # 例 long a=65536; printf(%d,%8ldn,a, a); 例 l 00 00 00 00 00 00 00 01 00 00 00 0

14、0 00 00 00 00 /00001234 /0000123.46 /000+1234 /000+123.56 /173,0173,7B,0X7B /0, 65536 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 21 格式 :getchar( ) 功能:从键盘读一字符 返值:正常,返回读取的代码值;出错 ,返回 EOF(-1) 3.2.2 数据输入 字符输入函数 例 #include main() int c; printf(Enter a character:); c=getchar(); printf(%c-hex%xn,c,c); 运行结果: Enter a

15、 character:A A-hex41 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 22 格式输入函数 格式 : scanf(格式控制串 ,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中 ,并按回车键结束 返值:正常,返回输入数据个数 地址表:变量的地址,常用取地址运算符 输入: 10 则 a=10 例 scanf(%x, 输入: 11 则 a=17 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 23 附加格式说明符(修饰符) l 修饰符 功 能 h m * 用于 d,o,x前,指定输入为 short型整数 用于 d,

16、o,x前,指定输入为 long型整数 用于 e,f前,指定输入为 double型实数 指定输入数据宽度,遇空格或不可转换字符则结束 抑制符,指定输入项读入后不赋给变量 例 scanf(%4d%2d%2d, 输入 19991015 则 1999yy, 10 mm, 15 dd 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 24 例 scanf(%3d%*4d%f, 输入 12345678765.43 则 123k, 8765.43f 例 scanf(%2d %*3d %2d, 输入 12 345 67 则 12a, 67b 例 scanf(%3c%2c, 输入 abcde

17、 则 ac1, d c2 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 25 输入分隔符的指定 一般以空格、 TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符 例 scanf(%d%o%x, printf(a=%d,b=%d,c=%dn,a,b,c); 输入 123 123 123 输出 a=123,b=83,c=291 例 scanf(%d:%d:%d, 输入 12:30:45 则 12 h, 30 m, 45 s 例 scanf(%d,%d, 输入 3,4 则 3a, 4 b 例 scanf(a=%d,b=%d,c=%d, 输入 a=12,b=2

18、4,c=36 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 26 说明: 用 %c格式符时,空格和转义字符作为有效字符输入 如 scanf(%c%c%c, 若输入 a b c 则 ac1, c2, b c3 输入数据时,遇以下情况认为该数据结束: 遇空格、 TAB、 或回车 遇宽度结束 遇非法输入 如 scanf(%d%c%f, 若输入 1234a123o.26 则 1234 a, a b, 123 c 输入函数留下的 垃圾 : 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 27 如 scanf(%d%c%f, 若输入 1234a123o.26

19、则 1234 a, a b, 123 c 例 int x; char ch; scanf(%d, ch=getchar(); printf(x=%d,ch=%dn,x,ch); 执行: 123 输出: x=123,ch=10 例 int x; char ch; scanf(%d, scanf(%c, printf(x=%d,ch=%dn,x,ch); 执行: 123 输出: x=123,ch=10 解决方法: ( 1)用 getchar()清除 ( 2)用函数 fflush(stdin)清 除全部剩余内容 (3) 用格式串中空格或 %*c来 吃掉 例 int x; char ch; scanf

20、(%d, scanf( %c, 或 scanf(%*c%c, 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 28 例 3.1 输入圆的半径 , 输出圆的周长和面积 。 分析: 1.定义实型变量 r、 l、 s用于存放半径、周长、 面积; 2.调用输入函数,输入 r: 3.分别利用周长公式和面积公式求出 l、 s; 4.调用输出函数输出 l、 s。 3.3 程序举例 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 29 程序: #include main() float r, l, s; scanf( %f , scanf(%f,%f,%f, s=1

21、.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.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 文件包含预处理命令 变量定义 输入数据 输出数据 例 3.2 输入三角形边长,求面积 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 31 分析: 1.输入小写字母存入变量 a; 2.转换成大写 a = a-32

22、; 3.输出 a. 例 3.3 从键盘输入一个小写字母,用 大写形式输出该字母。 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 32 #include stdio.h void main() char a; 程序: 思考:如何使程序可以处理任何字符的输入。即判断输入的 是小写字母,才转换成大写;如果输入的其他字符,则直接 输出。 printf(Input a lowercase letter: ); a = getchar(); a = a-32; printf(%c n, a); a=a=a 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 33 #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); x1=p+q; x2=p-q; printf(nnx1=%5.2fnx2=%5.2fn,x1,x2); 输入: a=1,b=3,c=2 输出: x1=-1.00 x2=-2.00 上一页 下一页 2021年 4月 12日星期一 1时 29分 26秒 34 再见! 同学们:

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!