版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《程序设计基础
(c语言)》主讲:邓春燕
Telmail:dengcy@助课:李慧盈Email:kinsten@126.com1教学目标:利用高级语言分析问题、解决问题的初步能力主要内容:程序设计的思想和方法C语言的主要构成2先导课程:《计算机导论》后继课程: 《面向对象程序设计》、《数据结构》、《算法分析》、《编译原理》、《操作系统》等学习方法多实践(第6,8,10,12周,周一8:00~11:00, 三教IBM实验室)作业3教材:《大学计算机程序设计基础(C语言)》《程序设计基础习题集》参考书:《c程序设计》,谭浩强著,清华大学出版社4第一章绪论鸡兔同笼
—计算
算法PAD图
程序运行计算机的基本结构
C语言VisualC++集成开发环境
作业:P161.11.4练习:1.21.5
熟悉开发环境5§1.1鸡兔同笼问题—计算(p1)【例1.1】我国古代数学著作《孙子算经》所载“鸡兔同笼”问题如下:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”
6
第一步,把问题数学化。根据题目条件,设有x只鸡,y只兔,可列出二元一次方程组:x+y=35(1) 2x+4y=94(2)第二步,求解。解方程组:x=
(4*35-94)/2;y=35-x;第三步,选择一种程序设计语言,描述上述求解过程7#include<stdio.h>voidmain(){intx,y;x=(4*35-94)/2;//计算y=35-x;printf("%d%d",x,y);//输出}P4这就是程序这个过程就是程序设计运行结果演示8用(计算机)程序解决实际问题步骤:1.建立数学模型2.确定计算方法3.算法分析4.写程序、运行调试、测试、交付使用并维护鸡兔同笼问题已知总头数,总脚数;求鸡有多少只,兔有多少只?1.建立数学模型
x+y=35(1)2x+4y=94(2)2.确定计算方法:消去法3.算法分析
x=(4*35–94)/2y=35-x4.写程序、运行调试、测试、交付使用并维护p4#include<stdio.h>voidmain(){intx,y;x=(4*35-94)/2;//计算y=35-x;printf("%d%d",x,y);//输出}9§1.2算法什么是算法一个计算过程,包含具体明确的操作描述了解决问题的方法和途径是程序设计的基础和精髓有效算法的特点有穷性确定性有效性10算法的描述1)流程图:程序框图sum=0;k=1;读入一科成绩→msum=sum+m;k=k+1;开始k<=n结束FT输出sum/n条件FTElse部分Then部分自然语言,流程图,NS图,PAD图,程序等2)NS图盒图由Nassi和Shneiderman提出封闭式的113)PAD图:ProblemAnalysisDiagram用二维树形结构的图来表示程序的控制流,不违背结构化开放式的,清晰,直观,层次分明很容易翻译成程序代码4)程序:过早的考虑细节和语法do-whilek<=nsum=0;k=1;读入一科成绩→msum=sum+m;k=k+1;输出sum/n开始结束12算法的组成p2基本操作表达式以及给变量赋值读(输入)写(输出)基本控制结构顺序控制结构分支控制结构循环控制结构函数调用函数返回13§1.3PAD(ProblemAnalysisDiagram)
操作操作1操作2操作n…图1.2基本操作图1.3顺序控制结构
14鸡兔同笼问题—算法P4顺序控制结构计算:y=35-x;输出:x,y。计算:x=(4*35-94)/2;开始结束15§1.4程序(p4)计算机系统的工作是由事先设计好的程序来控制的。人们根据需要,把让计算机做的工作编成计算机程序,并把程序送入计算机,然后让计算机执行程序,从而完成人们预期的工作。计算机程序是用计算机指令为计算机排定的工作顺序、工作步骤。16程序设计语言程序设计语言用于编写计算机程序程序设计语言可分为:机器语言(低级语言)汇编语言(低级语言)高级语言17机器语言Pentium机器语言程序片段:
101010010001011000000001
001111000001100000000001
0111110000000101
001011010001010100000000机器语言是以二进制代码形式表示的机器基本指令的集合。机器语言程序能被计算机硬件直接识别和执行。18汇编语言Pentium汇编语言程序片段: SUB X,15
JMP S2
S1: ADD X,15
S2: MOV Y,X汇编语言是符号化的机器语言。19高级语言C语言程序片段:
if(a<b)b=a+5;
elseb=a-5;高级语言程序以接近于自然语言或专业语言的方式描述操作。高级语言程序可读性好。高级语言程序具有通用性,程序移植方便。20简单C程序举例例1说明:main()1.主函数{2.函数体}例2main(){
;3.空语句}分号为语句结束符21例3说明:main()//主函数{;//空语句
}4.行注释例4#include<stdio.h>main()
/*使用库函数*/段注释{
printf(“Helloworld");5.输出}显示输出:Helloworld22[例]鸡兔同笼。已知总头数、总脚数,求鸡兔各几只?#include<stdio.h>voidmain(){intx,y;x=(4*35-94)/2;y=35-x;printf("%d
%d",x,y);}算法计算:x=(4*35-94)/2计算:y=35-x输出:xy23#include<stdio.h>//顶层声明:声明头文件voidmain()//顶层声明:函数定义{intx,y;x=(4*35-94)/2;y=35-x;printf("%d
%d",x,y);}源程序文件ch1_3.cpp的构成:*任何一个C程序中,必须有,且仅有一个主函数main()24一个C程序由一个或若干个编译单元组成,每个编译单元是一个源程序文件;一个编译单元由若干顶层声明组成,每个顶层声明是一个声明或函数定义,其中主要为函数定义;声明包括类型定义、变量声明、外部声明、宏、…等;任何C程序必须包含且仅包含一个主函数main。概括:C程序结构25一般C程序文件hello.c#include<stdio.h>voidhello(void){printf(“Hello!\n”);}文件startup.cexternvoidhello(void);intmain(void){
hello();return0}程序一程序二#include<stdio.h>//顶层声明:声明头文件voidmain()//顶层声明:函数定义{intx,y;x=(4*35-94)/2;y=35-x;printf("%d
%d",x,y);}文件ch1_3.cpp26§1.5运行用(计算机)程序解决实际问题步骤:1.建立数学模型2.确定计算方法3.算法分析4.写程序、运行调试、测试、交付使用并维护27程序执行将可执行程序送入计算机并启动计算机执行得到最后结果用汇编语言或高级语言编出程序编辑、录入源程序由翻译器(编译程序)将源程序翻译成机器语言程序由连接程序将机器语言程序连接生成计算机可执行的程序P628将可执行程序送入计算机并启动计算机执行得到最后结果用汇编语言或高级语言编出程序编辑、录入源程序由翻译器(编译程序)将源程序翻译成机器语言程序由连接程序将机器语言程序连接生成计算机可执行的程序出错数据出错程序出错29运行Run程序的运行
出错出错出错源程序目标程序可执行文件编辑Edit编译Compile连接Linkf.cf.objf.exe程序结果翻译方式:解释程序方式编译程序方式30一般C程序执行文件hello.c#include<stdio.h>voidhello(void){printf(“Hello!\n”);}文件startup.cexternvoidhello(void)intmain(void){hello();return0}hello.chello.objstartup.exestartup.cstartup.obj31§1.6计算机的基本结构
(p7)一个计算机系统由中央处理机(CentralProcessUnit,简称
CPU)、内存储器及若干外部设备组成。32§1.6计算机的基本结构(p7)内存储器是计算机的记忆装置,用来存放程序和参与运算的数据。33§1.6计算机的基本结构(p7)内存储器被分成若干单元,每个单元按顺序被编以一定的号码,称为该单元的“地址”。一个二进制位称为一位(bit)。一般以8个二进制位作为一个单元,称作一个字节(byte),也就是说一个字节可以存放8位二进制信息,二个或四个字节称作一个机器字(word)。可以按单元地址来访问某一单元的信息。111111110000000010101010000011110000000000000001000000100000001134§1.6计算机的基本结构(p7)中央处理机包括控制器和运算器两部分。控制器控制整个计算机系统的工作。运算器是进行算术和逻辑运算的。它接收由控制器发来的运算命令,依据命令的要求进行相应的算术和逻辑运算。内存储器运算器控制器磁盘机显示器键盘打印机......中央处理机(CPU)外部设备35§1.6计算机的基本结构(p7)外部设备又称计算机的输入输出设备,简称I/O设备。它们是计算机与外界交流信息的装置。人们通过I/O设备将程序、数据等信息送入计算机中。计算机通过I/O设备将计算结果、控制信号等输出来。常见的I/O设备有显示器、键盘、打印机、绘图仪等。36§1.7C语言简介70年代初,C语言在美国贝尔实验室诞生。ALGOL60(1960)CPL(1963)BCPL(1967)B(1970,KenThompson)C(1972,D.M.RITCHIE)1978年BrianW.Kernighian和D.M.Ritchie出版了名著《TheCProgrammingLanguage》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1982年C标准化工作开始。1983年,美国国家标准化学会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSIC。ANSIC比原来的标准C有了很大的发展。K&R在1988年修改了《TheCProgrammingLanguage》,按照ANSIC的标准重新写了该书。
1989年ISO公布ISO/IEC9899:1990,简称“C89”。1995年对C89作修改和补充,称为“C95”。1999对C进行更大的修订后,公布ISO/IEC9899:1999,简称“C99”。我国于1994年12月4日公布了“中华人民共和国国家标准GB/T15272-94程序设计语言C”。BCPL----BasicCPLALGOL----AlgorithmLanguage
CPL----CombinedProgrammingLanguage37C语言在计算机语言体系中的地位真实会话语言:面向问题的语言C语言汇编语言机器语言硬件(hardware)c语言是一种相对“低级”的程序设计语言,因而能最大限度地发挥计算机的效率。c语言是一种相对“高级”的程序设计语言,因而能极大地提高编程效率。C语言是一种用途广泛、功能强大、使用灵活的编程语言,既适于编写系统软件,又方便编写应用软件。38C语言特点(p8)语言简洁紧凑使用灵活方便C程序具有模块化结构运算符丰富(34种)数据结构丰富具有结构化的控制语句可直接对硬件操作语法限制少所生成的目标代码质量高39§1.7VisualC++集成开发环境(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某钢厂原料采购细则
- 浙江省台州市2027届九上化学期中调研试题含解析
- 2027届福建省厦门市四校联考化学九年级第一学期期末质量跟踪监视模拟试题含解析
- 2027届山东省聊城市莘县化学九上期中考试模拟试题含解析
- 2026汽车外围件行业风险投资发展分析及投资融资策略研究报告
- 工业机器人应用与维护专业项目可行性研究报告
- 2026煤炭能源行业市场分析现状供需要素条件投资评估项目融资发展研究报告
- 2026全球与中国智能税务行业市场发展分析及发展前景预测研究报告
- 2026内蒙古草原羊养殖产业市场供需态势及投资评估规划分析研究报告
- 2026中国休闲食品市场细分品类渠道创新及消费者行为研究报告
- 硕士论文进展汇报模板
- 招标代理机构遴选投标方案(技术标)
- 特许经营合作合同
- DL∕T 1741-2017 电力作业用小型施工机具预防性试验规程
- DLT 5210.5-2018 电力建设施工质量验收规程 第5部分:焊接
- 企业如何应对外汇和汇率风险
- 急诊实习生小讲课课件
- 高分子分子设计
- 第七章 人员配备
- 生产班组交接班管理制度
- 2021邢台银行招聘笔试考试参考题库含答案详解
评论
0/150
提交评论