




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机编程2011年2月23日TheProgramming学习本课程的三步曲——自我介绍(之一)工作部门:计算机科学与技术学院姓名:王红工作地点:南教4——230办公电话:邮箱:学习本课程的三步曲——认识你们(之二)0101045A和101145ACDIO试点班的86位同学!两个不同的电子信息工程专业!你们的学习基础(好、差、一般)?你们的学习作风(好、差、一般)?你们的学习效果(好、差、一般)?课程的教学目标
本课程的特点是理论性和实践性强:1、通过本课程的学习,掌握结构化程序设计的基本思想和一般方法;2、以C为语言载体,训练在VC++环境下设计程序、调试程序的能力;3、逐渐掌握复杂软件的设计和开发手段,为后续专业课程的学习打下扎实的理论和实践基础。课程学习要求保持课堂安静,头脑清醒,思维活跃。重视上机实践,有效利用课内外上机时间。认真、独立、按时完成并提交实验报告,不断总结程序设计与调试经验。充分利用Bb网络平台开展学习、交流与互动。做好课前预习和课后复习。教材、参考书与课时安排教材(必备)C语言程序设计,何钦铭、颜晖主编,高等教育出版社,2008C语言程序设计实验指导,颜晖主编,高等教育出版社,2008参考书(自选)《C程序设计》(第三版)谭浩强编著清华大学出版社《C语言程序设计实习指导与模拟试题》天津大学出版社课时安排授课总学时:54学时课内实验学时:20学时(包含1个综合编程训练)课外实验学时:20学时(课外自由实验)第1章
引言本章教学要求什么是程序?程序设计语言包含哪些功能?程序设计语言在语法上包含哪些内容?结构化程序设计有哪些基本的控制结构?C语言有哪些特点?C语言程序的基本框架如何?形成一个可运行的C语言程序需要经过哪些步骤?如何用流程图描述简单的算法?本章教学内容与要点C语言程序实例程序与程序设计语言C语言的发展历史与特点实现问题求解的过程课程小结/*example1.2calculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}运行结果:sum=34语句预处理命令注释C语言程序实例1.2:#include<stdio.h>/*编译预处理命令*/intmain(void)/*主函数*/{ intn;/*变量定义*/ intfactorial(intn);/*函数声明*/
scanf("%d",&n);/*输入一个整数*/ printf(“%d\n”,factorial(n));/*调用函数计算阶乘*/return0;}intfactorial(intn) /*定义计算n!的函数*/{ inti,fact=1;
for(i=1;i<=n;i++)/*循环*/ fact=fact*i;returnfact;}输入4输出24C语言程序实例1.3:
求阶乘问题。输入一个正整数n,输出n!。C程序的结构特点分析:函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“
;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法4.编译预处理命令程序与指令指令:是计算机能够执行的一个最基本的操作命令。如实现一次加法运算或实现一次大小的判别。计算机的指令系统:计算机所能实现的指令的集合。程序:一系列计算机指令的有序组合。程序与指令示例1:编写程序,分别求和与乘积虚拟的计算机指令系统(7条指令)指令1:InputX将当前输入数据存储到内存的X单元指令2:OutputX将内存X单元的数据输出。指令3:AddXYZ将内存X单元的数据与Y单元的数据相加并将结果存储到Z单元。指令4:SubXYZ将内存X单元的数据与Y单元的数据相减并将结果存储到Z单元。指令5:BranchEqXYP比较X与Y,若相等则程序跳转到P处执行,否则继续执行下一条指令。指令6:JumpP程序跳转到P处执行。指令7:SetXY将内存Y单元的值设为X。程序与指令示例2:
——输入输入3个数A,B和C,求A+B+C的结果InputA;输入第1个数据到存储单元A中InputB;输入第2个数据到存储单元B中InputC;输入第3个数据到存储单元C中AddABD;将A、B相加并将结果存在D中AddCDD;将C、D相加并将结果存在D中OutputD;输出D的内容程序设计语言语言的基础是一组记号和一组规则。程序设计语言包含三个方面,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成程序的各个记号之间的组合规则,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但也不涉及使用者。语用表示程序与使用的关系。程序设计语言的基本成分有:①数据成分,用于描述程序所涉及的数据;②运算成分,用于描述程序中所包含的运算;③控制成分,用于描述程序中所包含的控制;④传输成分,用于表达程序中数据的传输。程序设计语言的功能数据表达:表达所要处理的数据流程控制:表达数据处理的流程程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和Dennis.M.RitchieC标准标准C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年国际标准的ANSIC3. C语言是中级语言关于C语言中级语言C语言的主要“单词”标识符:C语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线。保留字(关键字):
它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符。自定义标识符:
包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。有意义的英文单词。常量:
常量是有数据类型的,如,123、12.34。运算符:代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、>(大于)。C语言的主要语法单位表达式:
运算符与运算对象组合就形成了表达试。如:2+3*4。变量定义:
变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:inti;语句:
语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。函数定义与调用。程序设计语言的语法
——函数定义与调用函数是完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。输入输出:C语言没有输入输出语句,用库函数printf()、scanf()等实现。C语言特点语言简洁、紧凑、灵活运算符和数据类型丰富(数据类型检查不严格,表达式出现二义性,不具备数据越界自动检查功能,运算符的优先级与结合性对初学者难于掌握)程序设计结构化、模块化生成目标代码质量高可移植性好C语言中大小写字母代表不同含义32个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile9种控制语句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn<34种运算符:算术运算符:+-*/%++--关系运算符:<<===>>=!=逻辑运算符:!&&||位运算符:<<>>~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.->下标运算符:[]其它:()-C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union<程序设计研究的内容面向过程的程序=算法+数据结构算法:对操作的描述。是指解题方案的准确而完整的描述。数据结构:对数据的描述。是指数据的逻辑结构、物理结构及其上的相关运算。+程序设计语言数据的结构数据表达:一般将数据抽象为若干类型数据类型:对某些具有共同特点的数据集合的总称代表的数据(数据类型的定义域)在这些数据上做些什么(即操作或称运算)常量(常数)与变量例如:整数类型包含的数据:{...,-2,-1,0,1,2,..}作用在整数上的运算:+、-、*、/等将复杂程序划分为若干个相互独立的模块。模块:一条语句(Statement)、一段程序或一个函数(子程序)等。单入口、单出口。结构化程序设计方法任何程序都可以将模块通过3种基本的控制结构进行组合来实现。顺序结构循环结构分支结构流程控制语句级控制:3种基本的控制结构顺序控制结构:自然顺序执行分支控制结构(选择结构):根据不同的条件来选择所要执行的模块循环控制结构:重复执行某个模块单位级控制:函数的定义与调用处理复杂问题时,将程序分为若干个相对独立的子程序(函数)流程控制实现问题求解的过程问题1:求1~100间所有偶数的和。1.问题分析与算法设计求在一定范围内(1~100)、满足一定条件(偶数)的若干整数的和,求累加和。思路:设置一个变量(sum),其初值为0,然后在1~100的数中(i)寻找偶数,将它们一个一个累加到sum中。一步累加:sum=sum+i;重复累加,用循环语句实现,在循环过程中:(1)判别i是不是偶数:用分支控制语句来实现。(2)对循环次数进行控制:通过i值的变化问题分析与算法设计思路——》确定算法算法:一组明确的解决问题的步骤,它产生结果并可在有限的时间内终止。算法的描述:自然语言伪代码流程图:算法的图形表示法sum=0i=1i<=100i是偶数?sum=sum+ii=i+1输出sum真真假假实现问题求解的过程2.编辑程序生成程序的源文件,C语言源文件的后缀为.c/.cpp#include<stdio.h>intmain(void){ inti,sum=0;
for(i=1;i<=100;i++)if(i%2==0)sum=sum+i;printf("%d",sum);return0;}实现问题求解的过程3.程序编译连接编辑程序后,用该语言的编译程序对其进行编译,以生成二进制代码表示的目标程序(.obj),与编程环境提供的库函数进行连接(Link)形成可执行的程序(.exe)。编译程序指出语法错误语法错误VS逻辑错误实现问题求解的过程4.运行与调试经过编辑、编译、连接,生成执行文件后,就可以在编程环境或操作系统环境中运行该程序。如果程序运行所产生的结果不是你想要的结果,这是程序的语义错误(逻辑错误)。调试:在程序中查找错误并修改错误的过程。调试的方法设置断点单步跟踪调试是一个需要耐心和经验的工作,也是程序设计最基本的技能之一。开始结果语法错误源程序.c/.cpp目标程序.obj可执行程序.exe编辑编译连接运行连接错误运行错误C语言程序的调试、运行步骤源程序目标语言可执行语言内容程序设计语言机器语言机器语言可执行不可以不可以可以文件后缀*.C*.OBJ*.EXE常用术语源程序:用户可读的程序文本,即程序本身。目标代码:由源程序翻译而成的机器码,计算机能读并能直接运行。连接程序:将各自分别编译后的程序连接为一个可运行程序的程序。(它将C语言的标准库函数与用户所编的程序联合在一起)库:包含标准函数的文件,这些函数可用在用户的程序中。(包括所有的输入输出函数及其它有用的例行函数)编译状态:在程序编译过程中所出现的事件。运行状态:在程序运行过程中所发生的事件。VisualC++6.0集成开发环境的启动进入VC++集成环境有三种办法:(1)双击桌面VC图标(2)从开始菜单进入“程序”(3)从开始菜单进入“运行”(msdev)用鼠标双击“桌面”上的VC图标,进入环境File菜单:文件操作等Edit菜单:编辑查找View菜单:窗口设置等Insert菜单:资源加入等Project菜单:工程管理等Build菜单:编译链接调试Tools菜单:调试工具、系统配置等图1.4Window菜单:窗口管理Help菜单:帮助信息在VC++6.0中开发一个C应用程序的大致步骤是:①创建一个项目工作区(Workspace);②在项目工作区中创建一个项目(Project)。上述两步可以合并,即在创建项目的同时创建工作区;③在项目中建立和编辑源文件、头文件等程序文件(或将这些文件添加到项目中);④对应用程序进行编译和连接;⑤执行应用程序。
理解并掌握程序设计的概念和一般方法。熟悉C语言程序的基本结构与书写要领,初步认识C语言的主要应用范围。思考C语言为什么被称为“中级语言”。掌握C程序运行过程的上机步骤及注意事项。本章小结 课后练习要求:1、在复习课堂教学内容的基础上,认真阅读《实习指导书》中1~11页的内容。2、利用课内外上机时间,完成实验一中编程题1、编程题2和改错题要求上机实验,并将实验内容以《实验报告》的形式统一上交。《实验报告》的撰写要领1、实验内容:题目、目的、程序设计思路、程序代码、结论与分析。2、关于实验结果与结论:应该给出实验过程中程序运行的具体状态(输入、输出的数据与格式要求),并对实验结论进行简要的分析。3、关于实验过程的分析:希望大家针对自己的实验情况进行细致、深入的分析,从中总结有益的程序调试经验,不断加深对程序设计思想的理解,从而改进学习方法。4、教学建议:如果对教学过程中方法、手段有什么意见,希望实事求是的给出。如何尽快学会用C语言进行程序设计了解程序设计语言(C语言)模仿、改写、编写通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。学好计算机编程的唯一途径是:你的编程能力与你在计算机上投入的时间成正比!上机练习!学习方法指导1、认真听讲,积极思考,提高上课效率。2、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年宠物食品营养配方考题试题及答案
- 宠物营养学与其他学科的关联试题及答案
- 二手车评估与风险防控的结合试题及答案
- 房地产工作年终述职报告
- 重视药物使用中的患者反馈试题及答案
- 考前冲刺2024食品质检员考试试题及答案
- 食品质量问题源头追溯与考核试题及答案
- 汽车维修工专业术语解析试题及答案
- 全新视觉传播设计相关试题及答案
- 培训管理人员在岗能力提升计划
- 2024年员工知识产权与保密协议范本:企业知识产权保护实务3篇
- WB/T 1019-2002菱镁制品用轻烧氧化镁
- GB/T 1957-2006光滑极限量规技术条件
- GB/T 13350-2008绝热用玻璃棉及其制品
- 2023年阿勒泰地区阿勒泰市法院书记员招聘笔试题库及答案解析
- AQT3044-2013氨气检测报警仪技术规范
- 中医体质辨识共57张课件
- 魔幻泡泡秀七彩体验馆介绍
- 育苗花卉种子采购合同 修
- 表面工程学第十二章-表面微细加工技术
- 聚乙烯塑料袋检验记录新
评论
0/150
提交评论