01第一章-C概述_第1页
01第一章-C概述_第2页
01第一章-C概述_第3页
01第一章-C概述_第4页
01第一章-C概述_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计基础(C)课程组程序设计基础(C)课程组1-0.概述p计算机n计算机是一种具有内部存储能力的自动、高效的电子设备 能高速、精确、自动处理信息的现代化电子设备程序设计基础(C)课程组1-0.概述p计算机n计算机接受和处理的对象是信息,处理的结果也是信息 信息是能够被人类(或仪器)接受、以声音、图形/图像、文字、视频等形式表现出来的一切可以传递的知识内容程序设计基础(C)课程组1-0.概述p计算机n数据外在表现形式 数值 文本 图像/图形 声音 .n数据内部表现形式 统一的二进制数特定的计算机程序程序设计基础(C)课程组1-0.概述p计算机n怎样工作? 冯诺依曼体系结构执行存放在计算机的内

2、部存储器中的指令程序设计基础(C)课程组1-1.程序和程序设计语言p指令n指令是计算机执行某种操作的命令 每条指令可完成一个独立的操作 采用硬件能理解并能执行的语言程序设计基础(C)课程组1-1.程序和程序设计语言p程序n指令序列集合 是为实现特定目标或解决特定问题而用计算机语言编写的、可以连续执行并能够完成一定任务的指令序列的集合程序设计基础(C)课程组1-1.程序和程序设计语言p软件n由程序和有关程序的技术文档资料组成n软件系统 系统软件 应用软件程序设计基础(C)课程组1-1.程序和程序设计语言p程序设计语言n必须由某种程序设计语言描述 是与计算机交流的工具程序设计基础(C)课程组1-1

3、.程序和程序设计语言p程序设计语言的发展Machine LanguagesAssembly LanguagesHigh-Level Languages+1300042774+1400593419+1200274027LOAD AADD BSTORE CC=A+B程序设计基础(C)课程组1-1.程序和程序设计语言p高级语言n特点 简洁性 可移植性 易读性程序设计基础(C)课程组1-1.程序和程序设计语言p高级语言n翻译程序的方式 解释方式 编译方式程序设计基础(C)课程组1-1.程序和程序设计语言p常见的高级语言n过程化的高级语言 BASIC(Beginners all Purpose Symb

4、olic Instruction Code ) PASCAL C FORTRAN 程序设计基础(C)课程组1-1.程序和程序设计语言p常见的高级语言n面向对象语言与可视化编程环境(非过程化语言) 如Visual系列(VC+、VB等) Power Builder Delphi Java等程序设计基础(C)课程组1-1.程序和程序设计语言p程序设计n计算机编程 程序设计中需要设计语言和开发环境 程序设计需要遵循一定的方法和原则程序设计基础(C)课程组1-1.程序和程序设计语言p程序设计过程n确定数学模型(或数据结构) 明确问题要求、分析问题、设计解决问题方法n算法描述 算法可以采用自然语言方式、程

5、序流程图或其他直观方式程序设计基础(C)课程组1-1.程序和程序设计语言p程序设计过程n编写程序 使用某种程序设计语言,将设计好的算法表达出来n程序测试 经过科学的、严格的测试,最大限度地保证程序的正确性程序设计基础(C)课程组1-1.程序和程序设计语言p程序设计过程n例1-1:已知圆半径和高,计算圆柱体的体积n设计过程 数学模型 v=3.14*r*r*h 算法描述 编写程序 测试声明变量v,h,r;输入数据:r=3.0,h=5.0;计算体积v=3.148*r*r*h;输出v值程序设计基础(C)课程组1-2.算法(Algorithm)p算法概念n算法是为了解决一个特定的问题而采取的确定的、有限

6、的、按照一定次序进行的、缺一不可的执行步骤n计算机算法分类 数值运算算法 非数值运算算法程序设计基础(C)课程组1-2.算法p算法设计n算法是程序设计最关键的问题 因为它直接关系到编写出来的程序质量 与之相对应的具体语言(例如C语言)则是一个工具,是算法的一个具体实现n设计算法的过程是从具体到抽象的过程程序设计基础(C)课程组1-2.算法p算法描述工具n伪代码n流程图nN/S图nUMLn.程序设计基础(C)课程组1-2.算法p伪代码(Pseudocode)n例1-2:猴子吃桃问题 有一堆桃子不知数目,猴子第一天吃掉一半并多吃了一个,第二天照此方法,吃掉剩下桃子的一半加一个,天天如此,到第十天早

7、上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?数学模型:ai=2*(ai+1+1) i=9,8,7,1;算法描述:(1)a1=1 /*第10天的桃子数,A1的初始值*/ i=9 /*计数器的初值为9*/(2)a0=2*(a1+1) /*计算当天的桃子数*/(3)a1=a0; /*将当天的桃子数作为下一次计算的初值*/(4)i=i-1;(5)若i=1,继续循环执行(2);(6)输出A0的值; 其中(2)(5)反复执行,直到条件不满足(iB,则A-MAX;若AMAX。(3)若CMAX,则C-MAX。(4)输出MAX,MAX既是最大数。程序设计基础(C)课程组1-2.算法p流程图n例1-4:输

8、出全班(30名)及格学生的成绩 算法描述开开始始定定义义变变量量a输输入入第第一一个个学学生生成成绩绩=60?输输出出该该成成绩绩读读入入下下一一个个学学生生成成绩绩结结束束真真真真假假假假程序设计基础(C)课程组1-2.算法pN-S图n1973年,Nassi和Shneiderman提出n例1-5:输入两个数,输出其中较小的数程序设计基础(C)课程组1-2.算法p算法特性n有穷性n唯一性n正确性n有零个或多个输入n有一个或多个输出程序设计基础(C)课程组1-2.算法p算法的复杂性n算法的复杂性是算法效率的度量,是评价算法优劣的重要依据n时间效率和空间效率程序设计基础(C)课程组1-3. C语言

9、概述pC语言发展历程nC语言的设计者Dennis M. Ritchien贝尔实验室于20世纪70年代初期研制 Thompson用汇编语言编写PDP-7操作系统UNIX BCPL语言基础上的B语言 Dennis Ritchie把B改造成C,并始用C重写UNIX程序设计基础(C)课程组1-3. C语言概述pC语言标准n1978年,The C Programming Language,标准c语言n1983年,标准ANSI cn1987年,87 ANSI Cn1990年,ISO C的标准程序设计基础(C)课程组1-3. C语言概述pC语言特点n适合开发系统软件n结构化的程序设计语言n面向对象程序设计的

10、基础nC语言被分类为高级语言n目前主要应用在嵌入式领域和系统级编程程序设计基础(C)课程组1-3. C语言概述pC程序结构n例1-6:分析一个经典的C程序。#include main(void) printf(“Hello! C Programmingn”); 运行后在屏幕上输出:Hello! C Programming/#include是C语言预处理程序的一条指令/main是C程序的主函数名程序设计基础(C)课程组1-3. C语言概述pC程序结构n例1-8:分析一个利用函数调用方式实现加法运算的程序。#include main( ) /*主函数*/ int a,b,sum=0; /*定义变量

11、并赋初值*/ scanf(“%d%d”,&a,&b); sum=add(a,b); /*调用函数add,将得到的值赋给sum*/ printf(“%d,%d,sum=%dn”,a,b,sum); /*计算两数相加的函数*/int add(int x,int y) /*定义add函数,add函数值为int型*/ int z; z=x+y; /*计算x+y的结果赋值给z*/ return(z); /*从add函数返回调用处;z为返回的函数值*/ 程序设计基础(C)课程组1-3. C语言概述pC程序结构n格式特点 C语言严格区分大、小写英文字母 C语言程序是由一个个的语句组成 用大括号对“ ”表示程

12、序的结构层次范围 语言程序可以使用注释程序设计基础(C)课程组1-3. C语言概述pC程序结构n一个C 程序可以由一/多个源程序文件文件组成 C程序源程序文件1源程序文件i源程序文件n预编译命令函数1函数n函数体函数首部程序设计基础(C)课程组1-3. C语言概述pC程序结构n函数的结构nC源程序文件结构int main () int a=1,b=5,c; c=a+b; printf(“c=%dn”,c); #include main () int a=1,b=5,c; c=add(a,b); printf(“c=%dn”,c); int add(int x,int y) return(x+y); 程序设计基础(C)课程组1-3. C语言概述pC程序的编辑、编译和运行n源程序n编译n目标代码程序设计基础(C)课程组1-3. C语言概述p集成开发环境(IDE)n包括 简单的文字编辑器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论