




免费预览已结束,剩余24页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础,先修课程:计算机文化基础,辅导教师杜彪email:dubiao66个人主页,网上资源,浙江电大程序设计基础课程资料,程序设计基础导学,在学习本课程之前,先讨论一个问题:编一个程序,输入10个整数,找出10个整数中最大的数并输出。,例如有456832-12872556429876,程序设计方法之一:分而治之,在计算机内存中定义存放10个整数的空间和存放最大数的空间;输入10个整数;找出10个整数中最大的数,并保存;输出这个最大的数。,所谓分而治之,是将一个大问题分解成若干个容易解决的小问题并解决它。对于这个问题可编写程序如下:,问题一:如何存放10个数,根据冯.诺依曼结构,程序和数据是事先存放在内存中的,所以这10个数是事先放在内存中;这10个数的数据类型相同,都是整数;这10个数顺序存放,一个紧接一个。,数据结构程序设计的前提,数据结构包括逻辑结构和物理结构逻辑结构数据之间在逻辑上的关系,包括线性结构(线性表,栈,队列)和非线性结构(树,图)物理结构数据在计算机中的存储结构,包括数组和链表,后续知识:数组可表示线性表,栈,队列,二叉树;二维数组可表示图;链表可表示线性表,栈,队列,树,图;数组和链表在表示数据的逻辑结构时各有优缺点。,数组最常用的数据结构,数组是由若干个类型相同的元素组成;元素的类型决定数组的类型;每个数组有一个数组名;数组中元素在内存中是按顺序存放的,元素的顺序标号称为数组的下标;C语言中数组的下标从0开始,最后一个元素的下标为n-1(n是数组中元素的个数)。,例如,数组名为A,有10个元素,第一个元素为A0;最后一个元素为A9;,计算机语言程序设计时人与计算机的交流工具,所谓语言,是由一些符号根据一定的语法规则所组成的集合,人类的语言由句子组成,计算机语言由语句组成;计算机语言包括机器语言,汇编语言和高级语言三大类。机器语言由二进制的指令组成,可直接执行,但编写和阅读不方便;如果把机器指令和英文缩写一一对应,便形成汇编语言;于是,人们便发明了高级语言,用接近于英语和数学公式的方法来编写程序;高级语言不能直接执行,但可以将整个程序翻译成机器语言后再执行,这个翻译的过程称为编译;有些高级语言如BASIC可以逐条语句翻译并执行并为解释执行。,变量程序中存放数据的基本单元,变量是一个命名的内存存储单元,在程序中可以修改内存变量的值。变量在使用前必须进行说明。如下面程序段计算表达式2*(3+1)和表达式3*(7-2)的结果:intr;r=2*(3+1);r=3*(7-2);其中语句:intr;说明了一个整型的变量r,程序的第一次计算结果8存放在r中,后来r的值被改写成15。:若要在键盘上输入r的值,使用语句:Scanf(%d,其中i表示输入的类型为整型。当运行到这条语句时,可从键盘上输入一个整数,程序会将这个整数的值保存到变量r指定的内存单元中。,C语言中数组的定义方法,说明数组的一般形式为:typenamesize;其中type是数组元素的类型,除不能是void类型和函数之外,它可以是任何类型,size是个整常数,用于说明数组name中最多可存放多少元素,方括号是个数组类型说明符。例如:说明包含有10个整数类型元素的数组A,使用如下的变量说明语句:intA10;int表示整数类型,是integer的缩写。,数组中元素的引用,数组中元素的引用,使用表达式:数组名表达式其中“表达式”是一个整型表达式,其值表示某个元素的序号,例如数组A的10个元素为:A0,A1,A2,A3,A4,A5,A6,A7,A8,A9例如要取得A2的值放在变量m中,可使用:m=A2;:若要将A3的值改为-12,,可使用:A3=-12;,讨论:如何输入数组中的元素,这么做行不行?输入元素A0;输入元素A1;输入元素A2;输入元素A3;输入元素A4;输入元素A5;输入元素A6;输入元素A7;输入元素A8;输入元素A9;,循环解决语句重复书写,i从0到9重复做输入Ai;用C语言表达为:for(i=0;i10;i+)scanf(%d,这样的表达清楚吗?,C语言中的另一种表达:i=0;while(i10)scanf(%d,流程图描述算法的工具,算法是解决问题的步骤,用文字难以表达,最好用流程图,输入数组中10元素的程序流程图,N-S图(盒图),主程序算法描述,输入10整数并输出其中最大值的算法盒图,输入10个数求最大数的主程序,前面已介绍定义变量和数组,及访问和输入数组元素的方法。下面给出主程序,其中/*到*/之间为注解,为了便于理解程序,预编译时会自动删去。,#includeintmax(intA,intn);voidmain()/*定义整型变量m用来存放最大值,数型数组A存入输入数据*/intm,A10;inti;/*i用来存放循环变量*/*输出提示信息,提示用户输入*/printf(“请输入10个整数,用空格或回车间隔:”);/*输入10个整数*/for(i=0;iAk,则K应更新为i。,max函数的算法设计,定义一个变量表示暂时最大值的下标,K初值为,max函数的设计,intmax(intA,intn)/*定义整型变量k用来存放暂时最大值下标,初定A0最大,所以K初值为0,i用作循环变量*/intk=0,i;/*循环,i从1到n-1,Ai与暂时最大者AK比较*/for(i=1;iAk)k=i;/*若Ai比Ak,更新暂时大者下标*/*返回最大值*/returnAk;,思考题:返回k行不行?,上机实验,将输入10个数求最大数的主程序和max函数内容合并,保存在一个文件中;使用VC6.0或TC2.0来编译调试程序,建议使用VC6.0,有关VC使用请参考实验课件1+2+3+4+99+100,将结果显示。,实验注意事项,C语言程序由函数组成,每一个C语言程序有且仅有一个惟一的main函数;C语言是大小敏感的语言,大写和小写是有区别的;由于程序中一般都要用到printf函数来输出结果,所以必须在程序头部加上一行#include在VC中上机时,每一个实验结束后要关闭工作区。,小结,程序的基本结构有三种:顺序,分支和循环;程序设计的目的是处理信息,信息在计算机中的存放是数据存储;数据结构包括逻辑结构和存储结构;算法是程序设计的关键;算法的描述方法有:伪语言,流程图,盒图(N-S图),小结和提高,程序=数据结构+算法软件=程序+文档程序容易出错,程序的正确性难以正确,程序不易读懂和修改;软件是产品,它的生产需要管理,需要用工程化的方法来生产软件;软件的生命周期包括计划阶段,开发阶段和维护阶段;具体包括:可行性研究,需求分析,总体设计,详细设计,编码,测试,运行和维护阶段;每一个阶段都需要文档。,本课程内容,第一篇:程序设计与程序设计语言概述第一章导论:计算机文化基础,计算机模型第二章:程序及程序设计,计算机语言概念;了解各种高级语言,常量,变量,表达式,语句,函数;第三章,第三章C语言程序设计数据类型,运算符和表达式,语句,流程控制,函数,数组等。第二篇:数据结构和算法掌握线性结构线性表,栈,队列的存储结构和常用操作;层次结构树的概念,网状结构图的概念;查找和排序;掌握算法的描述方法;算法设计中常用方法如穷举法,递归法,回溯法等;算法快慢的评价方法时间复杂度。第三篇:程序设计方法与原则程序设计方法的发展:模块化,结构化,面向对象等;软件工程:用工程化的方法以来计划,开发和维护软件。,本课程学习方法,第一篇:程序设计与程序设计语言概述第一章导论,第二章自学为主,网上讨论第三章,第三章C语言程序设计实验学习;教师讲解实验,做实验题;完成实验报告;第二篇:数据结构和算法听课,做习题,参加网上讨论,下载网上资料,复习第三篇:程序设计方法与原则听课,做习题,复习,本课程的建议学习步骤,自学第一章和第二章认真学习本导学,组成学习小组,记录好联系电话在家中的计算机上安装VisualC+6.0,掌握VC+集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沁音耳机方案工程(3篇)
- 特异性标志物检测方法-洞察及研究
- 《2025合同管理规范模板 合同届满终止合同关系》
- 2025年酒店餐饮相关题目及答案
- 环保产业园循环经济发展2025年研究报告:产业园区绿色园区环境监测与治理
- 2025江西吉安市青原区两山发展集团有限公司部分岗位任职要求调整笔试模拟及参考答案详解一套
- 2025年教师招聘之《小学教师招聘》考前冲刺测试卷包含完整答案详解【有一套】
- 2025年民间美术讲座题目及答案
- 2025合作伙伴协议:代理商合同分销业务
- 2025年教师招聘之《幼儿教师招聘》通关题库附答案详解(轻巧夺冠)
- 施工升降机安装拆卸安全教育
- 安全生产管理中的安全设备与技术应用
- 《3D打印产品后处理》 课件 项目3-5 3D 打印产品的上色、3D 打印产品的喷砂处理、3D 打印产品的丝网印刷
- 煤仓作业规程
- 测金属电阻率实验报告
- 政治经济学完整全套教学课件
- 养老护理员培训排泄照料
- 计算机应用基础(windows7-office2010)
- 肾脏肿瘤影像学诊断策略
- 仓库定期检查表范例仓库管理工作检查项目与评分标准
- 显微外科设备器械及显微外科基本技术培训教材培训课件
评论
0/150
提交评论