资源预览内容
第1页 / 共84页
第2页 / 共84页
第3页 / 共84页
第4页 / 共84页
第5页 / 共84页
第6页 / 共84页
第7页 / 共84页
第8页 / 共84页
第9页 / 共84页
第10页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
知识可以改变命运!知识可以改变命运!c语言程序设计1第一讲(第一章上)高级语言程序设计高级语言程序设计主讲教师:贾彩燕主讲教师:贾彩燕计算机与信息技术学院计算机与信息技术学院计算机科学与技术系计算机科学与技术系cyji.cnc语言程序设计1第一讲(第一章上)计算机与人沟通计算机与人沟通c语言程序设计1第一讲(第一章上)计算机与人沟通计算机与人沟通c语言程序设计1第一讲(第一章上)计算机与人沟通计算机与人沟通c语言程序设计1第一讲(第一章上)计算机与人沟通计算机与人沟通c语言程序设计1第一讲(第一章上)计算机与人沟通计算机与人沟通人和计算机通信使用的语言为计算机语言c语言程序设计1第一讲(第一章上)面向机器的语言面向机器的语言程序设计语言的产生发展程序设计语言的产生发展CPU指令系统,由指令系统,由0、1序列构成的指令码组成序列构成的指令码组成如:如:10000000 加加 10010000 减减用助记符号描述的指令系统用助记符号描述的指令系统如如 ADD A, B接近于人类的自然语言和数学语言接近于人类的自然语言和数学语言如:如:c=a+b面向过程的语言算法语言面向过程的语言算法语言Basic, Fortan,Pascal,C语言等语言等Java,C+等等c语言程序设计1第一讲(第一章上)机器语言和程序机器语言和程序机器语言是机器指令形成的语言;机器语言是机器指令形成的语言;形式为二进制编码,机器可直接执行形式为二进制编码,机器可直接执行000001000100001010000000001100001100000000001000001110 数据装入寄存器数据装入寄存器0数据装入寄存器数据装入寄存器1寄存器寄存器0与与1的数据乘的数据乘数据装入寄存器数据装入寄存器1寄存器寄存器0与与1的数据加的数据加保存寄存器保存寄存器0里的数据里的数据 难写难读,不易编程,与机器有关、程序开发效率极低。难写难读,不易编程,与机器有关、程序开发效率极低。c语言程序设计1第一讲(第一章上)汇编语言和程序汇编语言和程序汇编语言:采用助记的符号形式,有利于人的阅读和使用。汇汇编语言:采用助记的符号形式,有利于人的阅读和使用。汇编指令与机器指令一一对应编指令与机器指令一一对应load 0 aload 1 bmult 0 1load 1 cadd 0 1save 0 d 将单元将单元a的数据装入寄存器的数据装入寄存器0将单元将单元b的数据装入寄存器的数据装入寄存器1寄存器寄存器0与与1的数据乘的数据乘将单元将单元c的数据装入寄存器的数据装入寄存器1寄存器寄存器0与与1的数据加的数据加将寄存器将寄存器0里的数据存入单元里的数据存入单元d 仍然难理解,不易编程,与机器有关、程序开发效率低。仍然难理解,不易编程,与机器有关、程序开发效率低。c语言程序设计1第一讲(第一章上)n计算机无法直接执行汇编语言程序,执行前需要把汇编语言计算机无法直接执行汇编语言程序,执行前需要把汇编语言程序翻译为机器指令程序程序翻译为机器指令程序n最早时通过手工翻译为机器指令最早时通过手工翻译为机器指令n后来人们开发出称为后来人们开发出称为“汇编系统汇编系统”的程序,让计算机去完成的程序,让计算机去完成程序翻译工作程序翻译工作汇编语言的特点:汇编语言的特点:p每条指令的意义容易理解每条指令的意义容易理解p程序粒度太小,细节太多程序粒度太小,细节太多p程序无结构,缺乏组织手段程序无结构,缺乏组织手段p写大程序仍然很困难写大程序仍然很困难c语言程序设计1第一讲(第一章上)高级语言和程序高级语言和程序高级语言的特点:高级语言的特点:n具有类似文字的表现形式,接近自然语言具有类似文字的表现形式,接近自然语言n具有丰富的数据结构,用类似数学表达式形式描述基本计算具有丰富的数据结构,用类似数学表达式形式描述基本计算n用变量等概念取代低级的存储概念,使人摆脱各种繁琐低级用变量等概念取代低级的存储概念,使人摆脱各种繁琐低级的工作,例如存储的安排的工作,例如存储的安排n提供高级操作流程控制手段和程序组织手段提供高级操作流程控制手段和程序组织手段n与具体的机器无关,可移值性好与具体的机器无关,可移值性好在在C语言里写前面同样的程序:语言里写前面同样的程序:d = a * b + c; c语言程序设计1第一讲(第一章上)n计算机无法直接执行高级语言写出的程序计算机无法直接执行高级语言写出的程序n常规方式是做一个编译系统,完成高级语言程序到机器语言常规方式是做一个编译系统,完成高级语言程序到机器语言可执行程序的翻译加工可执行程序的翻译加工n编程编程 编译加工编译加工 执行执行使用高级语言编程:使用高级语言编程:p编程工作的效率大大提高编程工作的效率大大提高p人更容易思考和把握复杂程序的意义人更容易思考和把握复杂程序的意义p更多人愿意投身于这种工作,使编程发展成为一种职业和谋更多人愿意投身于这种工作,使编程发展成为一种职业和谋生方式生方式p术语术语“程序设计语言程序设计语言”已专指已专指“高级语言高级语言”c语言程序设计1第一讲(第一章上)n1954年到年到1957年:高级语言年:高级语言Fortran诞生诞生;n至至1960年代中,开发了年代中,开发了Algol 60 ,COBOL,BASIC等。等。还有函数式语言还有函数式语言LISP 等等;n1970年代开始:年代开始:Pascal 和和 C语言逐渐分别为教学科研语言逐渐分别为教学科研和软件开发用的主要语言和软件开发用的主要语言;n1980年代:逻辑程序语言年代:逻辑程序语言Prolog,面向对象语言面向对象语言Smalltalk 和后来的和后来的C+;n1995年左右的年左右的Java 。高级语言的简单历史高级语言的简单历史c语言程序设计1第一讲(第一章上)nC语言比较小,入门容易,很快就可以开始编程语言比较小,入门容易,很快就可以开始编程n有丰富的程序机制、数据机制、函数定义机制,能满足复杂有丰富的程序机制、数据机制、函数定义机制,能满足复杂程序的需要。许多常用功能通过库实现程序的需要。许多常用功能通过库实现n提供接近硬件的低级操作,广泛用于开发效率要求高的程序。提供接近硬件的低级操作,广泛用于开发效率要求高的程序。被用于代替汇编语言开发底层软件被用于代替汇编语言开发底层软件n生成目标代码质量高、可移植性好,被称为生成目标代码质量高、可移植性好,被称为“中级语言中级语言”n提供了一些支持大规模复杂软件开发的机制提供了一些支持大规模复杂软件开发的机制pC 语言的工作得到世界计算机界的广泛赞许。对计算机工业和语言的工作得到世界计算机界的广泛赞许。对计算机工业和应用发展起了重要推动作用应用发展起了重要推动作用p许多新语言从许多新语言从C汲取营养。如汲取营养。如C+,Java,C#等等p语言设计者获得计算机领域最高奖语言设计者获得计算机领域最高奖图灵奖图灵奖C语言的特点语言的特点c语言程序设计1第一讲(第一章上)C语言简介语言简介nC语言语言1973年由贝尔实验室的年由贝尔实验室的Dennis Ritchie 设计,目标是书设计,目标是书写操作系统和其他系统程序。写操作系统和其他系统程序。nC语言最早用于写语言最早用于写UNIX系统。系统。70年代成为年代成为UNIX的标准开发的标准开发语言,随语言,随UNIX流行而被广泛接受。流行而被广泛接受。n80年代被搬到各种机器的许多操作系统上,逐渐成为一种开年代被搬到各种机器的许多操作系统上,逐渐成为一种开发系统程序和复杂软件的通用语言。发系统程序和复杂软件的通用语言。n后来成为使用最广泛的系统开发语言。人们用后来成为使用最广泛的系统开发语言。人们用C开发各种程开发各种程序,从简单应用到极其复杂的大型软件。序,从简单应用到极其复杂的大型软件。n各种计算机都有可用的各种计算机都有可用的C语言系统。语言系统。c语言程序设计1第一讲(第一章上)标准化标准化应用发展要求应用发展要求C成为更安全可靠、不依赖具体机器或操作系统成为更安全可靠、不依赖具体机器或操作系统的标准语言。的标准语言。ANSI在在80年代开始标准化工作,年代开始标准化工作,1988年颁布年颁布ANSI C标准,后被标准,后被ISO和各国接受,也采纳为中国国家标准和各国接受,也采纳为中国国家标准(GB/T 15272-94)。)。新标准新标准C99已经通过。已经通过。按按ANSI C标准写程序标准写程序C的原设计注重灵活性,的原设计注重灵活性,允许许多不安全的编程方式,正确性允许许多不安全的编程方式,正确性靠编程者靠编程者。用户群扩大后缺点凸现,复杂程序常有隐藏错误。用户群扩大后缺点凸现,复杂程序常有隐藏错误。标准化也是为修正标准化也是为修正C的缺陷。的缺陷。ANSI(American National Standards Institute)c语言程序设计1第一讲(第一章上):(由系统定义,不能重作其它定义由系统定义,不能重作其它定义由系统定义,不能重作其它定义由系统定义,不能重作其它定义) )auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while3232个关键字个关键字c语言程序设计1第一讲(第一章上)if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn9 9种控制语句种控制语句c语言程序设计1第一讲(第一章上)算术运算符:算术运算符:+ - * / % + -+ - * / % + -关系运算符:关系运算符: = != = !=逻辑运算符:!逻辑运算符:! & | & |位运算符位运算符 : | & | &赋值运算符:赋值运算符:= = 及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:, ,指针运算符:指针运算符:* &* &求字节数求字节数 :sizeofsizeof强制类型转换:强制类型转换:( (类型)类型)分量运算符:分量运算符:. -. -下标运算符:下标运算符:其它其它 :( ) -( ) -3434种运算符种运算符c语言程序设计1第一讲(第一章上)基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void定义类型定义类型typedef数值类型数值类型字符类型字符类型char枚举类型枚举类型enum整整 型型浮点型浮点型单精度型单精度型float双精度型双精度型double短整型短整型short长整型长整型long整型整型int数组数组结构体结构体struct共用体共用体unionC C 数据类型数据类型c语言程序设计1第一讲(第一章上)专业主干课(融会贯通)专业主干课(融会贯通)n高级语言程序设计高级语言程序设计n数据结构数据结构n计算机组成原理计算机组成原理n汇编与接口技术汇编与接口技术n编译原理编译原理n操作系统操作系统n计算机体系结构计算机体系结构n计算机网络原理计算机网络原理n数据库系统原理数据库系统原理n离散数学离散数学n面向对象程序设计与面向对象程序设计与CnJAVA程序设计程序设计n专题训练专题训练I、II、IIIn算法设计与分析算法设计与分析n计算机图形学计算机图形学n计算方法计算方法n软件工程软件工程nc语言程序设计1第一讲(第一章上)教材及主要参考资料教材及主要参考资料n教材教材q从问题到程序程序设计与从问题到程序程序设计与C语言引论裘宗燕语言引论裘宗燕qC程序设计谭浩强(清华大学出版社)程序设计谭浩强(清华大学出版社)n参考资料参考资料qC程序设计与应用,张小东等,人民邮电出版社,程序设计与应用,张小东等,人民邮电出版社,2009qC语言的科学与艺术,语言的科学与艺术,Eric S. Roberts,翁惠玉箸译,翁惠玉箸译,2008 qThe C Programming Language(C语言程序设计,第语言程序设计,第2版新版新版,机械)版,机械) qC Traps and Pit falls(C陷阱与缺陷,邮电)陷阱与缺陷,邮电) qExpert C Programming(C专家编程,邮电)专家编程,邮电)qPointers on C(C和指针,邮电)和指针,邮电)q高质量高质量C/C+编程指南编程指南qC: A Reference Manual(C语言参考手册,机械)语言参考手册,机械) 优点:程序设计风格良好知识点设计螺旋式上升从问题到程序的程序设计理念缺点:知识点来回穿插、初学者不易接受优点:内容层次清晰、易懂、安排精良缺点:程序设计风格老旧c语言程序设计1第一讲(第一章上)课程内容课程内容第一章第一章 程序设计和程序设计和C C语言语言第二章第二章 数据对象与计算数据对象与计算第三章第三章 变量、函数和控制结构变量、函数和控制结构第四章第四章 基本程序设计技术基本程序设计技术第五章第五章 C C程序结构(函数)程序结构(函数)第六章第六章 数组数组第七章第七章 指针指针第八章第八章 文件和输入输出文件和输入输出第九章第九章 结构和其它数据机制结构和其它数据机制第十章第十章 程序开发技术程序开发技术第十一章第十一章 标准库标准库程序设计语言和程程序设计语言和程序设计的基本概念序设计的基本概念C C语言的语法规则语言的语法规则及程序设计方法及程序设计方法程序设计的扩程序设计的扩展与提高展与提高c语言程序设计1第一讲(第一章上)n总学时(总学时(80学时)学时)q理论教学:理论教学:48学时学时q实践教学:实践教学:32学时学时n上机上机q时间时间n每周四下午每周四下午2:004:00q地点地点n主校区主校区9#9#楼北楼北4 4层计算机综合教学实验室层计算机综合教学实验室教学安排教学安排c语言程序设计1第一讲(第一章上)第一章第一章程序设计与程序设计与C语言(上)语言(上)c语言程序设计1第一讲(第一章上)主要内容主要内容n预备知识预备知识q计算机的基本构成计算机的基本构成q计算机中数的表示及进制转换计算机中数的表示及进制转换n一个简单的一个简单的C程序程序n集成开发环境集成开发环境VC6.0c语言程序设计1第一讲(第一章上)1.1.11.1.1计算机的特点和功能计算机的特点和功能n计算机的特点:计算机的特点: (1)(1)电子的电子的 (2)(2)具有内部存储能力具有内部存储能力 (3)(3)由程序自动控制由程序自动控制n计算机是一个以高速进行操作、具有内部存储能力、由程序计算机是一个以高速进行操作、具有内部存储能力、由程序控制操作过程的自动电子装置。控制操作过程的自动电子装置。n计算机的功能计算机的功能: : 数值计算和非数值计算数值计算和非数值计算c语言程序设计1第一讲(第一章上)主机主机控制器运算器内存储器外存储器输入设备输出设备CPU计算机的基本组成(计算机的基本组成(冯冯. .诺依曼结构诺依曼结构)算术和逻算术和逻辑运算辑运算存放数据和指令(二进制)CPU(Center Processor Unit)c语言程序设计1第一讲(第一章上)I/OI/O设备设备内存内存设备设备运算器运算器控制器控制器运算步骤和原始数据运算结果数据流取数存数指令流存取命令运算命令I/O命令控制流计算机各部分之间的联系计算机各部分之间的联系c语言程序设计1第一讲(第一章上)CPUcentral processing unitn计算机的脑计算机的脑n执行真正的计算并控制整个计算机的活动执行真正的计算并控制整个计算机的活动nCPU的活动由存在内存里的一系列的指令所决定,如:的活动由存在内存里的一系列的指令所决定,如:q某条指令可以让某条指令可以让CPU加两个数加两个数q某条指令可以让某条指令可以让CPU在显示器显示一个字符在显示器显示一个字符n通过简单指令的组合使用,计算机可以执行复杂的任通过简单指令的组合使用,计算机可以执行复杂的任务务n现在计算机的现在计算机的CPU都是一块芯片都是一块芯片c语言程序设计1第一讲(第一章上)CPU图片图片Intel CPU 示例AMD CPU示例c语言程序设计1第一讲(第一章上)Memory内存内存n计算机执行一个程序时,必须地方能保存如下内容:计算机执行一个程序时,必须地方能保存如下内容:q程序本身程序本身q计算中所涉及的数据计算中所涉及的数据n总体而言,计算机里能够在其中保存和查询信息的硬总体而言,计算机里能够在其中保存和查询信息的硬件称为存储设备,程序中执行过程中保存活动中的程件称为存储设备,程序中执行过程中保存活动中的程序代码本身和数据所用的存储设备称为序代码本身和数据所用的存储设备称为primary storage,一般称为,一般称为memoryn内存一般都具有很高的效率,内存一般都具有很高的效率,CPU能以极快速度访问能以极快速度访问其中的内容,内存一般是特殊的称为其中的内容,内存一般是特殊的称为RAM的芯片,的芯片,random-access memoryc语言程序设计1第一讲(第一章上)内存条图片内存条图片c语言程序设计1第一讲(第一章上)Secondary storage外存外存n内存用于存储程序运行期间的活跃数据,但有内存用于存储程序运行期间的活跃数据,但有缺点:缺点:q只有计算机上电以后,内存才能工作,只要一掉电,只有计算机上电以后,内存才能工作,只要一掉电,内存里的数据就不再存在内存里的数据就不再存在n要保存永久数据,必须采用没电也能保存数据要保存永久数据,必须采用没电也能保存数据的存储设备,这种存储设备被称为的存储设备,这种存储设备被称为secondary storage,现在最常用的外存就是磁盘,软磁,现在最常用的外存就是磁盘,软磁盘、硬磁盘,盘、硬磁盘,flash disk,光盘,光盘c语言程序设计1第一讲(第一章上)各种常见存储设备各种常见存储设备c语言程序设计1第一讲(第一章上)I/O devicesn要使用计算机,就必须使计算机能够与外部世要使用计算机,就必须使计算机能够与外部世界的用户进行沟通界的用户进行沟通nIinput, 输入输入, Ooutput, 输出输出n典型的输入:典型的输入:q键盘键盘(标准输入设备)(标准输入设备)上打的字,鼠标点击上打的字,鼠标点击n典型的输出:典型的输出:q屏幕屏幕(标准输出设备)(标准输出设备)上显示的字,打印机上打出上显示的字,打印机上打出的字,耳机里听到的声音的字,耳机里听到的声音c语言程序设计1第一讲(第一章上)常见的外部设备常见的外部设备c语言程序设计1第一讲(第一章上)主机板示例主机板示例c语言程序设计1第一讲(第一章上)1.1.21.1.2计算机中数的表示及进制转换计算机中数的表示及进制转换n计算机中数的表示计算机中数的表示q数码、基与权数码、基与权n数码:表示数的符号数码:表示数的符号n基:数码的个数基:数码的个数n权:每一位所具有的值权:每一位所具有的值n数制数制q十进制十进制n数码:数码:0,1,2,3,4,5,6,7,8,9n基:基:10n权:权:518q二进制、八进制、十六二进制、八进制、十六进制进制c语言程序设计1第一讲(第一章上)各种进制之间的转换各种进制之间的转换n二进制、八进制、十六进制转换成十进制二进制、八进制、十六进制转换成十进制n方法:按权相加方法:按权相加c语言程序设计1第一讲(第一章上)各种进制之间的转换各种进制之间的转换n十进制转换成二进制、八进制、十六进制十进制转换成二进制、八进制、十六进制n方法:用原数或商连续除以基,从低到高记录方法:用原数或商连续除以基,从低到高记录余数,直至商为余数,直至商为0n例:把十进制数例:把十进制数459转换成十六进制数转换成十六进制数4591628161160(459)10=(1CB)161 C B 余11余12余 1c语言程序设计1第一讲(第一章上)各种进制之间的转换各种进制之间的转换n二进制与八进制之间的转换二进制与八进制之间的转换q二进制转换成八进制:二进制转换成八进制:n方法:从右向左,每方法:从右向左,每3位一组(不足位一组(不足3位左补位左补0),转换成),转换成八进制八进制q八进制转换成二进制:八进制转换成二进制:n方法:方法: 用用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)8c语言程序设计1第一讲(第一章上)各种进制之间的转换各种进制之间的转换n二进制与十六进制之间的转换二进制与十六进制之间的转换q二进制转换成十六进制二进制转换成十六进制n方法:从右向左,每方法:从右向左,每4位一组(不足位一组(不足4位左补位左补0),转),转换成十六进制换成十六进制q十六进制转换成二进制十六进制转换成二进制n方法:用方法:用4位二进制数代替每一位十六进制数位二进制数代替每一位十六进制数0000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F例 (111)2=(0011,0101,0111,1101)2=(357D)16例 (4B9E)16=(0100,1011,1001,1110)2=(1110)2c语言程序设计1第一讲(第一章上)n内存以字节为单元组成内存以字节为单元组成n每个字节有一个地址每个字节有一个地址n一个字节一般由一个字节一般由8个二进制位组成个二进制位组成n每个二进位的值是每个二进位的值是0或或101234567012345678910.字节和位字节和位c语言程序设计1第一讲(第一章上)n原码:最高位为符号位,其余各位为数值本身的绝对值原码:最高位为符号位,其余各位为数值本身的绝对值n反码:反码:q正数:反码与原码相同正数:反码与原码相同q负数:符号位为负数:符号位为1,其余位对原码取反,其余位对原码取反n补码:补码:q正数:原码、反码、补码相同正数:原码、反码、补码相同q负数:最高位为负数:最高位为1,其余位为原码取反,再对整个数加,其余位为原码取反,再对整个数加13126912457810119-5=49+7=16=(4)12数值的表示方法数值的表示方法原码、反码和补码原码、反码和补码c语言程序设计1第一讲(第一章上)原码反码补码+7-7111+0 -0数的范围01111111(-127+127)01111111(-127+127)01111111(-128+127)负数补码转换成十进制数:最高位不动,其余位取反加负数补码转换成十进制数:最高位不动,其余位取反加1例 补码:11111001 取反:10000110 加1: 10000111=-7(用一个字节表示数)(用一个字节表示数)c语言程序设计1第一讲(第一章上)数值的表示方法数值的表示方法定点数、浮点数定点数、浮点数n定点数定点数q小数点的位置保持不变小数点的位置保持不变q正数、纯小数正数、纯小数n浮点数浮点数q小数点的位置可以浮动小数点的位置可以浮动q一般原则:科学计数法一般原则:科学计数法n尾数、基、指数尾数、基、指数n符号位、指数位、尾数位符号位、指数位、尾数位c语言程序设计1第一讲(第一章上)基本术语基本术语n比特(比特(bit):bit):一个二进制位一个二进制位n字节(字节(byte):byte):由若干由若干bitbit组成一个字节组成一个字节, ,一般一般8bit8bitn字(字(wordword): :由一或几个字节组成一个存储单元由一或几个字节组成一个存储单元, ,称为称为wordwordn地址:地址:字或字节的编号字或字节的编号, ,房间号房间号n1kB=1024(bytes)= 21kB=1024(bytes)= 21010 bytes bytes n1MB=1024*1024B=21MB=1024*1024B=22020 bytes bytes n1GB=1024MB=21GB=1024MB=23030bytesbytesn1TB=1024GB= 1TB=1024GB= 2 24040bytesbytesc语言程序设计1第一讲(第一章上)主要内容主要内容n预备知识预备知识q计算机系统的基本构成计算机系统的基本构成q计算机中数的表示及进制转换计算机中数的表示及进制转换n一个简单的一个简单的C程序程序n集成开发环境集成开发环境VC6.0c语言程序设计1第一讲(第一章上)1.2一个简单一个简单C程序程序例例1/*演示程序演示程序1*/#include int main () printf(Good morning!n); return 0;n注意程序基本部分的写法。注意程序基本部分的写法。n程序是字符序列,应该按照易读的形式分行。程序是字符序列,应该按照易读的形式分行。程序形式应较好反映程序程序形式应较好反映程序本身的层次结构本身的层次结构。n可用普通编辑器编写程序,现在人们常用专门的程序开发系统写程序。可用普通编辑器编写程序,现在人们常用专门的程序开发系统写程序。c语言程序设计1第一讲(第一章上)例例2/*演示程序演示程序2*/#include int main() /*求两数之和求两数之和*/ int a, b, sum; /*变量定义变量定义*/ a = 123;b = 456;sum = a + b; /*求和求和*/printf(Sum=%d.n, sum); /*输出输出*/ return 0;c语言程序设计1第一讲(第一章上)主要内容主要内容n预备知识预备知识q计算机系统的基本构成计算机系统的基本构成q计算机中数的表示及进制转换计算机中数的表示及进制转换n一个简单的一个简单的C程序程序n集成开发环境集成开发环境VC6.0c语言程序设计1第一讲(第一章上)实验环境实验环境nVisual C+ 6.0,简称,简称VCnVC使用方法,演示加自学使用方法,演示加自学c语言程序设计1第一讲(第一章上)基本概念基本概念-WorkspacenWorkspace 工作空间工作空间q软件开发中有关空间或环境的基本概念软件开发中有关空间或环境的基本概念q我们的工作就是用我们的工作就是用VC写程序来生产软件(不管写程序来生产软件(不管我们现在做的东西是多小,也是软件),做任我们现在做的东西是多小,也是软件),做任何工作都得有工作环境或空间,何工作都得有工作环境或空间,VC能给我们的能给我们的软件开发提供开发的地方,即软件开发提供开发的地方,即Workspace-工工作空间。作空间。q在工作空间,我们可以开展软件开发工作,工在工作空间,我们可以开展软件开发工作,工作空间的概念等同于建筑工地,农田,采石场作空间的概念等同于建筑工地,农田,采石场等物理空间的概念等物理空间的概念c语言程序设计1第一讲(第一章上)基本概念基本概念ProjectnProject 项目项目/工程工程q在工作空间里我们可建立工程(做一个软件就是一个工程,在工作空间里我们可建立工程(做一个软件就是一个工程,写一个小程序也是一个工程)或称为开展一个工程,可以在写一个小程序也是一个工程)或称为开展一个工程,可以在一工作空间建立或开展多个工程。一工作空间建立或开展多个工程。q要做一个工程要建立的很多东西(类似于盖房子时买的或做要做一个工程要建立的很多东西(类似于盖房子时买的或做的材料和配件,然后打地基,垒墙,的材料和配件,然后打地基,垒墙,),做一个软件项目),做一个软件项目也需要建立很多东西,这些东西最基本的就是各种文件。也需要建立很多东西,这些东西最基本的就是各种文件。c语言程序设计1第一讲(第一章上)基本概念基本概念File和工作目录和工作目录nFile 文件文件q文件是项目的基本组成部分文件是项目的基本组成部分q有些文件是系统自动生成的,有些文件是自己做的,有些是有些文件是系统自动生成的,有些文件是自己做的,有些是别人做好的(现成配件,买或拿过来使用)别人做好的(现成配件,买或拿过来使用)n工作目录工作目录q文件必须有一个存放的地方(在盖房子的过程中,必须有地文件必须有一个存放的地方(在盖房子的过程中,必须有地方摆放各种建筑材料,道理一样),存放文件的地方称为工方摆放各种建筑材料,道理一样),存放文件的地方称为工作目录,称为作目录,称为Work directory或或location of projectc语言程序设计1第一讲(第一章上)入门篇入门篇如何找到如何找到VC,如何建立一个工程,如何,如何建立一个工程,如何写一个简单的程序写一个简单的程序c语言程序设计1第一讲(第一章上)找到并进入找到并进入Visual C+ 6.0n第一步,在开始菜单上找到第一步,在开始菜单上找到VC 6.0qMicrosoft Visual Studio 6.0nMicrosoft Visual C+ 6.0启动这个启动这个程序程序c语言程序设计1第一讲(第一章上)菜单菜单:可以选可以选择各种功能择各种功能工具条工具条左视图左视图主视图,一主视图,一般在这里写般在这里写程序程序工作状态,如编译错工作状态,如编译错误信息误信息状态栏,如状态栏,如当前哪行哪当前哪行哪列等列等c语言程序设计1第一讲(第一章上)第二步第二步 新建一个项目新建一个项目n在主菜单上选择在主菜单上选择File菜单菜单n在在File的下拉菜单下面选择的下拉菜单下面选择 Newn出现一个界面出现一个界面q选择项目的类型选择项目的类型: projectsq要求选择项目中所有文件的存放位置要求选择项目中所有文件的存放位置:locationq给项目起一个名字给项目起一个名字: project namec语言程序设计1第一讲(第一章上)新建一个新建一个project各种可以选择的各种可以选择的项目类型,实验项目类型,实验过程中,选择过程中,选择Win32Console Application项目名称项目名称确定代码存确定代码存储目录储目录c语言程序设计1第一讲(第一章上)选择工作目录,录入项目名称选择工作目录,录入项目名称1.选择该项选择该项3.录入项目名称录入项目名称4. 点击点击OK2.确定工作目录确定工作目录c语言程序设计1第一讲(第一章上)出现如下提示,要求选择控制台应用出现如下提示,要求选择控制台应用的类型,选择前三项都行的类型,选择前三项都行选择选择finishc语言程序设计1第一讲(第一章上)出现如下对话框,说明系统为你自动生出现如下对话框,说明系统为你自动生成的项目及内容一些基本信息成的项目及内容一些基本信息选择选择okc语言程序设计1第一讲(第一章上)系统在自动建立的系统在自动建立的D:060281001MyProject目录下所生成所有文件目录下所生成所有文件及目录及目录c语言程序设计1第一讲(第一章上)系统生成的文件类型系统生成的文件类型n.dsw文件:工作空间文件,保存工作空间信息,即工作环境里有文件:工作空间文件,保存工作空间信息,即工作环境里有什么项目,每个项目有什么文件,当前那个项目是活跃的,工作什么项目,每个项目有什么文件,当前那个项目是活跃的,工作空间打开了哪些东西,等等空间打开了哪些东西,等等n.dsp文件文件:项目文件,保存有关项目的信息,如一个项目包括哪些项目文件,保存有关项目的信息,如一个项目包括哪些文件,项目配置信息文件,项目配置信息n.cpp: VC程序源代码文件程序源代码文件n.h: VC头文件头文件n.obj: 目标文件目标文件n.exe: 可执行文件可执行文件n其它文件如其它文件如ncb, opt, clw, plg, 暂时不必知道含义,有兴趣自动暂时不必知道含义,有兴趣自动去查阅去查阅c语言程序设计1第一讲(第一章上)项目信息框项目信息框此处显示设计内容此处显示设计内容点击此处可以分别以:类视图点击此处可以分别以:类视图或文件视图的方式看项目内容。或文件视图的方式看项目内容。在学习过程一般用文件视图看在学习过程一般用文件视图看各个源文件的内容,以后学过各个源文件的内容,以后学过C+以后可以用类视图方式查以后可以用类视图方式查看看此处显示各种操作结果信息,如编译错误等,调试窗口等此处显示各种操作结果信息,如编译错误等,调试窗口等c语言程序设计1第一讲(第一章上)点击点击切换成文件视图,切换成文件视图,可以点击各层上的可以点击各层上的+号展开各类文件号展开各类文件c语言程序设计1第一讲(第一章上)展开后的形式展开后的形式:Source files:源文件源文件 MyProject.cpp是以项目名字命名的自动是以项目名字命名的自动生成的主程序文件,生成的主程序文件,main函数一般写在该文函数一般写在该文件中,系统也可能会自动在这个文件中生成一件中,系统也可能会自动在这个文件中生成一个个main函数。函数。 stdafx.cpp是项目向导自动生成的文件是项目向导自动生成的文件Header Files:头文件头文件 stdafx.h也是系统自动生成文件也是系统自动生成文件注意:注意: 一般不要去删除一般不要去删除stdafx.cpp和和stdafx.h其它文件暂时不用管它其它文件暂时不用管它双击双击MyProject.cpp即可开始工作写程序即可开始工作写程序c语言程序设计1第一讲(第一章上)双击双击MyProject.cpp后,后,出现该源程序文件的内容,出现该源程序文件的内容,注意随前面步骤的所选选项注意随前面步骤的所选选项的不同,生成的内容会有所的不同,生成的内容会有所不同不同系统生成的注释系统生成的注释系统自动生成的系统自动生成的文件包含命令,文件包含命令,不要删除它不要删除它系统自动生成的系统自动生成的main函数,我们可函数,我们可以在这个函数的基以在这个函数的基础上开始写程序础上开始写程序当前的编辑状态信息:光当前的编辑状态信息:光标所在行列号,覆盖标所在行列号,覆盖(OVR)或插入状态等或插入状态等c语言程序设计1第一讲(第一章上)插入一行新语插入一行新语句,输出一行句,输出一行字符字符注意:注意: 应及保存自己写的程序应及保存自己写的程序 尽快学会常见的编辑方法尽快学会常见的编辑方法 插入,删除,加一行,删除一行,插入,删除,加一行,删除一行,删除部分字,翻页,到文件头部,到删除部分字,翻页,到文件头部,到文件尾部,跳格(文件尾部,跳格(TAB),切换大小写,),切换大小写,选中部分文字,复制,粘贴,剪切,选中部分文字,复制,粘贴,剪切,熟悉键盘,学会中英文打字熟悉键盘,学会中英文打字c语言程序设计1第一讲(第一章上)Build菜单菜单Compile 编译编译 ctrl+f7Build 编译链接编译链接 F7Clean清除编译结果清除编译结果Start Debug 开始排错开始排错Execute 编译链接执行编译链接执行 ctrl+f5c语言程序设计1第一讲(第一章上)按按F7对上述本程序进行编对上述本程序进行编译,结果编译出错译,结果编译出错按按F4看出错地方和原因看出错地方和原因c语言程序设计1第一讲(第一章上)错误原因说明,注意:尽快学会错误原因说明,注意:尽快学会看懂这些英文错误指示。看懂这些英文错误指示。 printf是没有说明的标识符,常是没有说明的标识符,常见词:见词:undeclared:未声明的,未声明的,identifier标识符,标识符,missing缺少,缺少,error错误,错误,warning警告,警告,寻找错误原因,改正错误寻找错误原因,改正错误错误位置错误位置指示,右指示,右下角也行下角也行列号指示列号指示c语言程序设计1第一讲(第一章上)上个错误的原因:上个错误的原因: 想使用想使用printf函数,函数,但是没有对该函数进行但是没有对该函数进行说明。说明。解决办法:解决办法: 在使用在使用printf之前的地之前的地方(一般在文件头部)方(一般在文件头部)用用include来包含对来包含对printf进行了说明的头进行了说明的头文件,头文件文件,头文件stdio.h里面说明里面说明printf这个函这个函数。数。修改完以后,再次编译修改完以后,再次编译c语言程序设计1第一讲(第一章上)重新编译后无误,可以重新编译后无误,可以开始运行程序开始运行程序从菜单运行,或按从菜单运行,或按ctrl+F5运行运行c语言程序设计1第一讲(第一章上)运行结果运行结果Console Application控制台应用程序控制台应用程序命令行程序命令行程序c语言程序设计1第一讲(第一章上)如何打开一个现有项目如何打开一个现有项目?c语言程序设计1第一讲(第一章上)常见的三种方法常见的三种方法n方法方法1. 在在VC的的File菜单下,选择菜单下,选择Open Workspace,选择你原项目所处目录的,选择你原项目所处目录的dsw文件,如文件,如MyProject.dswn方法方法2. 可以到可以到File菜单下的菜单下的Recent Workspace(最(最近访问过的工作空间),看看是否有你想打开的项目近访问过的工作空间),看看是否有你想打开的项目的工作空间。的工作空间。n方法方法3. 在资源管理器下找到你的工作目录,打开扩展在资源管理器下找到你的工作目录,打开扩展名为名为dsw的文件,双击以后打开(注意:如果系统中的文件,双击以后打开(注意:如果系统中装了有装了有.net开发环境,双击击这类文件可能会进入开发环境,双击击这类文件可能会进入C#开发环境)。开发环境)。c语言程序设计1第一讲(第一章上)其它需要掌握的上机方法其它需要掌握的上机方法n如何调试一个程序如何调试一个程序n如何增加新文件如何增加新文件n如何加入模块说明和函数说明如何加入模块说明和函数说明n如何将程序文件打包如何将程序文件打包n查找帮助查找帮助n掌握基本编辑技巧掌握基本编辑技巧n查找定位查找定位n新建文件新建文件c语言程序设计1第一讲(第一章上)实验要求实验要求n做好实验准备,写好要实验的程序,先行熟悉做好实验准备,写好要实验的程序,先行熟悉开发环境开发环境n充分利用时间充分利用时间n多提问题多提问题n学习掌握出现的编译错误,提高排错能力学习掌握出现的编译错误,提高排错能力n多调通几个程序多调通几个程序c语言程序设计1第一讲(第一章上)上机作业上机作业n完成完成19页习题页习题38q即将例即将例1.1(Good morning)程序输入计算机并调试程序输入计算机并调试c语言程序设计1第一讲(第一章上)Q & A!c语言程序设计1第一讲(第一章上)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号