c语言课件课件1_第1页
c语言课件课件1_第2页
c语言课件课件1_第3页
c语言课件课件1_第4页
c语言课件课件1_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一讲第一讲 概述概述教材教材:C程序设计导论程序设计导论2教材与课件教材与课件n教材:教材:C程序设计导论程序设计导论,谭成予、梁意文,谭成予、梁意文,武汉大学出版社,武汉大学出版社,2005年。年。n参考书目:参考书目:The C Programming Language,B.W.Kernighan and D.M.Ritchie,Prentice-Hall,Inc.,1978。n课件:武汉大学计算机学院课件:武汉大学计算机学院“高级语言程序设计高级语言程序设计”课程组制作。课程组制作。3第一个问题:什么是第一个问题:什么是程序设计程序设计?n程序程序(program)(program)

2、就是指示计算机如何运作的指令集就是指示计算机如何运作的指令集合。合。n程序设计程序设计(programming)(programming)则是把多条指令有计划地则是把多条指令有计划地串在一起使计算机完成我们期望的工作,换句话说,串在一起使计算机完成我们期望的工作,换句话说,程序设计是将人的期望程序设计是将人的期望“转化转化”成一连串的计算机成一连串的计算机指令,如果转化成功,计算机就会按照我们的期望指令,如果转化成功,计算机就会按照我们的期望来运作,感觉就好像成功地对计算机施展了魔法。来运作,感觉就好像成功地对计算机施展了魔法。n学习程序设计好处学习程序设计好处深入了解软件的运作方式、设计出功

3、能更强大的应深入了解软件的运作方式、设计出功能更强大的应用软件、加深对计算机的认识。用软件、加深对计算机的认识。4第二个问题:如何学好程序设计第二个问题:如何学好程序设计语法学习阶语法学习阶段段循循 序序 渐渐 进进练习写较大练习写较大的程序的程序学习并提高学习并提高程序设计技程序设计技巧巧软件工程软件工程软件工程:运用现代科学技术知识来设计并构造计算机程序,以及为开发、运行软件工程:运用现代科学技术知识来设计并构造计算机程序,以及为开发、运行和维护这些程序所必须的相关文档资料。和维护这些程序所必须的相关文档资料。5现在有哪些程序设计语言?现在有哪些程序设计语言?n第一代语言第一代语言机器语言

4、机器语言 计算机发明之初,人们只能用计算机的语言去命令计算机工作,就是写计算机发明之初,人们只能用计算机的语言去命令计算机工作,就是写出一串串由出一串串由“0”0”和和“1”1”这样的二进制数组成的指令序列交由计算机执行,这样的二进制数组成的指令序列交由计算机执行,这种语言就是机器语言。使用机器语言是十分痛苦的,尤其是在程序有错需这种语言就是机器语言。使用机器语言是十分痛苦的,尤其是在程序有错需要修改时。而且,由于每台计算机的指令系统往往各不相同,所以移植性很要修改时。而且,由于每台计算机的指令系统往往各不相同,所以移植性很差。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言差。

5、但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。中最高的。n第二代语言第二代语言汇编语言汇编语言 为了减轻使用机器语言编程的痛苦,人们进行了有益的改进:用一些简为了减轻使用机器语言编程的痛苦,人们进行了有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令,比如,用洁的英文字母、符号串来替代一个特定的指令,比如,用“ADD”ADD”代表加法,代表加法,“MOV”MOV”代表数据传递等等,这种程序设计语言就称为汇编语言。然而计算机代表数据传递等等,这种程序设计语言就称为汇编语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,负责将这些符号翻译成二是不认识这些

6、符号的,这就需要一个专门的程序,负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。进制数的机器语言,这种翻译程序被称为汇编程序。6现在有哪些程序设计语言?现在有哪些程序设计语言?n第三代语言第三代语言高级语言高级语言 高级语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,高级语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。编出的程序能在所有机器上通用。FORTRAN(Formula Translation,1956年)年)LISP(List Processing Language,1958年)年)COBOL(Common B

7、usiness Oriented Language,1959年)年)BASIC(Beginners all Purpose Symbolic Instruction Code,1964年)年)PASCAL(以法国数学家命名,(以法国数学家命名,1970年)年)PROLOG(Programming in Logic,1972年)年)C(1972年)年)n第四代语言第四代语言 非过程化,面向应用非过程化,面向应用 ,面向对象语言及可视化编程环境,如,面向对象语言及可视化编程环境,如VisualVisual系列系列(VC+VC+、VBVB等)、等)、Power BuilderPower Builde

8、r、DelphiDelphi、JavaJava等。等。7本课程定位本课程定位 n大家要学习的与程序设计有关的课程有:高级语言大家要学习的与程序设计有关的课程有:高级语言程序设计、面向对象程序设计等。程序设计、面向对象程序设计等。n本课程以高级语言中的本课程以高级语言中的C语言为主介绍如何使用第三语言为主介绍如何使用第三代语言代语言高级语言进行程序设计,要求同学们不仅高级语言进行程序设计,要求同学们不仅学习好具体的语法规范,更重要的是掌握结构化程序学习好具体的语法规范,更重要的是掌握结构化程序设计的方法。设计的方法。n本课程是同学们接触到的第一门程序设计的课程,本课程是同学们接触到的第一门程序设

9、计的课程,不仅是程序设计的入门课程,而且是学习后续程序设不仅是程序设计的入门课程,而且是学习后续程序设计(如面向对象程序设计)等其他计算机专业课程的计(如面向对象程序设计)等其他计算机专业课程的基础和前导课程。基础和前导课程。8本讲重点本讲重点n了解了解C语言的历史、背景语言的历史、背景n熟悉简单的熟悉简单的C程序的构成程序的构成nWindows和和UNIX环境下编辑、编译和运行环境下编辑、编译和运行C程序的方法程序的方法91.1 语言的发展历史和特点语言的发展历史和特点语言的出现的历史背景语言的出现的历史背景(不宜编写系统(不宜编写系统程序,程序,1960年)年)ALGOLBCPL(对(对C

10、PL的简化,的简化,M .Richard,剑桥,剑桥大学,大学,1967年)年)B(编写了(编写了UNIX操作系统操作系统,K.Thompson,贝尔实,贝尔实验室验室1970年)年)CPL(规模较大,(规模较大,难以实现,剑难以实现,剑桥大学和伦敦桥大学和伦敦大学,大学,1963年年)C(描述和实现(描述和实现UNIX操作操作系统,系统,D.M.Ritchie,贝,贝尔实验室,尔实验室,1972年)年)10经典经典 The C Programming Language 1978年,年,B.W.Kernighan、D.M.Ritchie合著合著 1988年进行修订使之符合年进行修订使之符合AN

11、SI C标准。标准。ANSI C 1983年,由年,由ANSI(American National Standards Institute)制制订订C语言标准。语言标准。标准标准C 1990年,年,ISO(International Standard Organization)通过通过C程程序设计语言的国际标准,以序设计语言的国际标准,以ANSI C为基础制订。为基础制订。11C语言的特点语言的特点1.语言简洁、紧凑,使用方便:语言简洁、紧凑,使用方便:32个关键字,个关键字,9种控制语句。种控制语句。 2.运算符丰富:运算符丰富:共有共有34个运算符。个运算符。3.数据结构丰富:数据结构丰富

12、:整型,实型,字符,数组,指针,结构体等。整型,实型,字符,数组,指针,结构体等。4.具有结构化的控制语句:具有结构化的控制语句:代码及数据的分割,函数的调用,控代码及数据的分割,函数的调用,控制程序流向的循环与条件语句。制程序流向的循环与条件语句。5.语法限制不太严格,程序设计自由度大。语法限制不太严格,程序设计自由度大。6.允许直接访问物理地址,能进行位操作,可以直接操作硬件。允许直接访问物理地址,能进行位操作,可以直接操作硬件。7.生成目标代码质量高,程序执行效率高生成目标代码质量高,程序执行效率高:一般只比汇编程序生一般只比汇编程序生成的目标代码效率低成的目标代码效率低101020%2

13、0%。8.程序可移植性好程序可移植性好:适合于多种操作系统,多种机型。适合于多种操作系统,多种机型。121.2 C程序组成程序组成学好一种计算机语言的最好方法是用它编写程序!学好一种计算机语言的最好方法是用它编写程序!例例1. 1一个经典的例子。一个经典的例子。#include void main(void)printf(“Hello!World!n”);将上述程序输入计算机,进行编译、连接、运行后在屏幕上输出:将上述程序输入计算机,进行编译、连接、运行后在屏幕上输出:Hello!World!函数首部,函数名称函数首部,函数名称main( ),即主函数,即主函数圆括号内定义函数参数,圆括号内定

14、义函数参数,void表示没有参数表示没有参数 函数类型(返回结果),函数类型(返回结果),void表示没有返回值表示没有返回值 131.2 C程序组成程序组成例例1.2 计算两个整数的和计算两个整数的和 #include int main( ) int a,b,sum;a=45;b=70;sum=a+b;printf(“sum=%dn”,sum);return(0); 该程序运行结果为该程序运行结果为 sum=115文件包含行,表示程序中用到了文件包含行,表示程序中用到了stdio.h文件文件中定义的常量或宏中定义的常量或宏函数体,包括数据说明和执行语句两个部分函数体,包括数据说明和执行语句两

15、个部分“”表示函数体结束表示函数体结束“”表示函数体开始表示函数体开始14例例1.3 输出两个整数中大的数据。输出两个整数中大的数据。#include void main(void) int max(int,int); int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“max=%d”,c); int max(int x, int y) int z; if(xy) z=x; else z=y; return(z); 运行结果:运行结果:21,45 max=45函数原型。由于函数函数原型。由于函数max在主函数之后定义,所以在

16、主在主函数之后定义,所以在主函数前要给出函数前要给出max函数的使用说明即函数原型。函数的使用说明即函数原型。主函数没有返回值,所以类型是主函数没有返回值,所以类型是void调用函数调用函数max,计算变量,计算变量a和和b的最大值,并将结的最大值,并将结果赋给变量果赋给变量c函数函数max首行,其中定义首行,其中定义int类型的形式参数类型的形式参数x和和y 。该函数返回结果为该函数返回结果为int类型类型将变量将变量z的值返回给的值返回给main函数函数151.2 C程序组成程序组成例1.4 求数组元素的和。#include void main(void)int i,a5=4,5,6,7,

17、8,sum=0;for(i=0;iTCTurbo C开始运行后,出现下图所示的主菜单窗口开始运行后,出现下图所示的主菜单窗口2122Visual C+ 6.0集成环境集成环境1. 启动Visual C+ 6.0环境2. 编辑源程序文件3. 编译和连接4. 执行 利用Visual C+ 6.0集成环境开发C程序的过程如下:23Visual C+ 6.0集成环境集成环境 1.启动Visual C+ 6.0环境 方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”-“Microsoft Visual C+ 6.0”命令,启动Visual C+,VC6主窗口如下:

18、菜单栏菜单栏 项目工作区项目工作区标题栏标题栏输出区输出区工具栏工具栏状态栏状态栏文件编辑区文件编辑区24Visual C+ 6.0集成环境集成环境2. 编辑源程序文件(1)建立新工程项目单击“文件”-“新建”,弹出“新建”对话框。单击“工程”选项卡;单击“Win32 Console Application”选项;“工程”对话框中输入项目名,如“gc1”;“位置”框输入或选择新项目所在位置,单击“确定”按钮。 弹出“Win32 Console Application Step 1of 1”对话框。单击“An empty project”按钮和“完成”按钮。系统显示“新建工程信息”对话框。单击“确定”按钮。 单击“工程”单击“Win32 Console Application”输入项目名选择新项目位置单击“确定”单击该选项单击“完成”单击“确定”25Visual C+ 6.0集成环境集成环境2. 编辑源程序文件(2)建立新项目中的文件单击“文件”-“新建”,弹出“新建”对话框。 选择“文件”选项卡。单击“C+ Source File”选项,在“文件”对话框中输入文件名,单击“确定”按钮。系统自动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论