您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第0讲程序设计与C语言
图像处理与模式识别研究室C语言与数据结构基础主讲人:王波Email:hust_wb@hrbust.edu.cn哈尔滨理工大学自动化学院2019年12月20日星期五图像处理与模式识别研究室2教材与参考书籍教材−谭浩强,《C语言程序设计(第四版)》,清华大学出版社,2010−严蔚敏,李冬梅,吴伟民,《数据结构(C语言版)(第2版)》,人民邮电出版社,2015参考书籍–何钦铭,颜晖,《C语言程序设计(第2版)》,高等教育出版社,2013年–[美]霍尔顿(HortonI.)著;杨浩译,《C语言入门经典(第5版)》,清华大学出版社,2013–严蔚敏,吴伟民,《清华大学计算机系列教材:数据结构(C语言版)》,清华大学出版社,2012图像处理与模式识别研究室3学院本科生专业限选课授课形式•总共56学时,(20理论+20翻转+16实验)•5-18周-周二,5-18单周-周四,第三大节,西1-0913;考核方式•平时成绩:30%平时作业10%、实验成绩10%、上课出勤10%•期末成绩:70%授课形式和考核方式图像处理与模式识别研究室4第一部分C语言程序设计•第01讲计算:变量和表达式•第02讲判断:分支结构•第03讲循环•第04讲循环控制•第05讲数据类型和处理•第06讲函数•第07讲数组•第08讲指针初步和字符串第二部分数据结构基础•第09讲线性结构•第10讲非线性结构•第11讲查找和排序课程内容图像处理与模式识别研究室5第0讲程序设计与C语言第一部分C语言程序设计图像处理与模式识别研究室6§0.1计算机与编程语言§0.2C语言§0.3第一个C程序§0.4这一讲的练习本讲内容图像处理与模式识别研究室70.1计算机与编程语言图像处理与模式识别研究室8计算机是生活必需品•如果想要自己设计一些功能和行为,让计算机按照你的意图做事情,就需要写程序了•学习程序设计的目的是通过学习编程,来理解计算机是如何解决问题的,理解计算机的能与不能,擅长与非擅长图像处理与模式识别研究室9计算机如何解决问题“请给我一杯水”1.转身去厨房2.找到一个杯子3.找到一个装有水的水壶4.在杯子中倒入一些水5.拿着杯子走回桌子图像处理与模式识别研究室10计算机语言•程序是用特殊的编程语言写出来,并用它来表达如何解决问题的•不是用编程语言来和计算机交谈,而是描述要求它如何做事情的过程或方法图像处理与模式识别研究室11计算机语言图像处理与模式识别研究室12辗转相除法1.如果v等于0,计算结束,u就是最大公约数;2.如果v不等于0,那么计算u除以v的余数,让u等于v,而v等于那个余数;3.回到第一步。图像处理与模式识别研究室13计算机—程序—算法图像处理与模式识别研究室14算法•我们要让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写出来•计算机做的所有事情都叫做计算•计算的步骤就是算法图像处理与模式识别研究室15计算机思维求解方程:“3*x+6=18”1.解方程2.枚举3.二分搜索4.……图像处理与模式识别研究室16程序的执行•解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行•编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言(机器语言)写的程序,然后,这个机器语言写的程序就能直接执行了图像处理与模式识别研究室17解释语言VS编译语言•语言无解释/编译之分•常用的执行方式而已•解释型语言有特殊的计算能力•编译型语言有确定的运算性能图像处理与模式识别研究室18讨论•计算机里的CPU可以直接运行人类编写的程序吗?为什么说编程语言不是和计算机交谈的语言?图像处理与模式识别研究室190.2C语言图像处理与模式识别研究室20为什么是C?最新的排名在:图像处理与模式识别研究室21为什么是C?图像处理与模式识别研究室22其他语言现代的编程语言在语法上的差异很小•几乎都是C-like语言语言的能力/适用领域主要是由•库和•传统决定的图像处理与模式识别研究室23“itwasthesummerof‘69’”PDP–7图片来源:–11图片来源:语言的发展•C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的•BCPL和B都支持指针间接方式,所以C也支持了•C语言还受到PL/I的影响,还和PDP-II的机器语言有很大的关系•1973年3月,第三版Unix上出现了C语言的编译器•1973年11月,第四版Unix(SystemFour)发布,此版本是完全用C语言重新写的图像处理与模式识别研究室25C的发展与版本—K&R经典C•又被叫做“K&RtheC”•TheCProgrammingLanguage,byBrianKernighanandDennisRitchie,2ndEdition,PrenticeHall图片来源:的发展与版本—标准•1989年,ANSI发布了一个标准——ANSIC•1990年,ISO接受了ANSI的标准——C89•C的标准在1995年和1999年两次更新——C95和C99•所有的当代编译器都支持C99图像处理与模式识别研究室27C语言用在哪里?•操作系统•嵌入式系统•驱动程序•底层驱动图形引擎、图像处理、声音效果图像处理与模式识别研究室28C是一种工业语言•操作系统•嵌入式系统•驱动程序•底层驱动•开发效率学习过程•开发效率开发乐趣•日常应用很少直接用C语言编写•学习C的过程主要是练习代码,而非真实软件图像处理与模式识别研究室29编译运行C需要被编译才能运行,所以你需要•编辑器•编译器•或者,IDE(集成开发环境)图像处理与模式识别研究室30推荐的编程软件DevC++(4.9forWin7,5.0forWin8)•免费•安装简单•不用建工程图像处理与模式识别研究室31其他选择MSVisualStudioExpress(forWindows)Xcode(MacOSX)Eclipse-CDTGeany(和MinGW一起)Sublime(和MinGW一起)Vim/emacs(和MinGW一起)图像处理与模式识别研究室320.3第一个C程序图像处理与模式识别研究室33初学C的困惑用什么软件好•选择太多,有时候就是个麻烦•当代软件往往只有一个编程软件那就用DevC++5.x吧图像处理与模式识别研究室34第一个C程序图像处理与模式识别研究室35在DevC++里的C程序图像处理与模式识别研究室36程序框架•本课程中所有的程序都需要这一段•直到学函数之前,我们的代码都只是在这个框架中编写图像处理与模式识别研究室37输出•printf(“HelloWorld!\n”);•“”里边的内容叫做“字符串”,printf会把其中的内容原封不动地输出•\n换行符,表示要在输出的结果后换一行图像处理与模式识别研究室38暂停•如果你在使用DevC++4.9.9.2system(“pause”);•让程序运行完成后,窗口还能留下观察不是DevC++4.9.9.2就不需要这条语句了图像处理与模式识别研究室39程序中的错误•编译时发现的错误所在的地方会以红色的底表示出来•具体的错误原因列在下方的窗口里(是英文的)•C的编译器给出的错误提示往往不那么好“猜”图像处理与模式识别研究室40不要用中文•中国学生还有一个极其常见的低级错误,就是用了中文输入法来输入程序。那些标点符号,在中文和英文可能看上去相似,但是对于计算机是完全不同的符号,如果你还开了全角标点的话,问题就更严重了图像处理与模式识别研究室41做计算•printf(“%d”,24+35);%d说明后面有一个整数要输出在这个位置上•printf(“24+35=%d”,24+35);图像处理与模式识别研究室42四则运算•%表示取两个数相除后的余数图像处理与模式识别研究室43几个小程序图像处理与模式识别研究室44讨论1.我们是在学习GCC吗?•常听到有人他学的是VisualC,有人学的是TurboC,不是我们讲的什么DevC,是他们的比我们的高级吗?还有GCC到底是什么?2.main()的样子•为什么看到有的书上的main()是voidmain(),而不是我们课件上的intmain()?还有main()里的那句return0;是必须的吗?图像处理与模式识别研究室450.4这一讲的练习图像处理与模式识别研究室461.在自己的计算机上安装好编程的软件2.依次编辑课堂上讲到的四个程序3.编译并运行程序•结果如何•有没有问题—有问题来【新—E1001】讨论吧!•尝试理解图像处理与模式识别研究室本次课程结束,谢谢!
本文标题:第0讲程序设计与C语言
链接地址:https://www.777doc.com/doc-2152862 .html