《01 第一章 C 语言概论.ppt.ppt》由会员分享,可在线阅读,更多相关《01 第一章 C 语言概论.ppt.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章:C 语言概论 课程意义n从学习从学习C程序设计作为切入点,掌握软件开发程序设计作为切入点,掌握软件开发知识,包括设计方法和开发工具。知识,包括设计方法和开发工具。计算机系统计算机系统硬件系统硬件系统软件系统软件系统计算机系统硬件系统软件系统主机外设系统软件应用软件CPU内存外存输入设备输出设备操作系统程序设计语言数据库系统服务性程序应用数据包用户程序C程序设计课程特点 C C 语言是一种很有生命力的高级语言。语言是一种很有生命力的高级语言。C C 语言很适合作为程序设计的基础教学。语言很适合作为程序设计的基础教学。C C 语言和底层软件、硬件联系紧密,可以适合语言和底层软件、硬件联系紧
2、密,可以适合不同场合编程的需要(比如,操作系统,通信不同场合编程的需要(比如,操作系统,通信协议)协议)学习方法和掌握内容n学习方法:学习方法:1.1.培养兴趣培养兴趣 2.2.带着问题去学习带着问题去学习 3.3.实际动手写程序实际动手写程序n掌握内容:掌握内容:1.1.C C 语法语法 2.2.开发环境开发环境 3.3.调试技巧调试技巧 4.4.好的编程风格好的编程风格 5.5.小项目开发能力小项目开发能力nYou hear,you forgetYou do,you rememberYou think,you understandn如果你只是听,那么你会忘记如果你去做,你就会记住如果你思考
3、,你才能明白How to study本课内容n1.微型计算机基本结构n2.程序设计概念n3.计算机语言类别n4.程序的开发过程和环境n5.程序设计方法的发展n6.C语言的特点一、微型计算机基本结构数据总线DB控制总线CB微处理器MCU存储器ROM、RAM、Flash输入/输出接口电路外围设备地址总线AB微型计算机基本结构-指令执行过程n冯诺依曼结构 存储器存储器数据和指令MCU地址总线数据总线微型计算机基本结构-指令执行过程n哈佛结构 流水线 程序程序存储器存储器MCUP地址总线D数据总线哈佛结构数据数据存储器存储器P数据总线D地址总线本课内容n1.微型计算机基本结构n2.程序设计概念n3.计
4、算机语言类别n4.程序的开发过程和环境n5.程序设计方法的发展n6.C语言的特点二、程序设计概念n程序:为解决某一问题而设计的一系列指令。n程序设计:为计算机安排工作步骤,使计算机能按预期目标完成各项任务 n程序设计语言的特点:严格、小巧、没有二义性n日常生活中也可以找到许多“程序”实例。n例如,一个学生早上起床后的行为可以描述为:n1,起床;2,刷牙;3,洗脸;4,吃饭;5,早自习;n我们进一步将一个高层动作分解为一系列低层的基本动作。例如,可能将“吃早饭”这一高层动作分解为下面动作序列:n拿饭碗;去食堂;排队买饭;吃饭;刷碗;离开食堂程序的概念程序=算法+数据结构 n1.数据结构(data
5、 structure):对数据的描述,在程序中要指定数据的类型和数据的组织形式。n2.算法(algorism):对操作的描述,即操作步骤,也就是:n程序数据结构算法程序设计方法 语言工具和环境算法n 由有限个步骤组成的用来解决问题的具体过程。(反映的是解决问题的思路)n每个问题可以有多种算法n比如,计算1100的奇数和n(1)99+97+95+1n(2)(1+99)/2*50哪个更好?哪个更好?本课内容n1.微型计算机基本结构n2.程序设计概念n3.计算机语言类别n4.程序的开发过程和环境n5.程序设计方法的发展n6.C语言的特点三、计算机语言类别计算机系统所能接受、理解和执行的语言,主要有机
6、器语言、汇编语言和高级语言机器语言:CPU可识别的特定二进制代码(0101序列)。汇编语言:与机器语言一一对应的符号语言。高级语言:语法贴近人类自然语言,易于跨平台移植。经过编译compile/链接Link生成机器语言。机器语言n特点:CPU唯一能够识别、执行的二进制代码。n机器指令=操作码+操作数(几个)n000000010000000000000011n000010110000000000000001n用机器语言编写程序:繁琐,容易出错;n依赖于机器,难以移植。a a1 1 a a2 2 d d1 1 d d2 2 d d3 3 d d4 4汇编语言n用符号来代替机器指令中的操作码和操作数
7、,例如:ADD R1,R2汇编语言源程序汇编语言源程序机器语言程序机器语言程序汇编程序汇编程序n汇编语言比机器语言直观,便于记忆n不能直接执行形形色色的高级语言nFORTRAN语言-高级语言的先祖nPASCAL,BASIC,C,C+,n接近自然语言,比如:n用高级语言编写的程序称为“源程序”。If x3 Then x=x-3Else x=0End If语言处理程序n把人编写的语言翻译成机器能明白的语言的程序叫做语言处理程序n语言处理程序主要包括解释程序和编译程序两种:n解释程序n编译程序(如右图所示)高级程序语言的执行高级程序语言翻译高级程序语言翻译成机器语言程序成机器语言程序编译编译编译编译
8、 编译器编译器编译器编译器解释解释解释解释 解释器解释器解释器解释器 类型 内容 编译编译程序程序解释解释程序程序执行效率执行效率很高很高较低较低占用空间占用空间不大不大较小较小优化性能优化性能较好较好难于优化难于优化执行方式执行方式生成目标代码生成目标代码入栈解释执行入栈解释执行C程序举例:n#include nvoid main()n int s=0,a=99;n while(a=1)n ns=s+a;na=a-2;n n printf(“99+97+3+1=%dn”,s);nn高级语言源程序也不能直接执行。本课内容n1.微型计算机基本结构n2.程序设计概念n3.计算机语言类别n4.程序的
9、开发过程和环境n5.程序设计方法的发展n6.C语言的特点四、程序的开发过程C语言的支持环境n对于C源程序,应先调用C的“编译程序”对该程序进行处理,生成由机器指令组成的目标程序。可执行程序可执行程序a.exea.exe结结 果果编辑(修改)编辑(修改)源程序源程序a.a.cppcpp编编 译译连连 接接运运 行行目标程序目标程序a.a.objobj本课内容n1.微型计算机基本结构n2.程序设计概念n3.计算机语言类别n4.程序的开发过程和环境n5.程序设计方法的发展n6.C语言的特点五、程序设计方法的发展:面向过程式程序设计面向过程式程序设计 -面向对象程序设计面向对象程序设计 1.1.面向过
10、程面向过程式程序设计语言,式程序设计语言,强调程序对数据强调程序对数据的处理的处理。如:。如:C C语言,它的优点主要是简洁高语言,它的优点主要是简洁高效,特别适合初学者;效,特别适合初学者;2.2.面向对象面向对象程序设计语言,程序设计语言,强调对象的属性、强调对象的属性、功能。功能。如:如:C+C+语言,是在语言,是在C C的基础上发展起的基础上发展起来的,适应目前大规模软件开发工程的需要。来的,适应目前大规模软件开发工程的需要。程序设计方法的发展:n面向对象的程序设计对比结构化程序设计方法nC+是面向对象的程序设计语言。C是结构化的程序设计语言n应用方面:C偏向于底层应用的较小程序,C+
11、偏向于上层应用的大型程序。n思维方式:C偏向于逻辑和计算思维,C偏向于应用和日常思维面向对象的程序设计介绍n以对象为思考的核心,通过对象间发生关系,完成所要处理的事情。n对象:客观事物的一个实体。具有某些属性,可以进行某些行为。(flash 1)n对象间发生的关系叫做:消息n对象和消息是面向对象方法的两个基本元素,其它重要特性还有:类、封装、继承、多态面向对象的程序设计介绍n类:对象共性的抽象n因此,一般程序中对象除了属性和行为外,还会归类。这就是对象的身份、状态、行为三元素。n封装:把对象的属性、行为封装成对象,形成独立个体。(flash 2)n可以保护未经许可的访问。n 可使信息局部化。n
12、继承:每一个子类继承了超类的数据和操作,但是,子类并不是局限于超类的数据和操作。(flash 3)n多态:多态是指对于相同的消息,不同的对象具有不同的反应的能力。语言的发展过程n(1)在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。n(2)语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据语言问世以来各种版本对语言的发展和扩充,制定了
13、ANSI C标准(1989年再次做了修订)。n本课程以ANSI C新标准来介绍。语言的发展过程(3)目前,在微机上广泛使用的语言编译系统有Microsoft C、Turbo C、Borland C等。虽然它们的基本部分都是相同的,但还是有一些差异,所以请大家注意自己所使用的编译系统的特点和规定(参阅相应的手册)。本本课课程程推推荐荐的的上上机机环环境境是是TC V2.0,也也可可以以使使用用Borland C 或者或者 VC 的控制台程序方式的控制台程序方式。本课内容n1.微型计算机基本结构n2.程序设计概念n3.计算机语言类别n4.程序的开发过程和环境n5.程序设计方法的发展n6.C语言的特
14、点六、六、C语言的特点语言的特点 C语言同时具有汇编语言和高级语言的优势。(1)语言简洁、紧凑,使用方便、灵活。(2)运算符极其丰富。(3)生成的目标代码质量高,程序执行效率高。(4)可移植性好(较之汇编语言)。(5)可以直接操纵硬件。在C语言中,除实现顺序、选择和循环三种基本结构等的9条控制语句外,输入输出操作均由标准库函数(不是C语言的组成部分)来实现。所以学习C语言,不仅要学习这9条控制语句和各种运算符,而且要学习并掌握常用标准库函数的使用。语言程序的简单例子语言程序的简单例子一个完整的语言程序,是由一个main()函数(又称主函数)和若干个其它函数结合而成的,或仅由一个main()函数
15、构成。例例 仅由main()函数构成的语言程序。main()printf(“This is a C program.n”);程序运行结果:This is a C program.main()int a,b,sum;a=123;b=456;sum=a+b;printf(sum is%dn,sum);例例 求两个整数之和求两个整数之和 main()/*主函数*/int a,b,c;/*定义变量*/scanf(%d,%d,&a,&b);/*输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf(max=%d,c);/*输出c的值*/int max(x,y);/*定义max函数,函数值为整型,x、y为形式 参数*/int x,y;/*对形参x、y作类型定义*/int z;/*max函数中用到的变量z也要加以定义*/if(xy)z=x;else z=y;return(z);/*将z的值返回,通过max带回调用处*/C程序小结n1C程序的基本结构n2C语言关键字n3.C语言标识符n4.C语句(表达式语句、复合语句、空语句)的概念n5.赋值语句和格式输入/输出函数(printf()和scanf())的简单使用
限制150内