•  
您当前的位置:机构主页>>C语言程序设计(基于CDIO思想)
借阅用户图书专区
  • 机构用户:清华大学出版社
  • 已借阅图书:我的借阅图书
  • 个人借阅限制说明:您可同时借阅5本书,每本书可阅读7天,借阅期结束1天后可再次借阅。
中图法分类:自动化技术、计算技术
图书名称:C语言程序设计(基于CDIO思想)
出版日期:2012-04-01
作者:李向阳 方娇莉
Isbn:9787302278559
定价:34.00
开本:16
页数:21.00
字数:523
装帧:平装
丛书名:21世纪高等学校计算机应用技术规划教材
  • 简介
  • 本教材采用CDIO的思想和模式编写。在注重培养读者程序设计及独立解决问题能力的同时,也兼顾语言知识的细节。
      本书前10章设为三个层次: 第1~4章是基础篇: 介绍顺序结构、选择结构、循环结构程序设计以及C语言的相应知识; 第5~7章是提升篇: 进一步介绍程序设计方法、相关算法和技巧,内容有数组、函数、变量的存储类型和编译预处理、用户定制数据类型等; 第8~10章为深入篇: 介绍指针、文件的相关程序和知识。第11章介绍Visual C++ 6.0开发环境。
      本教材旨在为计算机专业打造精品课程奠定良好基础。本教材也可为非计算机专业公共课程采用。
  • 前言
  • 计算机是执行程序的机器。在计算机问世之初,计算机使用者被迫直接采用机器指令代码编写程序。汇编语言的出现带来了些许方便,不过其改善程度相当有限。计算机高级程序设计语言的诞生和流行,大大方便了人们对计算机的运用。从计算机使用者的角度出发,高级程序设计语言具备以下两个显著的重要优势: 首先,高级程序设计语言不依赖于具体计算机的指令系统,即使用它所编写的程序可以在各种不同型号的计算机上运行; 再者,高级程序设计语言与人类自身的语言(英语)比较贴近,用它编写程序的过程也与人们解决同一任务的思维推理过程相接近。这就大大推进了计算机在各行各业和社会生活各领域的应用。
      当今社会,各种各样的计算机比比皆是,而安装于各种家用电器、汽车电子系统、移动通信工具等中的嵌入式芯片更是无处不在。人人都会承认“处处都有计算机”、 “处处皆有程序”的现实。通常称没有软件的计算机为“裸机”,而“裸机”仅只是摆设。当今计算机硬件的发展水平远在软件水平之上,且从事计算机硬件行业人员有限,而应用计算机的人员则千千万万。不言而喻,编写程序代码的能力是普通高等院校计算机专业学生的核心能力。对于非计算机专业的学生来说,工科学生需要具备科学计算及实时控制的能力; 文科学生需要拥有处理信息和使用数据库的能力; 很多人需要自立门户网站。而这一切的基础,就是至少需要熟练掌握和运用一门程序设计语言。
      高等学校计算机专业第一门程序设计课程选用什么语言为佳,这是一个仁者智者的问题。作者所在学校,曾同时有过三个计算机系分布在不同的学院,大家都曾选用过“C语言”,也首选过其他的几种语言。在纠结了几年之后,纷纷都定格在了“C语言”。在众多高级语言中,C语言是历史悠久的语言之一,它也经受住了历史的考验。C语言是一种得到广泛使用的语言,它既具有高级语言的特性,因而接近人类的自然语言便于编程; 又与低级语言相仿,因而允许编程者直接访问计算机的操作系统和底层硬件。因此采用它既能编写应用软件,又能编写系统软件。而且C语言简洁、紧凑、使用方便、灵活,有丰富的运算符和数据类型以及良好的可移植性,拥有大量的使用者。C语言也是全国计算机二级考试中的一个科目。
      迄今为止,国内已经出版了为数众多的C语言教材,它们对于传播C程序设计知识的作用有目共睹。《C程序设计(基于CDIO思想)》一书是《C程序设计》殿堂中的新成员,这本芸芸众 “C”丛书中的迟到者要想能够登台并取得一席之地,一定要有新的有别于先行者的理念,并且此理念与区别要符合程序设计类课程的教学规律,要能够取得好的效果。
      编写本教材的初衷有二: 第一是要编写一本能够提起学生学习兴趣和好奇心的教材,它既能让计算机专业的学生爱不释手,又能消除非计算机专业学生认为程序设计枯燥无味,高深难懂的心理; 第二是要编写一本便于提高学生编写程序能力的教科书。编程能力的造就特别强调的是自主训练量一定要到位,就如掌握开车技能全靠里程数的积累,没有任何捷径可言。为了实现此二目的,本教材采用CDIO的思想和模式编写。
      CDIO是一种源自国外的工程教育模式,这个模式继承和发展了欧美理工学科二十多年以来教育改革的理念。CDIO是构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)4个英文单词的缩写,它是对众所公认的“做中学”和“基于项目的教育和学习”(Project Based Education and Learning)的过程及本质的提炼和升华。
    本教材以作者多年教学及教材编写的积累为基础,按照CDIO的模  式编写构建。教材内容取材新颖、有趣,案例驱动,在细节上本书按照精品课程教材的要求水准打造。教材主旨为程序设计能力的培养与造就,同时兼顾程序设计语言知识和素养的培养。
      本书开篇第1章名为“C程序快速入门”,在第一时间就通过若干例子让学生学习顺序结构的程序设计,使学生能迅速体会到成功的喜悦,从而产生强烈的学习兴趣,语言知识部分只介绍数据类型及算术运算。第2章进一步巩固学习者顺序结构的程序设计能力,介绍其他运算符。这样将枯燥的、难记忆的知识点分散,降低了入门的难度,以期到达增强学生的兴趣和信心的目的。
      本书章节的基本模式如下:
      (1) CDIO 引例示范(教师的“CDIO”);
      (2) 相关知识点跟进;
      (3) 在教师引导下,课堂实例演练CDIO(学生参与的CDIO);
      (4) 小结涵括本部分的知识点、容易混淆的概念及容易出错的问题;
      (5) 习题要求学生通过练习实现自主的CDIO;
      (6) 从第4章开始,增加综合程序设计,进一步提升学生的分析设计能力。
      本书习题有编程题,也有等级考试中常见的选择题、填空题、读程序写结果,题型较多,并附有参考答案,对于备考二级考试的同学,也有一定的帮助。
      本书第1、2、6章由李向阳编写; 第3、4章由王云泽编写; 第5、10章由郭琳编写; 第7~9章由方娇莉编写。李向阳教授负责全书的编写及统稿。张怀宁教授主审。
      建议本课程授课时数为48学时,基本上机练习24学时,以及学生自主上机练习64学时左右。有关与教材配套的相关教学资料请与清华大学出版社联系。由于作者时间及水平的限制,不足之处在所难免,敬请读者批评指正。
      编者
      2011年9月
  • 目录
  • 第1章C程序快速入门

    1.1自我介绍(C程序基本知识)

    1.1.1分析与设计

    1.1.2简单C程序的基本知识

    1.1.3实战演练

    1.2计算应纳个人所得税额(数据类型等)

    1.2.1分析与设计

    1.2.2标识符、变量与常量

    1.2.3数据类型

    1.2.4C程序语句

    1.2.5输出、输入函数

    1.2.6实战演练

    1.3小结

    习题1

    第2章C语言的运算符和表达式

    2.1计算a/b 和a%b的值(算术运算)

    2.1.1分析与设计

    2.1.2运算符与表达式

    2.1.3算术运算符和算术表达式

    2.1.4实战演练

    2.2交换a,b变量的值(赋值运算)

    2.2.1分析与设计

    2.2.2赋值运算符

    2.2.3复合的赋值运算符

    2.2.4自增1(自减1)运算符

    2.2.5实战演练

    2.3计算存款n年后的本利之和(类型转换等运算)

    2.3.1分析与设计

    2.3.2类型转换

    2.3.3逗号运算符

    2.3.4容量运算符

    2.3.5位运算符

    2.3.6实战演练

    2.4算法及C语言编程规约

    2.4.1算法

    2.4.2C语言编程规约

    2.5小结

    习题2

    第3章选择结构

    3.1谁会接到面试通知(关系运算符和逻辑运算符)

    3.1.1分析与设计

    3.1.2关系运算符和关系表达式

    3.1.3逻辑运算符和逻辑表达式

    3.1.4条件运算符和条件表达式

    3.2你的身材标准吗(if语句)

    3.2.1分析与设计

    3.2.2if语句

    3.2.3if语句的嵌套

    3.2.4实战演练

    3.3选择幸运数字(switch语句)

    3.3.1分析与设计

    3.3.2switch语句

    3.3.3有关switch语句的一些说明

    3.3.4switch和if…else if…else多路选择结构的比较

    3.3.5实战演练

    3.4小结

    习题3

    第4章循环结构

    4.1蜗牛爬杆(while循环)

    4.1.1分析与设计

    4.1.2while循环

    4.1.3实战演练

    4.2爱因斯坦的阶梯问题(do…while循环)

    4.2.1分析与设计

    4.2.2do…while循环

    4.2.3while语句和do…while语句的比较

    4.2.4实战演练

    4.3寻找交通肇事犯(for循环)

    4.3.1分析与设计

    4.3.2for循环

    4.3.3对for语句的几点说明

    4.3.4实战演练

    4.4打印矩形(循环嵌套)

    4.4.1分析与设计

    4.4.2循环嵌套

    4.4.3死循环

    4.4.4实战演练

    4.5你输入了多少个字符(break和continue语句)

    4.5.1分析与设计

    4.5.2break语句

    4.5.3continue语句

    4.5.4实战演练

    4.6综合设计

    4.7小结

    习题4

    第5章数组

    5.15个小朋友分糖果(一维数组)

    5.1.1分析与设计

    5.1.2一维数组

    5.1.3实战演练

    5.2果园里的竞赛(二维数组)

    5.2.1分析设计

    5.2.2二维数组

    5.2.3实战演练

    5.3数数一共打了多少个单词(字符数组)

    5.3.1分析与设计

    5.3.2字符数组

    5.3.3字符串处理函数

    5.3.4实战演练

    5.4综合设计(完善果园竞赛程序)

    5.4.1解决数据的存储问题

    5.4.2谁摘得的桃子重量最重

    5.4.3计算选手的总成绩

    5.5小结

    习题5

    第6章函数

    6.1求多个阶乘之和(函数的定义、调用和声明)

    6.1.1分析与设计

    6.1.2函数的定义和调用

    6.1.3函数原型、函数声明与函数调用

    6.1.4实战演练

    6.2成绩统计(函数的参数传递)

    6.2.1分析与设计

    6.2.2函数的参数传递

    6.2.3实战演练

    6.3计算10组数中的三角形面积(嵌套调用和递归调用)

    6.3.1分析与设计

    6.3.2嵌套调用

    6.3.3递归调用

    6.3.4实战演练

    6.4我国人口何时增加到15亿(变量的作用域)

    6.4.1分析与设计

    6.4.2局部变量和全局变量

    6.4.3实战演练

    6.5计算机出题、判卷、打分(变量的存储类型)

    6.5.1分析与设计

    6.5.2局部变量的存储类型

    6.5.3全局变量的存储类型

    6.5.4实战演练

    6.6快速计算三角形的面积(编译预处理)

    6.6.1分析与设计

    6.6.2宏定义命令

    6.6.3文件包含

    6.6.4实战演练

    6.7综合设计(单科成绩分析统计程序)

    6.7.1分析与设计

    6.7.2完整的源程序代码

    6.8小结

    习题6

    第7章自定义数据类型

    7.1测试个人的星座(枚举类型)

    7.1.1分析与设计

    7.1.2枚举类型的定义与引用

    7.2模拟显示数字时钟(结构体类型)

    7.2.1分析与设计

    7.2.2结构体类型的定义与引用

    7.2.3结构体数组及其使用

    7.2.4结构体变量作参数

    7.3学生成绩表制作(共用体类型)

    7.3.1分析与设计

    7.3.2共用体类型的定义与引用

    7.4实战演练

    7.5综合设计

    7.5.1分析与设计

    7.5.2完整的源程序代码

    7.6小结

    习题7

    第8章指针

    8.1用函数实现变量值的交换(指针的引入)

    8.1.1分析与设计

    8.1.2指针的定义及运算

    8.2数组与指针

    8.2.1指向一维数组的指针

    8.2.2指针指向数组时的运算

    8.2.3指向二维数组的指针

    8.3打印三角形(用指针操作字符串)

    8.3.1分析与设计

    8.3.2使用字符数组与字符指针变量的区别

    8.4一箭三雕(指针与函数)

    8.4.1用指向函数的指针实现函数调用

    8.4.2返回指针值的函数

    8.5指针数组和指向指针的指针

    8.5.1指针数组的概念

    8.5.2指向指针的指针

    8.5.3指针数组作main()函数的参数

    8.6实战演练(验证卡布列克运算)

    8.7综合设计——用指针实现数据的动态管理

    8.7.1分析与设计

    8.7.2程序

    8.7.3动态数据管理在插入、删除操作中的优点

    8.8小结

    习题8

    第9章文件

    9.1学生数据文件的创建与读取(文件引入)

    9.1.1分析与设计

    9.1.2文件操作入门知识

    9.2文件的概念

    9.2.1文件的定义

    9.2.2文件的分类

    9.2.3文件缓存区

    9.2.4文件类型与文件指针

    9.2.5文件的操作过程

    9.3文件的打开和关闭

    9.3.1文件的打开

    9.3.2文件的关闭

    9.4文件的读/写操作

    9.4.1以字符为单位进行文件读/写的函数: fgetc(),fputc()

    9.4.2基于字符串读/写的函数: fgets(),fputs()

    9.4.3格式化读/写函数: fscanf(),fprintf()

    9.4.4数据块读/写函数: fread(),fwrite()

    9.5文件的定位操作

    9.6文件的出错检测

    9.7实战演练

    9.8综合设计

    9.8.1分析与设计

    9.8.2完整的源程序代码

    9.9小结

    习题9

    第10章面向对象程序设计入门

    10.1学生信息管理(第一个面向对象的程序)

    10.1.1分析与设计

    10.1.2面向对象程序设计的基本概念

    10.2“小李”与“大学生”类(定义类及创建对象)

    10.2.1分析与设计

    10.2.2类的定义与对象的引用

    10.2.3友元函数和友元类

    10.3构造一个“大学生”对象(构造函数的使用)

    10.3.1分析与设计

    10.3.2构造函数

    10.3.3析构函数

    10.4扩展“大学生”类的信息(类的继承)

    10.4.1分析与设计

    10.4.2建立派生类

    10.4.3派生类构造函数

    10.4.4多态性

    10.5综合应用

    10.6小结

    第11章Visual C++ 6.0开发环境

    11.1开发环境概述

    11.2菜单栏各项功能简介

    11.3开发环境的工具栏

    11.4新建、编辑、编译、连接、运行一个C程序

    习题答案

    附录AASCII码表

    附录BC语言中的关键字

    附录CC标准库函数

    参考文献
Copyright(C)清华大学出版社有限公司,All Rights Reserved 京ICP备10035462号 联系电话:010-62770175-3511