文档详情

厦门大学非计算机专业本科生公共课

ldj****22
实名认证
店铺
PDF
1.10MB
约33页
文档ID:45310300
厦门大学非计算机专业本科生公共课_第1页
1/33

《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-192012-02-19C语言程序设计C语言程序设计厦门大学非计算机专业本科生公共课(2011-2012第2学期)林子雨厦门大学计算机科学系林子雨厦门大学计算机科学系E-mail: ziyulin@个人主页:个人主页: 第一章 绪论第一章 绪论? 第二章第二章 C语言基础语言基础? 第三章 结构化程序设计第三章 结构化程序设计? 第四章 选择结构第四章 选择结构? 第五章 循环结构程序设计第五章 循环结构程序设计? 第六章 函数第六章 函数? 第七章 编译预处理第七章 编译预处理? 第八章 数组第八章 数组? 第九章 结构体、共用体和枚举类型第九章 结构体、共用体和枚举类型? 第十章 指针第十章 指针《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19第0章 课程说明•教科书教科书 – 《C语言程序设计(第2版)》,黄保和、江弋 编著,清华大学出版 社,2011年10月第2版 ISBN:978-7-302-26972-4 •参考书参考书 – (1)《 C程序设计题解与上机指导》 ,谭浩强 著,北京:清华大学 出版社 – (2)《 C程序设计试题汇编》 ,谭浩强 著,北京:清华大学出版社 – (3)《 C程序设计(第二版) 》 ,谭浩强 著,北京:清华大学出 版社 • 课件地址课件地址 ftp://218.193.53.74 学生帐号:stu_linziyu,密码:123456 目录:“下载教学内容”?“C语言”《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19第0章 课程说明• 了解软件开发的一般过程,软件开发和运行平台,软件工程的基本概 念。

• 掌握C语言的基本语法,能灵活应用C语言编写中等难度的程序 • 掌握结构化程序设计方法,理解模块的概念,能熟练进行函数的定义 和调用,熟练掌握顺序、分支和循环三种基本程序控制结构 • 熟练掌握VC平台,掌握程序调试和测试的一般方法课程目标课程目标《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19第0章 课程说明学习方法学习方法• 认真听讲,及时复习 • 注重实际操作 – 认真完成作业和上机作业 – 多利用课外时间上机实践 • 两条主线 – 程序设计 • 包括程序阅读、程序设计和程序调试 – 学习数据类型、控制结构、语法规则等 • 循次渐进 – 阅读/分析程序→摹仿编程→掌握常见程序模块→简单程序→复杂 编程《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19第0章 课程说明课程考核课程考核• 课程结束考核方式:课程结束考核方式:闭卷机考 • 课堂考试时间:课堂考试时间:100分钟 • 考试命题:考试命题:考试题目从题库中随机抽取选择题23题,46分;程序调 试题2题12分;程序阅读题3题18分;程序设计题4题24分其中程序 阅读题和程序设计题中基本、中等和较难的题目各一题。

• 随堂监考授权:随堂监考授权: 公共计算机教学部 • 实验考核的方式:实验考核的方式:和理论考试合卷 • 期中考试:期中考试: 无 • 口试:口试:无《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19第1章 绪论• 1.0 计算机的硬件和软件 • 1.1 程序设计语言 • 1.2 程序设计的概念 • 1.3 C语言的发展和C++简介 • 1.4 C语言程序的基本结构 • 1.5 算法 • 1.6 Visual C++ 开发环境《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.0 计算机的硬件和软件1.显示器2.主板3.CPU (微处理器)4.主要存储器(内存)5.适配器(声卡、网卡、电视卡等)6.电源供应器7.软驱 / 光盘驱动器8.次要存储器 (硬盘)9.键盘I/O: 外部世界信息↔计算机算术逻辑单元10.鼠标控制器《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.0 计算机的硬件和软件• 计算机的特点:可编程 • 软件 – 程序和相关资源 • 计算机如何存储指令和数据?10110000地址:1256内存CPU中的寄存器:register指令类型: •数据移动 •算术运算 •指令跳转 •条件验证《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.1 程序设计语言• 就发展过程而言,程序设计语言一般可分为机器语言、汇编语言和高 级语言 • 机器语言机器语言 – 是二进制代码组成的代码序列 – 可以由计算机直接执行 – 需要程序设计者对硬件有充分的了解 – 机器语言的描述和人们的习惯思维方式有较大差异 – 由于不同机器的机器指令不同,程序的可移植性差 – 程序可读性差0110010 0011011《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.1 程序设计语言• 汇编语言汇编语言 – 用助记符号来代表机器语言中的01代码 – 汇编语言指令与机器语言指令是一一对应的 • 需要“汇编程序”翻译 – 可读性稍好 – 与硬件相关,不能通用 – 描述问题方式与人们思维相距甚远MOV A , 3 ADD A , 6《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.1 程序设计语言高级语言高级语言 • 为了提高程序开发的效率,针对机器语言和汇编语言的缺点,各种高级 语言相继涌现 – 接近于人类自然语言的表述习惯,可读性高 – 不依赖于计算机的具体型号,具有良好的可移植性 – 一条语句通常对应于多条机器指令MOV A , 3 ADD A , 6A=5, B=4 C=B+A*2/B0110010 0011011目标程序高级语言源程序高级语言源程序汇编语言源程序汇编语言源程序汇编程序编译程序解释程序可执行程序可执行程序连接程序翻译一句翻译一句 执行一句执行一句《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19计算机发展while(b!=0) /*采用辗转相除 法求最大公约数*/ { temp=a%b; a=b; b=temp; }三种语言的对比三种语言的对比1.1 程序设计语言《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.2 程序设计的概念程序设计的步骤程序设计的步骤: • 1.系统分析(需求分析)——做什么(任务书) • 2.系统设计——怎样做? – 支持环境选择、总体设计、数据结构设计、算法设计等 • 3.程序设计(编码)——用计算机语言描述问题的处理 过程 • 4.程序调试、程序测试 – 调试:检查和改正程序的错误 – 测试:验证程序的功能 • 5.程序运行与维护 – 维护:完善和扩充程序的功能。

《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.3 C语言的发展和C++简介• C语言发展过程语言发展过程 60年63年67年70年72年贝尔78年 ALGOL 60→ CPL→BCPL→ B语言→ C语言→ 可移植(标准C) 83年87年90年 ─→ ANSI C ─→ 87 ANSI C ─→ ISO C C语言在2012年1月的编程语言排名请参考附件不同版本的C语言普遍遵守两个重要标准: (1)Brian W. Kernighan和Denis M. Ritchie于1978年合著的名著 《The C Programming Language》,被称为“标准C” (2)美国国家标准化协会(ANSI)于1983年开始制定,并于1988年 最终完成的ANSI标准,即“ANSI C”《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19•语言简洁、紧凑,使用方便、灵活32个关键字、9种控制语句,程序形 式自由 •运算符丰富34种运算符 •数据类型丰富,具有现代语言的各种数据结构 •具有结构化的控制语句,完全模块化和结构化 •语法限制不太严格,程序设计自由度大。

•允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能, 可直接对硬件进行操作兼有高级和低级语言的特点 •目标代码质量高,程序执行效率高只比汇编程序生成的目标代码效率 低10%-20% •程序可移植性好(与汇编语言比)基本上不做修改就能用于各种型号的 计算机和各种操作系统1.3 C语言的发展和C++简介C语言特点语言特点《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-19C语言语言自然语言自然语言C语言程序的基本单位是函数 每个函数是具有独立功能的程序模块 函数是由语句组成的C语言特点语言特点1.3 C语言的发展和C++简介《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.3 C语言的发展和C++简介• C++是C语言的超集,由两部分组成: – 过程性语言部分:遵守ANSI C标准; – 类和对象部分:它是面向对象程序设计的主体 • C++充分保持了与C语言的兼容性,绝大多数C语言程序 都可以不经修改,直接在C++环境中运行 • C++仍然支持面向过程的程序设计,是一种理想的结构化 程序设计语言 Visual C++:简称VC,Microsoft公司,windows系统。

– VC平台:是一个集C源程序编辑、编译、调试和运行为一体的集 成环境C++简介简介《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.4 C语言程序的基本结构#include #define pi 3.14159 void main() { float r,s; scanf(“%f”, s=pi*r*r;/*求出圆的面积s*/ printf(“s=%f\n”,s); } 《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.4 C语言程序的基本结构• C程序程序:由若干个函数组成,必须有一个函数名为main main函数称为主函数,程序如果包含多个函数,必定从主 函数开始执行 • 函数函数:由函数首部和函数体组成,函数体用于描述函数的 功能函数体由一系列语句组成 • C语句语句:包括数据描述语句(如float r,s;)和数据处理语 句(如s=pi*r*r;)两类,以分号作为语句结束标志 • 单词单词:语句由单词组成单词包括关键字、标识符、运算 符、常量等《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.5 算法算法概念算法概念 • 泛指解决某一个问题的方法和步骤 • 是一种解决问题的策略,是人们对问题进行分析和抽象的 结果 • 是解决做什么和怎么做的问题 • 数学公式和计算机程序,都属于算法的具体表现《C语言程序设计》厦门大学计算机科学系林子雨ziyulin@2012-02-191.5 算法• 例1.5.1 求6!• 朴素算法:朴素算法: •步骤1:先求1 × 2,得到结果2; •步骤2:将步骤1得到的乘积2,再乘以3,得到结果6; •。

下载提示
相似文档
正为您匹配相似的精品文档