您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > c语言程序设计1第一讲(第一章上)
知识可以改变命运!高级语言程序设计主讲教师:贾彩燕计算机与信息技术学院计算机科学与技术系cyjia@bjtu.edu.cn计算机与人沟通计算机与人沟通计算机与人沟通计算机与人沟通计算机与人沟通人和计算机通信使用的语言为计算机语言机器语言汇编语言高级语言面向过程面向对象面向机器的语言程序设计语言的产生发展CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B接近于人类的自然语言和数学语言如:c=a+b面向过程的语言->算法语言Basic,Fortan,Pascal,C语言等Java,C++等机器语言和程序机器语言是机器指令形成的语言;形式为二进制编码,机器可直接执行000000010000000010000000000100010000101000000101000000000001000000010001000011000000010000000000000100000010000000001110数据装入寄存器0数据装入寄存器1寄存器0与1的数据乘数据装入寄存器1寄存器0与1的数据加保存寄存器0里的数据难写难读,不易编程,与机器有关、程序开发效率极低。汇编语言和程序汇编语言:采用助记的符号形式,有利于人的阅读和使用。汇编指令与机器指令一一对应load0aload1bmult01load1cadd01save0d将单元a的数据装入寄存器0将单元b的数据装入寄存器1寄存器0与1的数据乘将单元c的数据装入寄存器1寄存器0与1的数据加将寄存器0里的数据存入单元d仍然难理解,不易编程,与机器有关、程序开发效率低。计算机无法直接执行汇编语言程序,执行前需要把汇编语言程序翻译为机器指令程序最早时通过手工翻译为机器指令后来人们开发出称为“汇编系统”的程序,让计算机去完成程序翻译工作汇编语言的特点:每条指令的意义容易理解程序粒度太小,细节太多程序无结构,缺乏组织手段写大程序仍然很困难高级语言和程序高级语言的特点:具有类似文字的表现形式,接近自然语言具有丰富的数据结构,用类似数学表达式形式描述基本计算用变量等概念取代低级的存储概念,使人摆脱各种繁琐低级的工作,例如存储的安排提供高级操作流程控制手段和程序组织手段与具体的机器无关,可移值性好在C语言里写前面同样的程序:d=a*b+c;计算机无法直接执行高级语言写出的程序常规方式是做一个编译系统,完成高级语言程序到机器语言可执行程序的翻译加工编程-编译加工-执行使用高级语言编程:编程工作的效率大大提高人更容易思考和把握复杂程序的意义更多人愿意投身于这种工作,使编程发展成为一种职业和谋生方式术语“程序设计语言”已专指“高级语言”1954年到1957年:高级语言Fortran诞生;至1960年代中,开发了Algol60,COBOL,BASIC等。还有函数式语言LISP等;1970年代开始:Pascal和C语言逐渐分别为教学科研和软件开发用的主要语言;1980年代:逻辑程序语言Prolog,面向对象语言Smalltalk和后来的C++;1995年左右的Java。高级语言的简单历史C语言比较小,入门容易,很快就可以开始编程有丰富的程序机制、数据机制、函数定义机制,能满足复杂程序的需要。许多常用功能通过库实现提供接近硬件的低级操作,广泛用于开发效率要求高的程序。被用于代替汇编语言开发底层软件生成目标代码质量高、可移植性好,被称为“中级语言”提供了一些支持大规模复杂软件开发的机制C语言的工作得到世界计算机界的广泛赞许。对计算机工业和应用发展起了重要推动作用许多新语言从C汲取营养。如C++,Java,C#等C语言设计者获得计算机领域最高奖——图灵奖C语言的特点C语言简介C语言1973年由贝尔实验室的DennisRitchie设计,目标是书写操作系统和其他系统程序。C语言最早用于写UNIX系统。70年代成为UNIX的标准开发语言,随UNIX流行而被广泛接受。80年代被搬到各种机器的许多操作系统上,逐渐成为一种开发系统程序和复杂软件的通用语言。后来成为使用最广泛的系统开发语言。人们用C开发各种程序,从简单应用到极其复杂的大型软件。各种计算机都有可用的C语言系统。标准化应用发展要求C成为更安全可靠、不依赖具体机器或操作系统的标准语言。ANSI在80年代开始标准化工作,1988年颁布ANSIC标准,后被ISO和各国接受,也采纳为中国国家标准(GB/T15272-94)。新标准C99已经通过。按ANSIC标准写程序C的原设计注重灵活性,允许许多不安全的编程方式,正确性靠编程者。用户群扩大后缺点凸现,复杂程序常有隐藏错误。标准化也是为修正C的缺陷。ANSI(AmericanNationalStandardsInstitute):(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile32个关键字if()~else~for()~while()~do~while()continuebreakswitchgotoreturn9种控制语句算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-34种运算符基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体unionC数据类型专业主干课(融会贯通)高级语言程序设计数据结构计算机组成原理汇编与接口技术编译原理操作系统计算机体系结构计算机网络原理数据库系统原理离散数学面向对象程序设计与C++JAVA程序设计专题训练I、II、III算法设计与分析计算机图形学计算方法软件工程……教材及主要参考资料教材《从问题到程序-程序设计与C语言引论》裘宗燕《C程序设计》谭浩强(清华大学出版社)参考资料《C程序设计与应用》,张小东等,人民邮电出版社,2009《C语言的科学与艺术》,EricS.Roberts,翁惠玉箸译,2008《TheCProgrammingLanguage》(C语言程序设计,第2版新版,机械)《CTrapsandPitfalls》(C陷阱与缺陷,邮电)《ExpertCProgramming》(C专家编程,邮电)《PointersonC》(C和指针,邮电)《高质量C/C++编程指南》《C:AReferenceManual》(C语言参考手册,机械)优点:程序设计风格良好知识点设计螺旋式上升从问题到程序的程序设计理念缺点:知识点来回穿插、初学者不易接受优点:内容层次清晰、易懂、安排精良缺点:程序设计风格老旧课程内容第一章程序设计和C语言第二章数据对象与计算第三章变量、函数和控制结构第四章基本程序设计技术第五章C程序结构(函数)第六章数组第七章指针第八章文件和输入输出第九章结构和其它数据机制第十章程序开发技术第十一章标准库程序设计语言和程序设计的基本概念C语言的语法规则及程序设计方法程序设计的扩展与提高总学时(80学时)理论教学:48学时实践教学:32学时上机时间每周四下午2:00-4:00地点主校区9#楼北4层计算机综合教学实验室教学安排第一章程序设计与C语言(上)主要内容预备知识计算机的基本构成计算机中数的表示及进制转换一个简单的C程序集成开发环境VC6.01.1.1计算机的特点和功能计算机的特点:(1)电子的(2)具有内部存储能力(3)由程序自动控制计算机是一个以高速进行操作、具有内部存储能力、由程序控制操作过程的自动电子装置。计算机的功能:数值计算和非数值计算主机控制器运算器内存储器外存储器输入设备输出设备CPU计算机的基本组成(冯.诺依曼结构)算术和逻辑运算存放数据和指令(二进制)CPU(CenterProcessorUnit)I/O设备内存设备运算器控制器运算步骤和原始数据运算结果数据流取数存数指令流存取命令运算命令I/O命令控制流计算机各部分之间的联系CPU—centralprocessingunit计算机的脑执行真正的计算并控制整个计算机的活动CPU的活动由存在内存里的一系列的指令所决定,如:某条指令可以让CPU加两个数某条指令可以让CPU在显示器显示一个字符通过简单指令的组合使用,计算机可以执行复杂的任务现在计算机的CPU都是一块芯片CPU图片IntelCPU示例AMDCPU示例Memory—内存计算机执行一个程序时,必须地方能保存如下内容:程序本身计算中所涉及的数据总体而言,计算机里能够在其中保存和查询信息的硬件称为存储设备,程序中执行过程中保存活动中的程序代码本身和数据所用的存储设备称为primarystorage,一般称为memory内存一般都具有很高的效率,CPU能以极快速度访问其中的内容,内存一般是特殊的称为RAM的芯片,random-accessmemory内存条图片Secondarystorage—外存内存用于存储程序运行期间的活跃数据,但有缺点:只有计算机上电以后,内存才能工作,只要一掉电,内存里的数据就不再存在要保存永久数据,必须采用没电也能保存数据的存储设备,这种存储设备被称为secondarystorage,现在最常用的外存就是磁盘,软磁盘、硬磁盘,flashdisk,光盘各种常见存储设备I/Odevices要使用计算机,就必须使计算机能够与外部世界的用户进行沟通I—input,输入,O—output,输出典型的输入:键盘(标准输入设备)上打的字,鼠标点击典型的输出:屏幕(标准输出设备)上显示的字,打印机上打出的字,耳机里听到的声音常见的外部设备主机板示例1.1.2计算机中数的表示及进制转换计算机中数的表示数码、基与权数码:表示数的符号基:数码的个数权:每一位所具有的值数制十进制数码:0,1,2,3,4,5,6,7,8,9基:10权:518二进制、八进制、十六进制01210108101105518)(各种进制之间的转换二进制、八进制、十六进制转换成十进制方法:按权相加10012345259212120212121111011)()(例10012894868381136)()(例1001231679781610162161516121)()(例AF各种进制之间的转换十进制转换成二进制、八进制、十六进制方法:用原数或商连续除以基,从低到高记录余数,直至商为0例:把十进制数459转换成十六进制数4591628161160(459)10=(1CB)161CB余11余12余1各种进制之间的转换二进制与八进制之间的转换二进制转换成八进制:方法:从右向左,每3位一组(不足3位左补0),转换成八进制八进制转换成二进制:方法:用3位二进制数代替每一位八进制数000~0001~1010~2011~3100~4101~5110~6111~7例(246)8=(010,100,110)2=(10100110)2例(1101001)2=(001,101,001)2=(151)8各种进制之间的转换二进制与十六进制之间的转换二进制转换成十六进制方法:从右向左,每4位一组(不足4位左补0),转换成十六进制十
本文标题:c语言程序设计1第一讲(第一章上)
链接地址:https://www.777doc.com/doc-3265884 .html