您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计(第四版)-谭浩强1
•课堂要求•为什么学习程序设计•为什么选择C语言•怎样学习C程序设计课堂要求•在教室、机房都做到不迟到、不早退(每节课抽查点名)•上课不说话•作业认真完成为什么要学习程序设计计算机的本质是“程序的机器”,只有懂得程序设计,才能进一步懂得计算机,真正了解计算机是怎样工作的,掌握用计算机处理问题的方法;培养分析问题和解决问题的能力。即使将来不是计算机专业人员,由于学过程序设计理解软件生产的特点和生产过程,就能与程序开发人员个更好的沟通与合作,开展本领域中的计算机应用,开发与本领域有关的应用程序。为什么选择C语言进行程序设计,必须用一种计算机语言作为工具,否则只是纸上谈兵。可选择的语言很多,各有特点和应用领域。C语言的代码量小:同样功能的软件用C语言编写容量很小。Wps与office,界面功能基本类似,但是wps只有23.3M,但是微软office就有千兆左右。Wps的内核代码就是用C语言写的。以及我们的主板驱动、显卡驱动、摄像头驱动等都是用c语言。以及数据库DB2,oracle等都是用c语言和c+来写的。ACDSee、photoshop、2D(cs)、3D游戏等应用软件也是用C语言来编写的。速度快:windows内核是c语言外核是c++、unix和linux都是用c语言编写的。功能强大:c语言可访问我们的硬件,c语言中有指针可访问我们的内存等硬件。C++是为处理大规模的程序开发而研制的大型语言,比C语言复杂难学。C语言是更为基本的,最基础的。在它基础上学习java和c#更容易。C语言是当前程序员共同的语言。怎样学习C语言•每一讲分4次课•前两节是理论课,讲授理论知识•后两节为上机课,在机房完成本课练习。检查后方可离开。•多思考,多上机。目标:能看懂程序,并调试程序,自学能力要强。第一章本章要点1.什么是计算机程序2.什么是计算机语言3.C语言的发展及其特点4.运行C程序的步骤与方法5.最简单的C语言程序6.程序设计的任务什么是计算机程序计算机是万能的吗?---计算机的每一个操作都是根据人们事先指定的指令进行的。为了使计算机执行一系列的操作,必须事先编好一条条指令,输入到计算机。程序:就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。为了使计算机系统能实现各种功能,需要成千上万个程序。总之,计算机的一切操作都是由程序控制的,离开程序计算机将一事无成。所以,计算机的本质是程序的机器,只有懂得程序设计,才能真正了解计算机是怎样工作的,才能更深入的使用计算机。2什么是计算机语言计算机和人都能识别的语言,就是计算机语言。发展阶段:机器语言--汇编语言—高级语言计算机是不能直接识别高级语言编写的程序,要进行“翻译”。用一种称为编译程序的软件把高级语言写的程序(称为源程序)转换为机器指令的程序(称为目标程序),然后让计算机执行机器指令程序,最后得到结果C语言发展及其特点•C语言是国际上广泛流行的高级语言。•C语言是在B语言的基础上发展起来的。•B(BCPL)语言是1970年由美国贝尔实验室设计的,并用于编写了第一个UNIX操作系统,在PDP7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。•1973年贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。§1-1C语言出现的历史背景•1975年UNIX第6版发布,C优点突出引起关注。•1977年出现了《可移植C语言编译程序》,推动了UNIX在各种机器上实现,C语言也得到推广,其发展相辅相成。•1978年影响深远的名著《TheCProgrammingLanguage》由BrianW.Kernighan和DennisM.Ritchie合著,被称为标准C。•之后,C语言先后移植到大、中、小、微型计算机上,已独立于UNIX和PDP,风靡世界,成为最广泛的几种计算机语言之一。C语言出现的历史背景•1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSIC,比标准C有了很大的发展。•1988年K&R按照ANSIC修改了他们的《TheCProgrammingLanguage》。•1989年,ANSI公布了一个完整的c语言标准——ANSIC或C89。•1990年,国际标准化组织接受了C89为ISOC的标准(ISO9899—1990)。•1995年,ISO又修订了C语言标准。•1999年,ISO有对C语言标准进行修订在基本保留原来的c语言特征的基础上,针对应用的需要又增加一些功能。命名ISO/IEC9899:1999•2001和2004年先后进行两次技术修正(TC1、TC2)•ISO/IEC9899:1999及其技术修正被称为C99。讲课依据c99标准。说明:不同版本的C编译系统所实现的语言功能和语法规则又略有差别,因此我们应了解所用的C语言编译系统的特点(可以参阅网上相关资料)。我们使用的是二级语言考试的编译程序VisiuaC++6.0.C语言的特点(1)语言简洁、紧凑,使用方便、灵活。37个关键字、9种控制语句,程序形式自由,主要用小写字母表示,压缩而一切不必要的成分。(2)运算符丰富。34种运算符,把括号、复制和强制类型转化等都作为运算符处理,从而使C语言的运算类型机极其丰富,表达式类型多样化,灵活使用各种运算符。(3)数据类型丰富,具有现代语言的各种数据结构。整型、浮点型、字符型、数组类型、指针类型、结构体类型和共用体类型,C99扩充了复数浮点类型、超长整型和布尔类型。(4)具有结构化的控制语句,是完全模块化和结构化的语言。(5)语法限制不太严格,程序设计自由度大。例如对数组越界不进行检查,由程序编写者自己保证程序的正确,对变量的类型使用比较灵活。c语言允许程序编写者有较大的自由度,放宽了语法检查。一般的高级语言语法检查比较严。37个关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifinlineintlongregisterrestrictreturnshortsignedsizeofstaicstructswitchtypedefunionunsignedvoidvolatilewhile_bool_Complex_ImaginaryC语言的特点(6)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作。兼有高级和低级语言的特点。既是成功的系统描述语言,有时通用的程序设计语言。(7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。(8)程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。C语言的特点解释1:C++是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件;解释2:面向对象的基础是面向过程。C++是面向对象的语言,C是面向过程的,学起来比C语言困难得多,所以不太适合程序设计的初学者。问题:既然有了面向对象的C++语言,为什么还要学习C语言?运行C程序的步骤与方法---在VisualC++6.0环境下运行C程序的方法•一安装VisualC++6.0和进入VisualC++6.0环境•VisualC++6.0是在Windows环境下工作的,VisualC++6.0有中文版和英文版,方法相同。•为了能使用VisualC++6.0集成环境,必须事先在所用的计算机上安装VisualC++6.0。file—new—files—C++SourceFile表示要建立新的c++源程序文件。然后在location(位置)中输入源程序文件的存储路径,file(文件)输入源程序文件的名字。我们指定的文件名后缀为.c,如果是.cpp则表示要建立的是C++程序。打开已有程序到源程序或文件—打开或在此基础上修改另存为一个新的源程序。在编译新程序前,应先用file---closeworkspace(关闭工作空间)将原有的工作区关闭,以免新文件在原有的工作区进行编译。程序的编译--Ctrl+F7在编辑和保存了源文件以后,如需要对其进行编译,单击build(组建),在菜单中选择编译此编译命令要求一个有效地项目工作区,你是否同意建立一个默认的项目工作区。单击“是”,表示同意由系统建立默认的项目工作区,然后开始编译。在进行编译是,编译系统检查源程序中有无语法错误,然后在调试信息窗口输出便以信息,如果无错,生成目标文件c1-1.obj,如果有错,指出位置和性质,提示改正。编译系统能查出程序中的语法错误。语法错误分为两类:一类是致命错误,以error表示,如果有这种错误就通不过编译,无法形成目标程序。另一类是轻微错误,以warning表示,这类错误不影响生成目标程序和可执行程序,但可能影响运行的结果。程序的连接•得到目标程序后,就可以对程序进行链接了,生成的目标程序c1-1.obj编译系统据此确定在连接后生成一个c1-1.exe的可执行文件,在菜单中显示了此文件名。build(组建)--bulid(组建)。程序的运行•在得到可执行文件.exe后,就可以直接执行.exe了。选择build(组建)---!execute(执行)。•按任何一键以便继续。•回到主窗口,建立新的程序选择关闭工作空间简单的C语言程序介绍#includestdio.h//这是编译预处理指令intmain()//定义主函数{//函数开始printf(“ThisisaCprogram.\n”);//输出所指定的一行信return0;//函数执行完毕时返回函数值0}//函数结束的标志说明:•main-主函数名,每个C程序必须有一个主函数main,main前面的int表示此函数的类型。在执行主函数后会得到一个值(即函数值)。•return0;当main函数执行结束前将整数0作为函数值,返回到调用函数处(返回给调用main函数的操作系统的。程序员可以利用操作指令检查main函数的返回值,从而判断main函数师傅正常执行。)。(c99建议。)•{}是函数开始和结束的标志,不可省•每个C语句以分号结束•printf是c编译系统提供的函数库中的输出函数。•使用函数库中的输入输出函数时,编译系统要求程序提供有关此函数的信息。应在程序开头一行写:#includestdio.hstdio.h是系统提供的一个文件名。用#include指令把这些信息调入供使用说明:本程序的作用是输出一行信息:ThisisaCprogram.注释行右侧如果有//,表示聪从//到本行结束是注释。再写程序时应多用注释,方便自己和别人理解。在程序进行编译处理时将每个注释替换为一个空格,不产生目标代码。c语言允许的两种注释方式:1)以//开始的单行注释。不能跨行。如果注释内容一行内写不下,可以另起一行重新用//,继续注释。注释范围从//开始,以换行符结束。2)以/*开始以*/结束的块式注释,可以包含多行。内容它可以单独占一行,也可包含多行。编译系统在发现一个/*后,会开始找注释结束符*/。把中间内容作为注释。注释可用汉字或英文字符表示例1.2求两数之和#includestdio.hintmain()/*求两数之和*/{inta,b,sum;/*声明,定义变量为整型*//*以下3行为C语句*/a=123;b=456;sum=a+b;printf(″sumis%d\n″,sum);}说明:/*……*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。说明:输出一行信息:sumis579例1.3求3个数中较大者。#includestdio.hintmain()/*主函数*/{intmax(intx,inty);/对被调用函数max的声明*/inta,b,c;/*定义变量a、b、c*/scanf(″%d,%d″,&a,&b);/
本文标题:C语言程序设计(第四版)-谭浩强1
链接地址:https://www.777doc.com/doc-3814333 .html