《程序设计5.ppt》由会员分享,可在线阅读,更多相关《程序设计5.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计 姬波姬波引入:引入:C的功能的功能数学计算数学计算逻辑问题逻辑问题界面设计界面设计图形程序图形程序游戏程序游戏程序等等2数学计算数学计算q求求axax2 2+bx+c=0+bx+c=0方程的根,方程的根,a,a,b,cb,c 由键盘键入由键盘键入 设设b b2 2-4ac0-4ac01,8,2x1=-0.26x2=-7.74共共9行行#include math.hmain()float a,b,c,disc,x1,x2,p,q;scanf(%f,%f,%f,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);
2、x1=p+q;x2=p-q;printf(nx1=%5.2fnx2=%5.2fn,x1,x2);3逻辑问题逻辑问题中国有句俗语叫中国有句俗语叫“三天打鱼两天晒网三天打鱼两天晒网”。某人从某人从1990年年1月月1日起开始日起开始“三天打鱼两三天打鱼两天晒网天晒网”,问这个人在以后的某一天中是,问这个人在以后的某一天中是“打鱼打鱼”还是还是“晒网晒网”。1)1)计算从计算从19901990年年1 1月月1 1日开始至指定日期共有多少天;日开始至指定日期共有多少天;2)2)由于由于“打鱼打鱼”和和“晒网晒网”的周期为的周期为5 5天,将计算出天,将计算出的天数用的天数用5 5去除;去除;3)3)根
3、据余数判断他是在根据余数判断他是在“打鱼打鱼”还是在还是在“晒网晒网”;若若 余数为余数为1 1,2 2,3 3,则他是在,则他是在“打鱼打鱼”;否则否则 是是在在“晒网晒网”在这三步中,关键是第一步。求从在这三步中,关键是第一步。求从19901990年年1 1月月1 1日至指定日期有多少天日至指定日期有多少天4#includestruct date int year;int month;int day;void main()struct date today,term;int yearday,year,day;printf(Enter year/month/day:);scanf(%d%d%
4、d,&today.year,&today.month,&today.day);/*输入日期输入日期*/term.month=12;/*设置变量的初始值:月设置变量的初始值:月*/term.day=31;/*设置变量的初始值:日设置变量的初始值:日*/for(yearday=0,year=1990;year0&day4)printf(he was fishing at that day.n);/*打印结果打印结果*/else printf(He was sleeping at that day.n);阅读英文,猜测含义阅读英文,猜测含义5int days(struct date day)stat
5、ic int day_tab213=0,31,28,31,30,31,30,31,31,30,31,30,31,/*平均每月的天数平均每月的天数*/0,31,29,31,30,31,30,31,31,30,31,30,31,;int i,lp;lp=day.year%4=0&day.year%100!=0|day.year%400=0;/*判定判定year为闰年还是平年,为闰年还是平年,lp=0为平年,非为平年,非0为闰年为闰年*/for(i=1;iday.month;i+)/*计算本年中自计算本年中自1月月1日起的天数日起的天数*/day.day+=day_tablpi;return day
6、.day;共共38行行试试今天是打鱼还是晒网?试试今天是打鱼还是晒网?6界面设计界面设计一个模仿一个模仿TC2.0的的DOS界面界面interface.c共共141行行菜单设计是顾义的活菜单设计是顾义的活菜单设计是程序员的第菜单设计是程序员的第1件事件事GUI7图形程序图形程序TC2.0自带的图形自带的图形Demo程序程序bgidemo.c很短的很短的C图形程序图形程序 graph.c共共1401行行共共20行行本课程没有专门讨论图形问题本课程没有专门讨论图形问题8游戏程序游戏程序推箱子游戏推箱子游戏游戏演示游戏演示C完成的简单的完成的简单的 boxman.c共共502行行9程序用数组程序用数
7、组map来保存地图,数来保存地图,数组元素如果为空组元素如果为空格则表示什么也格则表示什么也没有,没有,b表示表示箱子,箱子,#表示表示墙壁,墙壁,*表示表示目的地,目的地,i表表示箱子在目的地。示箱子在目的地。char map1010=,#,#,#b#,#,#*#,#b *#,#b *#,#,;游戏地图游戏地图10接受一个方接受一个方向键后向键后判断人前面判断人前面一格的状态一格的状态空地或目空地或目的地?的地?直接移动直接移动墙壁?墙壁?不可移动不可移动箱子或目箱子或目的地上的的地上的箱子?箱子?继续判断箱继续判断箱子的前面一子的前面一格的状态格的状态是否为空地是否为空地或目的地?或目的地
8、?是是推箱子推箱子否否不可移动不可移动11绪绪 论论学习目的学习目的学习内容学习内容学习方法学习方法参考书参考书12学习目的学习目的熟练掌握熟练掌握C语言的各种词法单位、数据类型、语言的各种词法单位、数据类型、语句、函数等内容语句、函数等内容掌握基本的结构化程序设计方法掌握基本的结构化程序设计方法通过程序设计解决实际问题通过程序设计解决实际问题为以后的后继课程奠定坚实的基础为以后的后继课程奠定坚实的基础13学习方法学习方法进行程序设计的基本训练,不要求立即写出大型进行程序设计的基本训练,不要求立即写出大型程序程序精力放在最基本的最常用的内容上,开始不必在精力放在最基本的最常用的内容上,开始不必
9、在一个细节上死背死抠,在有一定的基础后再深入一个细节上死背死抠,在有一定的基础后再深入到一些常见的细节,有一些细节是需要通过较长到一些常见的细节,有一些细节是需要通过较长的时间才掌握的的时间才掌握的初学时切忌滥用初学时切忌滥用C的某些容易引起错误的细节的某些容易引起错误的细节学学习习程程序序设设计计一一定定要要活活学学活活用用,不不要要死死学学不不会会用用,要要举举一一反反三三,在在以以后后需需要要时时能能很很快快掌掌握握一一种种新新的的语言语言 14参考书参考书书名:C程序设计语言(第二版)译者:徐宝文,机械工业出版社,2001原名:TheCProgrammingLanguage,Secon
10、dEdition作者:B.W.Kernighan,D.M.Ritchie,PrenticeHall,1988书名:从问题到程序程序设计与C语言引论作者:裘宗燕,北京大学出版社,1999书名:C 语言参考手册译者:邱仲潘,机械工业出版社,2003原名:C:AReferenceManual,FifthEdition作者:SamuelP.Harbison,GuyL.Steele,PearsonEducation,200015书名:C程序设计教程程序设计教程译者:薛万鹏,机械工业出版社,2000原名:CHowToProgramSecondEdition作者:H.M.DeitelP.J.Deitel书名
11、:C C 语言解析教程语言解析教程译者:麻志毅,机械工业出版社,2002原书名:CbyDissectionTheEssentialsofCProgrammingFourthEdition作者:Al Kelley Ira Pohl,Addison-Wesley,2001书名:代码阅读方法与实践代码阅读方法与实践译者:赵学良,清华大学出版社,2004原名:CodeReading:TheOpenSourcePerspective作者:Diomidis Spinellis,Addison-Wesley,200316书名:C专家编程译者:徐波,人民邮电出版社,2002原名:ExpertCProgramming作者:PerterVanDerLinDen,PHPTR书名:程序设计实践译者:裘宗燕,机械工业出版社,2000原名:ThePracticeOfProgramming作者:B.W.Kernighan,RobPike,AddisonWesley书名:C陷阱与缺陷译者:高巍,人民邮电出版社,2002原名:CTrapsandPitfalls作者:AndrewKoenig,Addison-Wesley,198917B.W.Kernighanhttp:/www.cs.bell- Stroustruphttp:/
限制150内