C语言程序设计(清华郑莉 安颍莲)chap8
C语言知识学习程序设计(郑莉)课后知识题目解析
C++语言程序设计(清华大学郑莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
C 语言程序设计(清华大学郑莉)课后习题答案
第一章概述1-1简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
1-4什么是对象?什么是面向对象方法?这种方法有哪些特点?解:从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。
c语言程序设计(2008年清华大学出版社出版的图书)
成书过程
修订过程
出版工作
该教材由王浩主审,姚合生主编。在全书的策划和出版过程中,得到了高校从事C语言教学工作的同仁的关心 和帮助,特别是孙家启教授、陈桂林老师等,他们对该教材提出了修改建议。全书各章节的编写分工如下:第1、 2章由刘桂江编写,第3、4、9章由蔡庆华编写,第5、10章由程玉胜编写,第6、7、8章由姚合生编写,第11章由 刘涛编写。
教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
该教材有配套教材——《C语言程序设计习题集、上机与考试指导》。 该教材提供电子教案、课件和参考资料。
教材特色
该教材是为C语言程序设计课程的教学和考试的需要而设计的。考虑到该课程一般为大学第一门程序设计课程, 在内容编排上尽量符合初学者的要求,采用案例驱动教学法,给初学者的系统学习提供良好的向导。
感谢观看
c语言程序设计(2008年清华 大学出版社出版的图书)
2008年清华大学出版社出版的图书
Hale Waihona Puke 01 成书过程03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《C语言程序设计》是姚合生等编著,2008年清华大学出版社出版的高等学校计算机教材。该教材适合作为 高等学校C语言程序设计课程的教材,也可作为全国计算机等级考试C语言考试的教材或参考书,同时还可供从事 程序设计的技术人员的自学和参考。
除章节中包含例题外,每章还有程序举例。为了与全国计算机等级考试上机环境改变相一致,所有程序的运 行结果均采用VisualC++6.0集成环境下实际运行效果图形方式显示。每章后均附有设计的习题,其中很多是模拟 历年C语言考试试题而设计。
C语言程序设计郑莉课后习题答案
C++语言程序设计(清华大学郑莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法这种方法有哪些优点和缺点解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
C语言程序设计(郑莉)课后习题答案
C++语言程序设计(清华大学莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
C 程序设计 教学课件 ppt 第8章_指针
量p,第二句将c的值赋为10,第三句将指针变量p指向
的地址中的值(也就是d的值赋为12),第四句将d的
值赋为16。那么,经过这四句执行之后,c与d中的值
均为最后一个赋值语句给出的值16
C++程序设计,郑莉,清华大学 17
8.2指针运算
• 指针变量可以参与的运算主要有赋值运算、算术 运算以及关系运算
• C++中对内存的访问
• 对内存单元的访问管理可以和图书馆中书籍管理的 情况类比 ▫ 计算机内存访问存储空间与图书馆找书的过程
C++程序设计,郑莉,清华大学 8
8.1 指针
8.1.2 指针变量的声明
• 指针是一种数据类型,具有指针类型的变量称为指 针变量,指针变量是用于存放内存单元地址的
• 指针变量的声明格式如下:
C++程序设计,郑莉,清华大学 18
8.2 指针运算
8.2.1 指针的赋值
• 当一个指针变量被声明时,只是给这个指针变量 分配了一块内存空间,而这块内存空间中存储的 值却是不确定的,指向的内存地址中可能存储着 重要的数据或程序代码等,如果访问这个地址甚 至改变了其中存储的值的话,就很可能引起重要 数据的破坏或系统运行的错误
▫ 指针变量所参与的运算的运算规则是与它指向的地址 的数据类型密切相关的。C++语言里面没有单独设计 一种“地址”数据类型,而是允许为每一种数据类型 都定义相应的指针变量,同时,指针变量的数据类型 也必须定义清楚,以确定它指向的地址的数据类型
C++程序设计,郑莉,清华大学 11
8.1 指针
8.1.3 与地址有关的运算——“*”和“&”
指向变量a的存储地址,*q的值就是变量a的值
c语言程序设计答案(清华大学出版社)
c语言程序设计答案(清华大学出版社)C语言程序设计是一门基础而重要的计算机编程课程,它不仅教授编程语言的语法和结构,更培养了解决问题的逻辑思维能力。
《C语言程序设计》一书由清华大学出版社出版,是众多高校计算机专业学生的必读教材。
以下是该书的一些答案解析,以帮助学生更好地理解和掌握C 语言的相关知识。
第一章:C语言概述- C语言的特点:C语言是一种结构化语言,具有高效、灵活、功能强大等特点。
- C语言的发展历史:C语言由丹尼斯·里奇在20世纪70年代初期开发,最初用于UNIX操作系统。
第二章:数据类型、运算符和表达式- 基本数据类型:包括整型(int)、字符型(char)、浮点型(float和double)。
- 运算符:包括算术运算符、关系运算符、逻辑运算符、位运算符等。
- 表达式:由常量、变量、运算符和函数调用组成的组合,用于计算和赋值。
第三章:控制语句- 顺序结构:程序按照代码的顺序执行。
- 选择结构:使用`if`、`switch`等语句进行条件判断。
- 循环结构:使用`for`、`while`、`do-while`等语句进行重复执行。
第四章:数组- 一维数组:连续存储的相同类型元素集合。
- 二维数组:可以看作是一维数组的集合。
- 数组的初始化:可以使用花括号进行初始化。
第五章:函数- 函数的定义:使用`return`类型和函数名定义。
- 函数的调用:通过函数名和参数列表调用。
- 递归函数:函数内部调用自身。
第六章:指针- 指针变量:存储变量地址的变量。
- 指针的运算:包括地址运算和指针的自增自减。
- 指针与数组:指针可以方便地访问数组元素。
第七章:结构体与联合体- 结构体:可以包含不同类型的数据成员。
- 联合体:所有成员共享同一块内存空间。
第八章:预处理指令- 宏定义:使用`#define`定义常量或宏。
- 文件包含:使用`#include`引入头文件。
第九章:位运算- 位运算符:包括位与(&)、位或(|)、位非(~)、位异或(^)等。
C语言程序设计(第4版)
该教材的第1章和第7章由冯佳昕编写;第2章、第3章和第8章由秦玉平编写;第4章~第6章由马靖善编写; 附录由刘福德编写;各章的习题由秦玉平编写。根据由大连理工大学王秀坤担任主审。在该教材的编写过程中, 作者参考了有关C语言程序设计的书籍和资料。
2020年9月,该教材由清华大学出版社出版。
内容简介
《C语言程序设计(第4版)》共分为8章,详细介绍了C语言的基本语法规则和功能实现。其中,第1章为C语 言概述,介绍C语言的简单发展历史、基本特点、32个关键字和语句的分类以及上机操作指导。第2章为C语言的 基本语法规则,介绍数据类型、运算符、表达式和基本输入/输出函数。第3章为控制语句与预处理命令,介绍分 支语句、循环语句和编译预处理命令。第4章为数组,介绍一维数组与二维数组的定义和使用以及常用字符串操作。 第5章为函数,介绍函数的定义、调用、命令行参数的使用、全局变量和局部变量等。第6章为结构体、共用体和 枚举,介绍结构体、共用体和枚举类型、变量的定义和使用、链表的基本操作等。第7章为文件系统,介绍缓冲区 系统文件的常用处理方法。第8章为常见错误和程序调试,介绍初学者常犯错误和程序调试方法。
教材目录
参考资料:
教学资源
该教材有配套教材——《C语言程序设计(第4版)学习与实验指导》。 该教材还提供大纲、源程序、教学课件、习题及其解答、实验指导、教学站等辅助教学资源。
作者简介
马靖善:男,计算机专业硕士毕业,渤海大学信息科学与技术学院教授。一直从事计算机专业教学和科研工 作。
秦玉平:1965年生,男,博士,渤海大学工学院教授,主要从事机器学习和模式识别方面的研究。
感谢观看
C语言程序设计(第4版)
C++语言程序设计-清华大学-郑莉
发
事物所采用的一般思维方法来进行软件开
展
发。
程序设计方法的发展历程
面
——面向过程的程序设计方法
向
对 象 程序的目的:用于数学计算
的 方
主要工作:设计求解问题的过程
法 缺点:对于庞大、复杂的程序难以开发
和维护
程序设计方法的发展历程
面 ——面向过程的结构化程序设计方法
向 对
象
设计思路
自顶向下、逐步求精。采用模块分解与 功能抽象,自顶向下、分而治之。
类与对象的关系:
犹如模具与铸件之间的关系,一个属于某
类的对象称为该类的一个实例。
面向对象的基本概念
面
——封装
向
对 把对象的属性和服务结合成一个独立
象 的系统单元。
的 方
尽可能隐蔽对象的内部细节。对外形
法 成一个边界(或者说一道屏障),只
保留有限的对外接口使之与外部发生
联系。
面向对象的基本概念
发生关系。
对象与对象之间通过消息进行通讯。
程序设计方法的发展历程
面
——面向对象的方法
向
对 优点:
象
程序模块间的关系更为简单,程序模块
的
的独立性、数据的安全性就有了良好的
方
保障。
法
通过继承与多态性,可以大大提高程序
的可重用性,使得软件的开发和维护都
更为方便。
面向对象的基本概念
面
——对象
向
对 一般意义上的对象:
法
物的共性,把具有共同性质的事物划分
为一类,得出一个抽象的概念。
例如,石头、树木、汽车、房屋等都是 人们在长期的生产和生活实践中抽象出 的概念。
C语言程序设计清华大学郑莉
象
是现实世界中一个实际存在的事物。
的
可以是有形的(比如一辆汽车),也可
方
以是无形的(比如一项计划)。
法
是构成世界的一个独立单位,具有:
静态特征:可以用某种数据来描述
动态特征:对象所表现的行为或具有的功能
面向对象的基本概念
面
——对象
向
对 面向对象方法中的对象:
象
是系统中用来描述客观事物的一个实体,
易于物理实现 二进制数运算简单 机器可靠性高
通用性强
缺点:对人来说可读性差
信 程序设计中常用的数制
息
的
表 示 与
进制 二进制 八进制 十进制
基数 进位原则 基本符号 2 逢2进1 0,1 8 逢8进1 0,1,2,3,4,5,6,7 10 逢10进1 0,1,2,3,4,5,6,7,8,9,
存 十六进制16 逢16进1 0,1,2,3,4,5,6,7,8,9,
小,但仍与人类的思维相差甚远。因为它的抽象层 次太低,程序员需要考虑大量的机器细节。
计 高级语言
算
机 语
高级语言屏蔽了机器的细节,提高了
言 语言的抽象层次,程序中可以采用具有
的 一定涵义的数据命名和容易理解的执行
发 展
语句。这使得在书写程序时可以联系到
程序所描述的具体事物。
计 面向对象的语言
算
机 出发点:
——十进制→ R 进制
息
的 十进制小数转换成R进制小数
表
“乘 R 取整”法,例如:
示
高位
与
0.3125×2 = 0 .625
存
0.625 ×2 = 1 .25
储
0.25 ×2 = 0 .5
C语言程序设计(2016年清华大学出版社出版的图书)
成书过程
该教材是按照普通高等院校验的教师编写而成。
该教材由孙改平、王德志任主编,吴静、盛建瓴、王晓菊任副主编。具体编写分工如下:第1、4章由王晓菊 编写;第2、3章由盛建瓴编写;第5、9章由吴静编写;第6、7章由孙改平编写;第8、10章、附录由王德志编写, 最后由孙改平、王德志进行统稿。
该教材可使读者建立起对程序设计和C语言的理解。该教材的讲解是不断提出问题,解决问题,再进一步提出 问题,并逐步解决问题的过程。使学生养成由简到繁、逐步求精的编程习惯。
作者简介
孙改平,女,硕士,华北科技学院计算机学院教授,主要研究方向为网络数据库、计算机算法。主讲课程有 《网络数据库》《Oracle数据库》《C程序设计》《Visual Basic程序设计》《大学计算机基础》《网页制作》 《网络编程》等。
王德志,男,博士,华北科技学院计算机学院副教授,主要研究方向为物联网数据采集、嵌入式系统开发。 主要负责讲授计算机编程语言与物联网应用课程。
谢谢观看
C语言程序设计(2016年清华大学出 版社出版的图书)
2016年清华大学出版社出版的图书
01 成书过程
03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《C语言程序设计》是由孙改平、王德志主编,2016年清华大学出版社出版的高等学校计算机基础教育精选 教材。该教材适合作为高等院校及高职高专院校C语言程序设计课程的教材,也可作为计算机各类培训班的教材或 计算机及相关工作的科技人员,计算机爱好者及各类自学人员的参考。
教材目录
C语言程序设计清华大学郑莉8
friend complex operator - (complex c1,complex c2); //运算符-重载为友元函数
void display(); //显示复数的值 private: //私有数据成员
double real; double imag; };
第27页/共42页
27
complex operator +(complex c1,complex c2) //运算符重载友元函数实现
{ return complex(c2.real+c1.real, c2.imag+c1.imag);
} complex operator -(complex c1,complex c2)
complex operator + (complex c2); //+重载为成员函数
complex operator - (complex c2); //-重载为成员函数 void display(); //输出复数 private: //私有数据成员 double real; //复数实部 double imag; //复数虚部
12
complex complex:: operator -(complex c2) //重载函数实现
{ complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return complex(c.real,c.imag);
}
第13页/共42页
13
void complex::display() { cout<<"("<<real<<","<<imag<<")"<<endl; }
C语言程序设计(郑莉)课后习题答案
C++语言程序设计(清华大学郑莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
C语言程序设计郑莉课后习题答案
C++语言程序设计(清华大学郑莉)课后习题答案第一章概述1-1 简述运算机程序设计语言的进展历程。
解:迄今为止运算机程序设计语言的进展经历了机械语言、汇编语言、高级语言等时期,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各类编程语言有全然的不同,它设计的起点确实是为了能更直接的描述客观世界中存在的事物和它们之间的关系。
面向对象的编程语言将客观事物看做具有属性和行为的对象,通过抽象找出同一类对象的一起属性(静态特点)和行为(动态特点),形成类。
通过类的继承与多态能够很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类熟悉事物所采纳的一样思维方式来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方式?这种方式有哪些优势和缺点?解:结构化程序设计的思路是:自顶向下、慢慢求精;其程序结构是按功能划分为假设干个大体模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种大体结构组成;其模块化实现的具体方式是利用子程序。
结构化程序设计由于采纳了模块分解与功能抽象,自顶向下、分而治之的方式,从而有效地将一个较复杂的程序系统设计任务分解成许多易于操纵和处置的子任务,便于开发和保护。
尽管结构化程序设计方式具有很多的优势,但它仍是一种面向进程的程序设计方式,它把数据和处置数据的进程分离为彼此独立的实体。
当数据结构改变时,所有相关的处置进程都要进行相应的修改,每一种相关于老问题的新方式都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变成事件驱动,使得软件利用起来愈来愈方便,但开发起来却愈来愈困难,对这种软件的功能很难用进程来描述和实现,利用面向进程的方式来开发和保护都将超级困难。
C语言程序设计课后习题答案
C语言程序设计(郑莉)课后习题答案(总30页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--C++语言程序设计(清华大学郑莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法这种方法有哪些优点和缺点解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
清华大学 郑莉 安颖莲
联合体(共用体)
• 定义形式:
union 联合名 { 数据类型 数据类型 : 数据类型 }; 成员名 1; 成员名 2; 成员名 n;
• 引用形式:
联合名.成员名
Page 43
C语言程序设计
清华大学 郑莉 安颖莲
Page 48
例2
Page 9
C语言程序设计
清华大学 郑莉 安颖莲
结构数组
• 具有相同结构的结构体也可以组成数组 • 结构数组的说明形式
例3
struct 结构名 结构数组名[元素个数];
• 结构数组初始化
例4
struct 结构名 结构数组名[]={初始数据};
Page 14
C语言程序设计
清华大学 郑莉 安颖莲
Page 3
C语言程序设计
清华大学 郑莉 安颖莲
结构变量说明
• 变量说明形式
struct 结构名 结构变量名;
• 注意:
-结构变量的存储类型概念、它的寿命、可见性及使用范围与 普通变量、数组等完全一致。 -结构变量说明必须在结构类型定义之后,二者也可同时进行。 -结构变量占内存大小可用 sizeof 运算求出: sizeof(运算量)
C语言程序设计
清华大学 郑莉 安颖莲
第八讲
结构与联合
参考书:《C程序设计》第十章 §10.1-§10.6,§10.8
Page 1
C语言程序设计
清华大学 郑莉 安颖莲
本讲主要内容
• • • • • • • • 结构的定义 结构变量说明 结构体的使用和初始化 结构数组 结构指针 结构体在函数间的传递 结构嵌套 联合体(共用体)
例5
Page 23
C语言程序设计
清华大学 郑莉 安颖莲
结构体在函数间的传递
• 以结构体变量作为函数参数
- 传递结构体首地址
例6
• 结构型函数 • 结构指针型函数
例7
例8
Page 27
C语言程序设计
清华大学 郑莉 安颖莲
结构嵌套
• 结构的成员项是结构体 • 参加运算和操作的只能是最内层结构的成员项 • 内层结构成员的引用形式:
例1
Page 4
C语言程序设计
清华大学 郑莉 安颖莲
结构体的使用和初始化
• 使用形式
- 一般情况下不能把结构体作为一个整体参加数据处 理。 - 结构体成员的引用形式:结构变量名.成员名 - "."运算优先于"*"运算: * 等同于 *()
• 初始化
- 仅限于外部的和static型结构体
例: union uarea { char c_data; short s_data; long l_data; }
uarea
c_data
s_data
l_data
例9
Page 44
C语言程序设计
清华大学 郑莉 安颖莲
作业
• 复习: 第十章 §10.1-§10.6,§10.8 • 10.2, 10.3, 10.4, 10.5 • 预习: 第八章、第十一章
结构指针
• 概念
- 存放结构体首地址 - 结构指针的运算也按照C语言的地址运算原则进行。 例如,结构指针加一将指向内存中下一个结构体。
• 说明形式: struct 结构名 *结构指针名; • 用结构指针访问结构成员
(*结构指针名).成员名 或 结构指针名->成员名
• 运算次序
++pman->name 等同于 ++(pman->name) *pman->name 等同于 *(pman->name)
Page 2
C语言程序设计
结构的定义
• 结构的概念
清华大学 郑莉 安颖莲
- 是C语言中的构造类型,是由不同数据类型的数据 组成的集合体。 - 为处理复杂的数据结构提供了手段。 - 为函数间传递不同类型的参数提供了便利。
• 定义结构类型
struct 结构名 { 数据类型 成员名 1; 数据类型 成员名 2; : 数据类型 成员名 n; };