版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 学习目标 学习方法 课程安排 1.以教材内容为主,适当增加算法、和面向对象基础知识。 2.上机实验与实验报告 3.作业(课堂练习) 4.期末考试(笔试) 课程教材及参考书 1.C程序设计(第3版),谭浩强(VC+6.0环境) 2.程序设计基础,吴文虎,欢迎选修C 程序设计课程,第一章 C语言概述,1.1 语言出现的历史背景 一、语言的发展 语言是一种国际上通用的计算机高级语言。它即可用来写系统软件,也可用来写应用软件。,二、语言的标准化 一种语言要想通用,至少具备两个条件: 独立于具体机型和特定操作系统 遵循一定的标准 1978年Kernighan和Ritchie合著 The C Progr
2、amming Language 1983年ANSI制定了C语言标准ANSI C 1987年ANSI完善了C语言标准87 ANSI C 1989年ISO公布新的C标准,称C89.即而公布C90 1995年ISO对C90修改,称C95 1999年1995年ISO修改C标准,增加面向对象特征,称C99,1.2 语言特点,1、语言简洁紧凑,使用方便灵活 2、运算符丰富(34种) 3、数据结构丰富 4、具有结构化的控制语句 结构化程序设计语言顺序、选择、循环 5、可直接访问物理地址,能进行位操作 中级程序设计语言(高级语言、低级语言) 6、目标代码质量高,程序执行效率高 7、C语言程序移植性好,1.3
3、简单的程序介绍,例1-1输出一行信息。 #include void main() printf(This is a C program.n); 程序输出: This is a C program.,函数名,函数类型,标准输出函数,标准输入输出文件,例1-2求两数之和。 #include void main() int a,b,sum;/*声明变量为整型*/ a=123; b=456; sum=a+b; printf(sum is %dn,sum); 程序输出:sum is 579,格式字符串,注释,例1.3求2个数中较大者. #include void main() int max(int x
4、, int y); int a,b,c; scanf(%d,%d, ,int max(int x, int y) int z; if (xy) z=x; else z=y; return(z); 输出: 23,45 max=45,函数声明,函数调用,函数定义,C语言程序的基本结构: C程序由一个或多个函数构成(模块化); 每个函数由两部分组成: 函数说明和函数体(变量定义和执行语句) C程序总是从main函数开始执行的; C程序书写格式自由; 一行可写多个语句,一个语句写在多行上 每条语句和数据定义的最后必须有一个分号; 输入输出实行函数化(scanf,printf); 注释符号采用/* */
5、。,1.4 程序的上机步骤,步骤1:上机输入源程序(f.c) 步骤2:对源程序进行编译(f.obj) 步骤3:与库函数连接(f.exe) 步骤4:运行可执行的目标程序 在Windows系统下运行VC+程序,第二章 算 法,计算机程序应包括两方面内容: 对数据的描述 即数据结构,在程序中要指定数据的类型和数据的组织形式。 对操作的描述 即操作步骤,也就是算法。 程序=数据结构+算法 程序=算法+数据结构 +语言工具和编译环境,2.1 算法的概念 定义:解决一个问题而采取的方法和步骤。 对同一问题,可以有不同的解题方法和步骤。例如: 1+2+3+97+98+99+100=5050 100+(1+9
6、9)+(2+98)+(49+51)+50 =50100+50=5050 类型: 1.数值运算算法:求方程的根,定积分 2.非数值运算算法:图书检索,人事管理,2.2 算法举例 例1-4求123456 方法1:用最原始的方法 S1:12=2 S2:23=6 S3:64=24 S4:245=120 S5:1206=720 缺点:繁琐。若求12100,则要写99个步骤。,方法2:用通用的循环算法 S1:使变量p=1(被乘数) S2:使变量i=2(乘数) S3:使pi,乘积仍放在p中,即pip S4:使i的值加1,即i+1i S5:若i7,返回S3;否则,算法结束,最后得到p的值就是6!的值. 练习将
7、题目改为1357911,简练写法: S1: 1p S2: 2i S3: p*ip S4: i+1i S5: 若i7,返回S3;否则,结束.,简练写法: S1: 1p S2: 3i S3: p*ip S4: i+2i S5: 若i11,返回S3;否则,结束.,2.3 算法的特征 1.有穷性:一个算法应包含有限的操作步骤 2.确定性:算法含义唯一,不产生歧义性 3.有零个或多个输入 在执行算法时需要从外界取得必要的信息 4.有一个或多个输出 算法的目的是为了求解,解就是输出 5.有效性 算法中每步都应当能有效地执行,2.4 算法的表示 算法的表示有多种不同的方法,常用的有自然语言、流程图、伪代码、PAD图等。 流程图是用一些图框表示各种操作。ANSI规定了一些常用的流程图符号。 传统流程图: N-S流程图:全部算法写在一个矩形框中,非常适合结构化程序设计。,结构化程序设计具有三种基本结构 顺序结构: 传统流程图 N-S流程图,选择结构: 传统流程图 N-S流程图,循环结构:当型循环结构 传统流程图 N-S流程图,a,A操作可能 一次不执行,直到型循环结构 传统流程图 N-S流程图,a,A操作至少 执行一次,将例1-4求6!的算法用流程图表示,三种基本结构算法有以下共同的特点: 只有一个入口、一个出口 每个基本结构中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版2025-2026学年语文四年级第一学期期末质量检测练习卷(含答案)
- 湖南省岳阳市汨罗市2025-2026学年八年级上学期1月期末生物试题(无答案)
- 河南省驻马店市泌阳县2025-2026学年八年级上学期1月期末考试历史试卷答案
- 2025-2026学年一年级(上)期末游戏化测试语文试卷(附参考答案)
- 五年级题目及答案
- 文件筐测试题及答案
- 2026年小学语文模拟冲刺押题卷
- 诚实做事的演讲稿
- 冀教版三年级上册数学第二单元-两、三位数乘一位数-测试卷及答案(夺冠系列)
- 高中高二下学期地理期末考试试题答案解析
- 2026广东广州市海珠区住房和建设局招聘雇员7人笔试参考题库及答案解析
- 云南师大附中2026届高三1月高考适应性月考卷英语(六)含答案
- 海南2025年中国热带农业科学院橡胶研究所第一批招聘16人(第1号)笔试历年参考题库附带答案详解
- 2025-2026人教版数学七年级上册期末模拟试卷(含答案)
- 2026年九江市八里湖新区国有企业面向社会公开招聘工作人员【48人】笔试参考题库及答案解析
- 广告行业法律法规与行业规范(标准版)
- 2025年CFA二级道德与专业标准题
- 2026年郑州电力高等专科学校单招职业技能测试题库新版
- 2026年八年级物理上册期末考试试卷及答案(共四套)
- 节能与新能源汽车技术路线图2.0
- 保育员配合教学培训工作指南
评论
0/150
提交评论