《C程序设计》清华大学出版社 PPT教程 第1章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1C高级语言程序设计赵晶玲zhaojingling@bupt.edu.cn20112课程介绍•教学形式•课堂讲授(32学时)+上机实验(16学时)•讲课:•每周2学时,不得缺席。•实验课:•每2周2学时,不得缺席,有助教辅导答疑。•双周周五(7,8节)教一楼五层实验室(第16周开始)•考核•平时成绩(20%)•实验(当堂检查评分,不提交不给成绩)•作业(按时提交,不提交无成绩)•期中(10%):闭卷笔答+实验•期末(70%):闭卷笔答3课程介绍教材《C程序设计》(第四版)清华大学出版社,谭浩强编著参考书C程序设计题解与上机指导(第四版)谭浩强编著4学习建议•不同于传统的学习方法(数学、物理)•实验性强在阅读教材时,应该边阅读、边实践。•课堂讲过的内容要掌握•课前预习,课后复习•知识拓展,阅读参考书5登录网站@sohu.comps:stu2006公共邮箱6课程目标•掌握C语言的语法规则•掌握程序设计的基本思想和方法,养成良好的程序设计习惯。•会运用编程工具进行程序的设计与实现。•会读、会编、会调试C程序C高级语言程序设计7第一章8主要内容计算机语言的发展程序开发过程C语言概述9计算机语言的发展计算机系统硬件软件运算器控制器存储器输入设备输出设备系统软件应用软件C高级语言程序设计软件=程序+文档10计算机程序•计算机的工作是用程序来控制的•程序是指令的集合。•指令是计算机可以识别的命令。计算机语言的发展11计算机语言的发展低级语言机器语言汇编语言高级语言面向过程:C语言面向对象:C++,JAVA分类:编译型,解释型计算机语言12机器语言与汇编语言•机器语言:计算机硬件系统可以识别的二进制指令组成的语言计算机发展的初期,软件工程师们只能用机器语言来编写程序。这一阶段,在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟。•汇编语言:将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB等。此时编程语言与人类自然语言间的鸿沟略有缩小,但仍与人类的思维相差甚远。因为它的抽象层次太低,程序员需要考虑大量的机器细节。计算机语言的发展13高级语言高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。计算机语言的发展14程序的开发过程•编辑•将源程序输入到计算机中,生成扩展名为.c的磁盘文件。•编译•将程序的源代码转换为机器语言代码。•连接•将多个源程序文件以及库中的某些文件连在一起,生成一个后缀为.exe的可执行文件。•运行调试15基本术语•源程序:•用源语言写的,有待翻译的程序•目标程序:•也称为结果程序,是源程序通过翻译程序加工以后所生成的程序。•翻译程序:•是指一个把源程序翻译成等价的目标程序的程序。16基本术语——三种不同类型的翻译程序•汇编程序:其任务是把用汇编语言写成的源程序,翻译成机器语言形式的目标程序。•编译程序:若源程序是用高级程序设计语言所写,经翻译程序加工生成目标程序,那么,该翻译程序就称为“编译程序”。•解释程序:也是一种翻译程序,同样是将高级语言源程序翻译成机器指令。它与编译程序不同点就在于:它是边翻译边执行的,即输入一句、翻译一句、执行一句,直至将整个源程序翻译并执行完毕。17C语言的起源和发展(p1自学)•C语言是国际上广泛流行的高级语言。•C语言是在B语言的基础上发展起来的。•B(BCPL)语言是1970年由美国贝尔实验室设计的,并用于编写了第一个UNIX操作系统,在PDP7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。•1973年贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。181.1C语言出现的历史背景•1975年UNIX第6版发布,C优点突出引起关注。•1977年出现了《可移植C语言编译程序》,推动了UNIX在各种机器上实现,C语言也得到推广,其发展相辅相成。•1978年影响深远的名著《TheCProgrammingLanguage》由BrianW.Kernighan和DennisM.Ritchie合著,被称为标准C。•之后,C语言先后移植到大、中、小、微型计算机上,已独立于UNIX和PDP,风靡世界,成为最广泛的几种计算机语言之一。191.1C语言出现的历史背景•1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSIC,比标准C有了很大的发展。•1988年K&R按照ANSIC修改了他们的《TheCProgrammingLanguage》。•1987年,ANSI公布了新标准——87ANSIC。•1990年,国际标准化组织接受了87ANSIC为ISOC的标准(ISO9899—1990)。•1994年,ISO又修订了C语言标准。•目前流行的C语言编译系统大多是以ANSIC为基础进行开发的。201.2C语言的特点(1)语言简洁、紧凑,使用方便、灵活。(32个关键字、9种控制语句,程序形式自由。)(2)运算符丰富(34种运算符)。(3)数据类型丰富,具有现代语言的各种数据结构。(4)具有结构化的控制语句。(5)语法限制不太严格,程序设计自由度大。211.2C语言的特点(6)兼有高级和低级语言的特点。允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作。(7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。(8)程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。221.3简单的C语言程序介绍#includestdio.hvoidmain(){printf(ThisisaCprogram.\n);}/*预处理命令*//*主函数*//*函数体开始*//*输出语句*//*函数体结束*/说明:main-主函数名,void-函数类型•每个C程序必须有一个主函数main•{}是函数开始和结束的标志,不可省•每个C语句以分号结束•使用标准库函数时应在程序开头一行写:#includestdio.h说明:本程序的作用是输出一行信息:ThisisaCprogram.23例1.2求两数之和#includestdio.hvoidmain()/*求两数之和*/{inta,b,sum;/*声明,定义变量为整型*/a=123;b=456;sum=a+b;printf(″sumis%d\n″,sum);}说明:/*……*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。说明:输出一行信息:sumis57924例1.3求3个数中较大者。#includestdio.hvoidmain()/*主函数*/{intmax(intx,inty);/对被调用函数max的声明*/inta,b,c;/*定义变量a、b、c*/scanf(″%d,%d″,&a,&b);/*输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf(″max=%d\\n″,c);/*输出c的值*/}•程序运行情况如下:•8,5↙(输入8和5赋给a和b)•max=8(输出c的值)intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}max(intx,inty);max(a,b);说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。251.3简单的C语言程序介绍C程序的结构特点和书写格式:(1)C程序是由函数构成的。这使得程序容易实现模块化。(2)一个函数由两部分组成:函数的首部:例首部intmax(intx,inty)函数体:花括号内的部分。函数体包括两部分声明部分:inta,b,c;可缺省执行部分:由若干个语句组成。可缺省#includestdio.hvoidmain(){printf(ThisisaCprogram.\n);}261.3简单的C语言程序介绍注意:函数的声明部分和执行部分都可缺省,例如:voiddump(){}这是一个空函数,什么也不做,但是合法的函数。271.3简单的C语言程序介绍小结:(3)C程序总是从main函数开始执行的,与main函数的位置无关。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号。(5)每个语句和数据声明的最后必须有一个分号。(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。#includestdio.hvoidmain(){printf(ThisisaCprogram.\n);}281.4运行C程序的步骤和方法1.4.1运行C程序的步骤•上机输入与编辑源程序•对源程序进行编译•与库函数连接•运行目标程序291.4运行C程序的步骤和方法1.4.2上机运行C程序的方法目前使用的大多数C编译系统都是集成环境(IDE)的。可以用不同的编译系统对C程序进行操作。常用的有TurboC2.0、TurboC++3.0、VisualC++6.0、Dev5.0等。TurboC++3.0:是一个集成环境,它具有方便、直观和易用的界面,虽然它也是DOS环境下的集成环境,但是可以把启动TurboC++3.0集成环境的DOS执行文件tc.exe生成快捷方式,也可以用鼠标操作。VisualC++6.0:也可以用VisualC++6.0对C程序进行编译。30使用DevC++4.9.9.2(也称DevC++5)开发环境•Dev-C++是一个Windows下的C和C++程序的集成开发环境。它使用MingW32/GCC编译器,遵循C/C++标准。3132编写完成后按运行-〉编译运行,或按f93334•写完C程序,请保存代码的时候一定选择保存类型为.c文件•写完C程序以后运行的时候,窗口一闪而过。解决办法是在main函数的return0之前添加一句system(pause);来中断程序。35VisualC++编译过程:1)启动VisualC++,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C++SourceFile”选项。2)选择源程序存放的目录和输入源程序名,单击“确定”。3)在编辑器中编写源程序。4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。36启动VC++编译系统37VC++编译系统界面单击“File”菜单中“New”命令38选择“Files”选项卡选择C++源文件命令输入文件名输入文件存放位置单击选择驱动器选择驱动器或目录39C++源文件编辑界面输入C++源代码40可以将此源代码另起文件名存盘41选择编译命令,将源文件.cpp生成.obj文件42如果编译出错,会出现提示信息,指出错误的位置及种类错误所在行错误的原因43双击错误所在行光标移到该行44生成可执行文件通过后单击该命令运行程序45运行结果显示在DOS屏上注意:不可以在软盘上运行程序!应该把保存在软盘中的源文件拷贝到硬盘的目录中再运行!46源程序所在目录未编译前,只有一个源程序47编译运行后,出现众多附加文件同时,产生一个子目录Debug48Debug目录中,有obj和EXE文件

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功