C语言简单程序设计.ppt

上传人:wuy****n92 文档编号:80439334 上传时间:2023-03-23 格式:PPT 页数:60 大小:232KB
返回 下载 相关 举报
C语言简单程序设计.ppt_第1页
第1页 / 共60页
C语言简单程序设计.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《C语言简单程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言简单程序设计.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第四章1 本章内容本章内容 输入输出函数输入输出函数顺序结构程序设计顺序结构程序设计2C程序的三种基本结构程序的三种基本结构 顺序结构顺序结构 分支结构分支结构 循环结构循环结构ABAB流程图流程图N-S图图PAB真假PBA真假PA假真当P为真A34.1 C语句概述C程序源程序文件1源程序文件2源程序文件n预处理命令函数n函数1数据声明函数首部函数体数据声明执行语句4C C语句分为语句分为5类类控制语句函数调用语句表达式语句空语句复合语句5(一一)控制语句:完成对程序流程的控制控制语句:完成对程序流程的控制。if()else for()while()do while();continue br

2、eak switch()goto return6(二)函数调用语句:函数调用加一分号构成。f1();7(三)表达式语句:表达式加一个分号.1、给变量赋值;、给变量赋值;2、i+;8(四)空语句:只有一个分号的语句.(什么也不做)(什么也不做)如:如:main();9(五)复合语句:用一对 括起来的语句 if(ab)t=a;if (ab)t=b;说明:说明:“”“”后不加分号后不加分号语法上和单一语句相同语法上和单一语句相同复合语句可嵌套复合语句可嵌套10复合语句在什么情况下使用复合语句?条件语句和循环语句在语法上只允许带一条语句条件语句和循环语句在语法上只允许带一条语句当分支和循环中需要进行多

3、项操作时当分支和循环中需要进行多项操作时 t=x;t=x;x=y;x=y;y=t;y=t;被当作一条被当作一条语句来处理语句来处理114.2 字符数据的输入输出12输出输出:从计算机向外部输出设备(显示器,打印机)输出数据输入输入:从输入设备(键盘,鼠标,扫描仪)向计算机 输入数据.在调用标准在调用标准I/OI/O库函数时,文件开头应该有:库函数时,文件开头应该有:#include“stdio.h”或:或:#include 13(一)字符输出函数(一)字符输出函数格式:格式:putcharputchar(参数)(参数)作用:向终端输出一个字符作用:向终端输出一个字符 字符型变量字符型变量整型变

4、量整型变量转义字符转义字符14例例1#include void main()char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar(n);运行结果:运行结果:BOY15(二)字符输入函数(二)字符输入函数格式:格式:getchargetchar()()作用:从终端输入一个字符。作用:从终端输入一个字符。16例例2#include void main()char c;c=getchar();putchar(c);putchar(n);运行:运行:B B174.3 格式输入与输出(一)(一)printf()printf()输出

5、函数输出函数如:printf(“%d,%cn”,i,c);184.3 格式输入与输出(一)(一)printf()printf()输出函数输出函数格式:格式:printfprintf(格式控制,参数(格式控制,参数1 1,参数,参数2 2,)作用:将参数作用:将参数1 1,2 2 按格式控制的格式输出。按格式控制的格式输出。用用“”“”括起来的字符:格式字符、转义字符和普括起来的字符:格式字符、转义字符和普通字符。通字符。19格式:格式:printfprintf(格式控制,参数(格式控制,参数1 1,参数,参数2 2,)作用:将参数作用:将参数1 1,2 2 按格式控制的格式输出。按格式控制的格

6、式输出。格式说明:由格式说明:由%字符开始的。它的作用是将字符开始的。它的作用是将输出的数据转换为指定的格式输出。输出的数据转换为指定的格式输出。普通字符,即需要原样输出的字符。普通字符,即需要原样输出的字符。转义字符:转义字符:20格式:格式:printf(格式字符,参数(格式字符,参数1,参数,参数2,)作用:将参数作用:将参数1,2 按格式控制的格式输出。按格式控制的格式输出。%d:%d:以带符号的十进制形式输出整数以带符号的十进制形式输出整数%o:%o:以八进制无符号形式输出整数以八进制无符号形式输出整数%x:%x:以十六进制无符号形式输出整数以十六进制无符号形式输出整数To be c

7、ontinuedTo be continued(三版(三版P76P76P82P82)(四版(四版P69 P69 P75)P75)211 1、格式符:用来输出十进制整数、格式符:用来输出十进制整数。:按十进制整型数据的实际长度输出按十进制整型数据的实际长度输出。:为指定的输出字段的宽度。为指定的输出字段的宽度。如果数据的位数小于,则左补空格如果数据的位数小于,则左补空格;若大于,按实际位数输出。若大于,按实际位数输出。l l:输出长整型数据。输出长整型数据。22int a=123,b=12345;printf(%4d,%4d,a,b);long a=135790;printf(%ld,a);23

8、2 2、格式符:以八进制整数形式输出。格式符:以八进制整数形式输出。(符号位作为八进制数的一部分输出)(符号位作为八进制数的一部分输出)%o:%o:按八进制整型数据的实际长度输出。按八进制整型数据的实际长度输出。%lo%lo:长整数以八进制形式输出。长整数以八进制形式输出。%mo%mo:指定宽度指定宽度。%mlo%mlo24例如:int a=-1;printf(“%d,%o”,a,a);-1在内存单元中的存放形式?251 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1printf(“%d,%o”,a,a);注意:注意:不会输出带负号的八进制整数。不会输出带负号的八进制整数。263

9、3、格式符。以十六进制数形式输出整数。、格式符。以十六进制数形式输出整数。(不会出现负的十六进制数)(不会出现负的十六进制数)%x%x:按十六进制数据的实际长度输出。按十六进制数据的实际长度输出。%lx%lx:长整数以十六进制形式输出。长整数以十六进制形式输出。%mx%mx:指定宽度。指定宽度。%mlx%mlx27例如:int a=-1;printf(“%d,%x”,a,a);284 4、%格式符:无符号数以格式符:无符号数以十进制形式十进制形式输出。输出。29例:假设例:假设int型占两个字节型占两个字节 unsigned int a=65535;int b=-2;printf(a=%d,%

10、o,%x,%un,a,a,a,a);printf(b=%d,%o,%x,%un,b,b,b,b);运行结果为:运行结果为:a=-1,177777,ffff,65535 b=-2,177776,fffe,65534 305 5、%格式符:用来输出一个字符。格式符:用来输出一个字符。charc=a;printf(%c,c);也可以指定输出宽度,如也可以指定输出宽度,如printf(“%3c”printf(“%3c”,c)c);316 6、s s格式符格式符 :输出字符串:输出字符串.uu%ms%ms:输出的字符串占:输出的字符串占m m列。列。若串长大于若串长大于m m,则全部输出,则全部输出,若

11、串长小于若串长小于m m,则左补空格。,则左补空格。u%-ms%-ms:若串长小于:若串长小于m m,右补空格。,右补空格。u%m.nsm.ns:输出占:输出占m m列,只取字符串中左端列,只取字符串中左端n n个字符,个字符,左补空格。左补空格。u%-%-m.ns;nm.ns;n个字符输出在个字符输出在m m列的左侧,右补空格。列的左侧,右补空格。32printf(“%s”,“I like to eat cheese”);33例例printf(“%3s,%7.2s,%.4s,%-5.3sn”,“china”,“china”,“china”,“china”);34例例3 写运行结果。写运行结果

12、。#include void main()int a=3,b=4;int d=-1 ;char c=A;unsigned u=65535;long n=1234567;printf(“%d,%4dn”,a,b);printf(“%d,%o,%xn”,d,d,d);printf(“n=%8ld,%d”,n,u);printf(“%c,%s,%5.3sn”,c,”computer”,”computer”);假设假设intint型占型占2 2个字节个字节357 7、格式符:用来以小数形式输出实数。、格式符:用来以小数形式输出实数。输出位小数的实数。输出位小数的实数。应当注意,在输出的数字中并非全部数

13、字都是有效数字。应当注意,在输出的数字中并非全部数字都是有效数字。float float为为7 7位有效数,位有效数,double 16double 16位有效数。位有效数。.。输出的数据占列,其中有位小数。输出的数据占列,其中有位小数。如果若实数长度小于,则左补空格。如果若实数长度小于,则左补空格。.。同上,若实数长度。同上,若实数长度m,m,则右补空格则右补空格 36#include void main()float x,y;x=111111111;y=222222222;printf(%f,x+y);运行结果为运行结果为333333328125 37#include void main(

14、)double x,y;y=2222222222222.222222222;printf(%f,x+y);输出结果为输出结果为3333333333333.3330103333333333333.333010 388 8、格式符、格式符:以指数形式输出实数。例例:printf(“%e”,123.456);printf(“%e”,123.456);输出:输出:6 6列列 5 5列列所输出的实数共占所输出的实数共占列列宽度。宽度。(注:不同系统的规定略有不同注:不同系统的规定略有不同)39 m.nem.ne和和-m.ne-m.ne。m m指整个指数形式的长度,指指整个指数形式的长度,指e e前的小数

15、位数。前的小数位数。8 8、格式符:以指数形式输出实数。、格式符:以指数形式输出实数。40 9 9、格式符:用来输出实数、格式符:用来输出实数.(不常用不常用)它根据数值的大小,自动选格式或格式它根据数值的大小,自动选格式或格式(选择输出时占宽度较小的一种),且不输出(选择输出时占宽度较小的一种),且不输出 无意义的零。无意义的零。41例例4 写运行结果。写运行结果。#include void main()float x,y;x=67.8546;y=-789.124;printf(“%f,%-10f,%8.2f,%.4f,%3fn”,y,x,y,x,x);printf(“%e,%10.2en”

16、,x,y);-789.124000,67.854600 ,-789.12,67.8546,67.8546006.785460e+001,-789.12e+00242 练习练习1 1 读程序,写结果。读程序,写结果。#include void main()int a,b,c,k;float x=214.83632;char ch=a;a=-3;b=8765;c=12;k=-1;printf(%dn,a);printf(%d,%un,k,k);printf(|%-06d|n,b);printf(%4.2fn,x);printf(k=%dn,c);printf(%x,%on,ch,ch);运行结果为

17、:运行结果为:-3-3-1,65535-1,65535|8765|8765|214.84214.84k=%dk=%d61,14161,141假设假设intint型占型占2 2个字节个字节如果想输出字符如果想输出字符“%”“%”,则,则在在“格式控制格式控制”字符串中字符串中用连续两个用连续两个%表示表示43 练习练习2 2 读程序,写结果。读程序,写结果。#include void main()int k=017,g=111,a=4,b=7,m=7,n=4;float x=38.4,y=6.4,z;char c=a;c-;z=m/2+n*x/y+1/2;printf(%dn%xn,+k,g+)

18、;printf(%dn,(a=a+1,b+a,b+1);printf(%dn,a=a+1,b+a,b+1);printf(%d,%cn,c+2-0,c+9-6);printf(%fn,z);运行结果为:运行结果为:16166f6f8 86 698,c98,c27.00000027.00000044(二)(二)scanf()scanf()格式输入函数格式输入函数格式:格式:scanfscanf(格式控制,变量地址(格式控制,变量地址1 1,变量地址,变量地址2 2,)作用:按照变量在内存的地址将变量值存进去。作用:按照变量在内存的地址将变量值存进去。同同printfprintf函数函数,输入数据

19、不能有精度输入数据不能有精度&变量名变量名45常见错误常见错误scanf(%d,%fn”,&a,&b);scanf(%d,%f”,a,b);scanf(%7.2f,&a);46例例5 5 用用scanfscanf函数输入数据。函数输入数据。#includevoid main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%dn”,a,b,c);(1)3 4 5(2)3(3)4(4)5分隔符不能用,分隔符不能用,47例例5 5 用用scanfscanf函数输入数据。函数输入数据。#includevoid main()int a,b,c;sca

20、nf(“%d,%d,%d”,&a,&b,&c);printf(“%d,%d,%dn”,a,b,c);3 ,4,5分隔符只能用,分隔符只能用,48例例5 5 用用scanfscanf函数输入数据。函数输入数据。#includevoid main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%dn”,a,b,c);3 4 5分隔符只能用空格分隔符只能用空格49例例5 5 用用scanfscanf函数输入数据。函数输入数据。#includevoid main()int a,b,c;scanf(“a=%d:b=%d:c=%d”,&a,&b,&c)

21、;printf(“%d,%d,%dn”,a,b,c);a=3:b=4:c=5在格式控制中除了格式符,其它字符原样输出。在格式控制中除了格式符,其它字符原样输出。50说明:输入字符时,不用分隔符说明:输入字符时,不用分隔符scanf(“%c%c%c”,&c1,&c2,&c3);514.4 顺序结构程序设计举例例例6 6 输入三角形的三边长,求三角形面积。输入三角形的三边长,求三角形面积。s=(a+b+c)*0.552开始开始输入三边长输入三边长计算计算s s计算面积计算面积结束结束53#include#includevoid main()float a,b,c,s,area;printf(“pl

22、ease input three edges:n”);scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%10.2fn”,area);54#include#includevoid main()double a,b,c,s,area;printf(“please input three edges:n”);scanf(“%lf,%lf,%lf”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“ar

23、ea=%10.2fn”,area);55例7 从键盘输入一个小写字母,要求改用大写字母输出。从键盘输入一个小写字母,要求改用大写字母输出。#include void main()char c1,c2;c1=getchar();c2=c1-32;printf(“%cn”,c2);56作业作业:四版四版8383页页4 4、6 6、7 757这一章我们学习了字符输入函数字符输入函数getchar()getchar()字符输出函数字符输出函数putchar()putchar()格式输入函数格式输入函数scanf()scanf()格式输出函数格式输出函数printf()printf()格式控制问题格式控制问题难点难点58温馨提示不要拘泥于细节不要死记硬背在使用中慢慢掌握591 1、输入、输入3 3个双精度实数,分别求出它们的个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,和、平均值、平方和以及平方和的开方,并输出所求出各个值。并输出所求出各个值。2 2、输入一个、输入一个3 3位整数,求出该数每个位位整数,求出该数每个位上的数字之和。如上的数字之和。如123123,每个位上的数字,每个位上的数字和就是和就是1+2+3=61+2+3=6。请思考请思考60

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

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁