C语言程序设计第四章课件

上传人:文**** 文档编号:240605365 上传时间:2024-04-24 格式:PPT 页数:50 大小:1.66MB
收藏 版权申诉 举报 下载
C语言程序设计第四章课件_第1页
第1页 / 共50页
C语言程序设计第四章课件_第2页
第2页 / 共50页
C语言程序设计第四章课件_第3页
第3页 / 共50页
资源描述:

《C语言程序设计第四章课件》由会员分享,可在线阅读,更多相关《C语言程序设计第四章课件(50页珍藏版)》请在装配图网上搜索。

1、C语言程序设计 第四讲:简单的C1整体概述THEFIRSTPARTOFTHEOVERALLOVERVIEW,P L E A S E S U M M A R I Z E T H E C O N T E N T第一部分2提纲o字符输入输出函数o格式输入输出函数o顺序结构程序设计34.1 C语言中的语句n变量声明语句ointx,y;n表达式语句oi+;i=i+1;n赋值语句oa=5;n空语句o;n复合语句ot=x;x=y;y=t;n控制语句C语言中最基本的成分是语句44.1 C语言中的语句(Cont.)o复合语句n在什么情况下使用复合语句?o条件语句和循环语句在语法上只允许带一条语句o当分支和循环中

2、需要进行多项操作时 t=x;t=x;x=y;x=y;y=t;y=t;被当作一条语句来处理54.1 C语言中的语句(Cont.)o复合语句举例mainmain()inta=0;inta=1;printf(In:a=%dn,a);printf(Out:a=%dn,a);In:a=1Out:a=064.1 C语言中的语句(Cont.)o空语句n空语句有什么作用?o什么也不做,只表示语句的存在o自顶向下程序设计时用在那些未完成的模块中main()main()DataInitialze();DataInitialze();DataProcess();DataProcess();DataOutput();

3、DataOutput();DataInitialze()DataInitialze();74.2 数据输出main()int x,y;x=5;y=2*x*x+3*x-1;该程序语法上完整,但还缺少输出。84.2 数据输出(Cont.)o注意n在使用C语言的标准输入输出函数时,程序开始应包含预编译命令#includen#include与#include“stdio.h”的区别o#include从系统目录寻找stdio.h文件o#include“stdio.h”从程序目录寻找stdio.h文件94.2 数据输出(Cont.)o单个字符输入输出函数n字符输出函数ooputcharputchar(ch

4、)o输出一个字符chn字符输入函数oogetchargetchar()o无参数o函数值为从输入设备接收的字符#includemain()charcharch;printfprintf(PressakeyandthenpressEnter:);ch=getchargetchar();printfprintf(Youpressed);putcharputchar(ch);putcharputchar(n);PressakeyandthenpressEnter:A Youpressed A104.2 数据输出(Cont.)o格式输出函数n格式输出函数oprintf(格式控制字符串,输出项表列);o输

5、出任意类型、任意格式、任意个数的数据nprintf(a=%db=%f,a,b);函数名输出表列普通字符格式说明“%”后的字符称格式字符,不同格式字符对应不同的数据类型114.2 数据输出(Cont.)oprintf格式字符nd以带符号十进制整数输出no以八进制无符号整数输出(无前导0)nx以十六进制无符号整数输出(无前导0 x)nu以十进制无符号整数输出nc以字符形式输出单个字符ns输出一个字符串nf以小数形式输出浮点数(6位小数)ne以标准指数形式输出(6位小数)ng选用%f,%e中输出宽度较小的一种格式格式字符的类型要与对应的输出对象的类型一致124.2 数据输出(Cont.)od格式符:

6、按十进制整数格式输出n几种用法:o%d不指定宽度,按实际宽度输出o%md按指定宽度输出,m为宽度o%ld用于输出长整型数inta=125,b=453;long c=65535;printf(“a=%d,b=%5d,c=%ld”,a,b,c);输出结果:a=125,b=453,c=65535134.2 数据输出(Cont.)oc格式符:用于输出字符n输出对象既可以是字符变量、字符常量,还可以是整型表达式。inta=100;charb=A;printf(“n%d,%c”,a,a);printf(“n%c,%d,%c”,b,b,A);输出结果:100,dA,65,A144.2 数据输出(Cont.)

7、os格式符:用于输出字符串n%s不指定宽度n%-ms指定宽度,左靠齐n%ms指定宽度,右靠齐n%m.ns指定宽度m,只取左端n个字符,右靠齐n%-m.ns指定宽度m,只取左端n个字符,左靠齐printf(1:%s,abcd);printf(2:%8s,abcd);printf(3:%-8s,abcd);printf(4:%8.3s,abcd);printf(5:%-8.3s,abcd);输出结果为:1:abcd2:abcd3:abcd4:abc5:abc154.2 数据输出(Cont.)of格式符:按小数形式输出实数n%f由系统指定宽度(6位小数)n%m.nf指定宽度m,小数位数n,右靠齐n%

8、-m.nf指定宽度m,小数位数n,左靠齐n注意:宽度包括符号和小数点。floata=3.141592654;floatb=-125.2468;floatc=14.326795;printf(na=%f,b=%-10.2f,c=%8.3f,a,b,c);输出结果:a=3.141593,b=-125.25,c=14.327164.2 数据输出(Cont.)o输出实数时的有效位数#includevoidmain()floatx,y;x=111111.111;y=222222.222;printf(“%fn”,x+y);#includevoidmain()doublex,y;x=111111.111;

9、y=222222.222;printf(“%fn”,x+y);333333.326564333333.333000174.2 数据输出(Cont.)oprintf附加格式说明符nl长整型整数,加在d、o、x、u前nLlongdouble型数,加在f、e、g前nm表示数据占用的最小宽度o数据宽度大于m,按实际宽度输出o数据宽度小于m时,补空格nn对实数表示输出n位小数对字符串表示最多输出的字符个数n-改变输出内容的对齐方式o缺省为右对齐184.2 数据输出(Cont.)#includemain()floatf1=100.15799,f2=12.55,f3=1.7;intn1=123,n2=45,

10、n3=6;printf(printfWITHOUTwidthorprecisionspecifications:n);printf(%fn%fn%fn,f1,f2,f3);printf(%dn%dn%dn,n1,n2,n3);printf(printfWITHwidthandprecisionspecifications:n);printf(%5.2fn%6.1fn%3.0fn,f1,f2,f3);printf(%5dn%6dn%3dnn,n1,n2,n3);printfWITHOUTwidthorprecisionspecifications:100.15799012.5500001.700

11、000123456printfWITHwidthandprecisionspecifications:100.1612.62123456194.2 数据输出-程序设计实例编写程序计算如图中的电流I,并输出到屏幕上.假设U=220,R1=30,R2=60,R3=45UIR1R2R3204.2 数据输出-程序设计实例(Cont.)o算法设计:o程序设计:voidmainvoidmain()I=U/R1+U/R2+U/R3;intU=220,R1=30,R2=60,R3=45;floatI;printf(“nI=%f”,I);I=(float)U/R1+(float)U/R2+(float)U/R3

12、;float214.2 数据输出-程序设计实例(Cont.)o思考:n如何使得上述计算电流的程序通用化?main()intU,R1,R2,R3;floatI;/*输入U,R1,R2,R3*/I=(float)U/R1+(float)U/R2+(float)U/R3;printf(“nI=%f”,I);224.3 数据输入ogetchar函数n作用:用于输入字符#includemain()charc;c=getchargetchar();/*等待键盘输入*/putchar(c);为了给用户提示需要输入数据,一般在输入语句前用printf()输出一条提示语句234.3 数据输入(Cont.)o格式

13、输入函数nscanf(格式控制字符串,地址表列);n用于输入若干任意类型的数据oscanf(%d,%f,&a,&b);非格式字符格式说明地址表列244.3 数据输入(Cont.)o使用scanf函数时注意的问题n地址表列中是变量的地址,不是变量名n输入数据时,在对应位置应输入与这些字符相同的字符n使用”%c”格式输入时,空格字符和转义字符都作为有效字符输入scanf(“%c%c%c”,&c1,&c2,&c3);abcabc254.3 数据输入(Cont.)o格式输入函数(Cont.)n常见错误oscanf(%d,%fn,&a,&b);oscanf(%d,%f,a,b);oscanf(%7.2f

14、,&a);264.3 数据输入(Cont.)oscanf格式字符nd以带符号十进制形式输入整型数据no以八进制无符号形式输入(无前导0)nx以十六进制无符号形式输入(无前导0 x)nc以字符形式输入单个字符ns输入字符串,以非空字符开始,遇第一个空白字符结束nf以小数形式输入浮点数ne以标准指数形式输入274.3 数据输入(Cont.)oscanf附加格式说明符nl加在d、o、x、u前:输入长整型加在f、e前:输入双精度型nL加在f、e前:输入longdouble型nh加在d、o、x前:输入短整型nm表示数据占用的宽度n*本输入项在读入后不赋给相应的变量284.3 数据输入(Cont.)o格式

15、输入函数(Cont.)n输入数据时,遇以下情况时该数据认为结束o遇空格、回车、TAB TAB 键o遇宽度:%3d%3do遇非法输入294.3 数据输入(Cont.)o格式输入函数(Cont.)nscanf(%d%d%d,&a,&b,&c);o执行此函数时,等待从键盘输入三个整数给a,b,co若从键盘输入358o则系统即从键盘缓冲区取出这三个数分别赋给a,b,c注意与printf的区别,注意格式的匹配304.3 数据输入(Cont.)o例:scanf(“%3d%2d%4d”,&a,&b,&c);若从键盘输入123456789a=123,b=45,c=6789若想使a=12,b=5,c=100则键

16、盘输入应为:125100方便的输入格式一般不指定宽度方便的输入格式一般不指定宽度如:scanf(“%d%d%d”,&a,&b,&c);314.3 数据输入(Cont.)o格式输入函数(Cont.)n在键盘输入时,用分隔符把每个数据隔开,标准的分隔符是空格。oscanf(%d%d%d,&a,&b,&c);n如:12315023o若想用逗号作分隔符,则:nscanf(%d,%d,%d,&a,&b,&c);n输入:123,150,23o不要随便使用普通字符,如使用:nscanf(a=%d,b=%d,c=%d,&a,&b,&c);o对应数据输入:na=123,b=150,c=23324.3 数据输入(

17、Cont.)o例:前面计算电流的程序#includemain()intU,R1,R2,R3;floatI;scanf(“%d%d%d%d”,&U,&R1,&R2,&R3);scanf(“%d%d%d%d”,&U,&R1,&R2,&R3);I=(float)U/R1+(float)U/R2+(float)U/R3;printf(“nI=%f”,I);334.3 数据输入(Cont.)o例:#includemain()inta,b;printf(Pleaseinputaandb:);scanf(%2d%*2d%2d,&a,&b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);

18、Pleaseinputaandb:a=12,b=56,a+b=68123456 344.3 数据输入(Cont.)o例:#includemain()inta,b;printf(Pleaseinputaandb:);scanf(%2d%*2d%2d,&a,&b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);Pleaseinputaandb:a=12,b=5,a+b=1712345a 354.3 数据输入(Cont.)o例:#includemain()inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);问题1 1:当要求程序输出结

19、果为a=12,b=34时,用户应该如何输入数据?1234 364.3 数据输入(Cont.)o例:#includemain()inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);问题2 2:当限定用户输入数据以逗号为分隔符,即输入数据格式为:12,34 时,应修改程序中的哪条语句?怎样修改?scanfscanf(%d,%d,&a,&b);(%d,%d,&a,&b);374.3 数据输入(Cont.)o例:#includemain()inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);问题3 3:语句scan

20、f(%d%d,&a,&b);修改为scanf(a=%d,b=%d,&a,&b);时,用户应该如何输入数据?a=12,b=34a=12,b=34 384.3 数据输入(Cont.)o例:#includemain()inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);问题4 4:限定用户输入数据为以下格式为 1234 同时要求程序输出结果为a=12,b=34scanfscanf(%2d%2d,&a,(%2d%2d,&a,&b);&b);394.3 数据输入(Cont.)o例:#includemain()inta,b;scanf(%d%d,&a,&b);p

21、rintf(a=%d,b=%dn,a,b);问题5 5:限定用户输入数据为以下格式为12 34 同时要求程序输出结果为a=12,b=34scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);404.3 数据输入(Cont.)o例:#includemain()inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);问题6 6:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入scanf(%dscanf(%d%*

22、c%*c%d,&a,&b);%d,&a,&b);414.3 数据输入(Cont.)o例:C格式符存在的问题及其解决#includemain()intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%dn,data1,op,data2,data1+data2);Pleaseentertheexpressiondata1+data2Pleaseentertheexpressiondata1+data2 第第1 1次测试次

23、测试12+312+3 121231293129=3141=3141随不同编译器而不同424.3 数据输入(Cont.)o例:C格式符存在的问题及其解决#includemain()intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%dn,data1,op,data2,data1+data2);Pleaseentertheexpressiondata1+data2Pleaseentertheexpressiondat

24、a1+data2 第第2 2次测试次测试123123 123=15123=15434.3 数据输入(Cont.)o例:C格式符存在的问题及其解决#includemain()intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2n);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%dn,data1,op,data2,data1+data2);Pleaseentertheexpressiondata1+data2Pleaseentertheexpressiondata1+

25、data2 第第3 3次测试次测试12+312+3 12+3=1512+3=15444.4 顺序结构程序设计o输入三角形三边的长度,并计算其面积,然后输出到屏幕上。S=?abc454.4 顺序结构程序设计o算法设计n假设:三个边长a,b,c能构成三角形。464.4 顺序结构程序设计o算法流程图输入三边长计算周长C计算面积开始结束47提问与解答环节Questionsandanswers48感谢参与本课程,也感激大家对我们工作的支持与积极的参与。课程后会发放课程满意度评估表,如果对我们课程或者工作有什么建议和意见,也请写在上边结束语49感谢聆听Theusercandemonstrateonaprojectororcomputer,orprintthepresentationandmakeitintoafilm讲师:XXXX日期:20XX.X月50

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