×
暂无评论
图文详情
  • ISBN:9787568044714
  • 装帧:书写纸
  • 册数:暂无
  • 重量:暂无
  • 开本:26cm
  • 页数:256页
  • 出版时间:2018-07-01
  • 条形码:9787568044714 ; 978-7-5680-4471-4

本书特色

C语言产生于20世纪70年代,经过40多年的发展,其不断被完善和标准化,它因灵活、高效、运算符和数据类型丰富、可移植性好、跨平台性好等特点深受广大程序爱好者喜爱。C语言既可以编写系统软件,又能编写应用软件,目前广泛应用于电子、计算机、通信、人工智能、嵌入式等领域,C语言在市场上处于优越的地位,各大高校也都将C语言作为程序设计的基础语言。 本教材采用项目驱动、案例教学方法编写,将一个“校园一卡通”管理系统项目划分成8个组成部分,每部分都会涉及一些C语言的知识点,每个部分作为一个教学案例放在相应章节作为教学引例,引出本章知识点,章节中详细介绍案例所需知识点和相关知识点,在教学资源中附有案例源程序代码。 本书中的源程序运行环境全部采用Visual C++ 6.0。Visual C++ 6.0是一款C++程序开发的编译器,能够在目前主流的计算机平台上安装,在各类运行C++程序的环境中市场占有率高。该编译器界面友好,易于操作,运行稳定。 为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录“我们爱读书”网(www.ibook4us.com)免费注册并浏览,或者发邮件至hustpeiit@163.com索取。

内容简介

本书共分为C语言概述 ; 顺序结构 ; 选择结构 ; 循环结构 ; 数组 ; 函数 ; 指针 ; 结构体 ; 文件九章, 其主要内容包括: 计算机语言 ; C语言及其特点 ; 简单的C语言程序 ; 运行C语言程序的步骤与方法等。

目录

第1章C语言概述1
1.1计算机语言1
1.2C语言及其特点3
1.3简单的C语言程序4
1.4运行C语言程序的步骤与方法7
1.5算法12
1.6结构化程序设计方法16
习题1 18
上机练习1 19

第2章顺序结构20
2.1数据类型21
2.2常量和变量21
2.3整型数据23
2.4实型数据27
2.5字符型数据29
2.6运算符和表达式32
2.7输入和输出函数42
习题2 48
上机练习2 51

第3章选择结构52
3.1简单的选择结构程序53
3.2if语句55
3.3用条件表达式实现选择结构65
3.4switch语句67
3.5选择结构程序综合举例70
习题3 73
上机练习3 76

第4章循环结构78
4.1循环结构简介79
4.2while语句80
4.3dowhile语句82
4.4for语句85
4.5goto语句和if语句构成循环结构88
4.6几种循环的比较89
4.7循环的嵌套89
4.8break语句和continue语句91
4.9循环结构程序综合举例93
习题4 99
上机练习4 101

第5章数组102
5.1什么是数组103
5.2一维数组103
5.3二维数组109
5.4字符数组114
习题5 124
上机练习5 127

第6章函数128
6.1什么是函数130
6.2函数的定义131
6.3函数的调用133
6.4函数的嵌套调用135
6.5函数的递归调用136
6.6函数应用程序综合举例140
6.7变量的作用域和生存期145
习题6 153
上机练习6 157

第7章指针158
7.1指针与指针变量160
7.2指针变量引用数组164
7.3指针变量引用字符串170
7.4指针变量作为函数参数174
习题7 179
上机练习7 183

第8章结构体184
8.1结构体的定义和使用185
8.2结构体数组的定义和使用191
8.3结构体指针193
8.4用指针处理链表195
8.5枚举类型205
习题8 210
上机练习8 214

第9章文件215
9.1C文件概述216
9.2文件指针217
9.3文件的打开与关闭217
9.4文件的读写219
9.5文件的随机读写228
9.6文件检测函数230
9.7C语言库文件230
习题9 232
上机练习9 239

附录A 常用字符与ASCII码对照表241
附录B C语言中的关键字244
附录C 运算符和结合性245
附录D C语言常用语法提要247
附录E C语言常用的库函数251
展开全部

节选

第1章C语言概述第1章C语言概述 1.1计算机语言 计算机语言是指用于人类与计算机之间通信的语言。计算机的工作过程主要是执行机器指令的过程,为了能使计算机能够进行各种工作,就需要有一套指令的集合即程序。程序是为求解某个特定问题而设计的指令序列,程序中的一条指令规定机器完成一组基本操作。 计算机语言的发展是随着计算机硬件的发展而发展的,其大致可分为两个阶段:低级语言阶段和高级语言阶段。其中,低级语言阶段主要有机器语言和汇编语言,高级语言阶段主要有FORTRAN语言、C语言、C++语言和Java语言等。 计算机语言低级语言机器语言 汇编语言 高级语言FORTRAN语言 C语言 C++语言 Java语言 1.机器语言 早期的计算机使用的是机器语言,机器语言是由二进制串组成的,直接操作机器硬件,计算机能够直接识别和执行。 但其缺点诸多: ● 可读性差,它的书面形式全是“密码”,不便于交流和记忆。 ● 程序员编写程序需要记住全部“密码”形式的指令系统,编写程序既难又繁,容易出错,因而所编出的程序可靠性差,且开发周期长。同时,程序调试和修改难度巨大,不容易掌握和使用。 ● 机器语言直接依赖于中央处理器,所以用某种机器语言编写的程序只能在相应的计算机上执行,无法在其他型号的计算机上执行,所以可移植性差。 ● 这些弊端造成机器语言难以被人们掌握和使用。 2.汇编语言 为了弥补使用机器语言编程的诸多不足,20世纪50年代初,出现了汇编语言。汇编语言用比较容易识别、记忆的助记符替代特定的二进制串,例如使用ADD 来替代加法的二进制指令,通过这种助记符,人们就能较容易地读懂程序,调试和维护程序也更方便了。但这些助记符是计算机无法识别的,需要一个专门的程序将其翻译成机器语言,这种翻译程序被称为汇编程序。汇编语言保留机器语言的特点,能够对机器硬件进行精确控制,占用资源少,程序执行效率高。尽管汇编语言比机器语言方便,但汇编语言仍然具有许多不便之处: ● 程序编写的效率不高,远远不能满足需要。 ● 汇编语言直接操作硬件,因此汇编语言只针对特定的计算机处理器,几乎没有可移植性。 3.高级语言 高级语言与人类的语言相当接近,易懂,可读性好,而且不依赖于计算机型号,通用性较好,可移植性好。高级语言的使用,大大提高了程序编写的效率和程序的可读性。1954年,第1个高级语言FORTRAN问世了,之后陆续出现了许多高级语言,如Basic语言、C语言等,这些语言又被称为面向过程的高级语言。近年来又出现了一些面向对象的高级语言,如C++语言、Java语言等。 与汇编语言一样,计算机无法直接识别和执行高级语言,必须翻译成等价的机器语言程序(称为目标程序)才能执行。高级语言源程序翻译成机器语言程序的方法有“解释”和“编译”两种。解释方法采用边解释边执行的方法。编译方法采用相应语言的编译程序,先把源程序编译成指定机型的机器语言目标程序,然后再把目标程序和各种标准库函数连接装配成完整的目标程序,在相应的机型上执行。 1)结构化高级语言 结构化程序设计是一种程序设计的原则和方法。它主要侧重对解决问题的方法和过程进行描述,即算法描述,它讨论了如何避免使用GOTO语句,如何将大规模、复杂的流程图转换成一种标准的形式,使得它们能够用几种标准的控制结构(顺序、分支和循环)通过重复和嵌套来表示。C语言就是一种结构化语言。一般来说,计算机语言要处理两个概念——数据和算法(程序=数据+算法)。数据是程序使用和处理的信息,而算法是程序使用的方法。C语言是过程性语言,这意味着它强调的是编程的算法方面。 但是,到了20世纪70年代末期,随着计算机应用领域的不断扩大,对软件技术的要求越来越高,结构化程序设计语言和结构化程序设计方法又无法满足用户需求的变化了,其缺点也日益显露出来: ● 代码的可重用性差。 ● 可维护性差。 ● 稳定性差。 ● 难以实现编写大型应用软件。 2)面向对象的高级语言 结构化程序设计方法与语言是面向过程的,存在较多的缺点,同时程序的执行是流水线式的,在一个模块被执行完成前,不能干别的事,也无法动态地改变程序的执行方向。这和人们日常认识、处理事物的方式不一致。人们认为客观世界是由各种各样的对象(或称实体、事物)组成的,每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了各种不同的系统,进而构成整个客观世界;计算机软件主要就是为了模拟现实世界中的不同系统,如物流系统、银行系统、图书管理系统、教学管理系统等。因此,计算机软件可以认为是,现实世界中相互联系的对象所组成的系统,在计算机中的模拟实现。 为了使计算机更易于模拟现实世界,1967年挪威科学家开发出了Simula 67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,被认为是第1个面向对象的程序设计语言。它对后来出现的面向对象语言,如C++、Java、C#产生了深远的影响。 随着面向对象语言的出现,面向对象程序设计方法也应运而生且得到迅速发展,面向对象的思想也不断向其他方面渗透。1980年Grady Booch提出了面向对象设计的概念,之后面向对象分析的概念也被提出。面向对象程序设计在软件开发领域掀起了巨大的变革,极大地提高了软件开发效率。 程序语言越低级,对过程的描述越具体,指令也就越接近机器的硬件逻辑。相反,程序语言越高级,就越接近对问题的描述与表达,因而更直观,更容易被人们所理解。 1.2C语言及其特点 1.2.1C语言的发展过程 C语言初的原型是ALGOL 60语言,1963年,剑桥大学将ALGOL 60语言发展成为CPL(combined programming language)语言。1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,由此产生了BCPL语言。1970年,美国贝尔实验室的Ken Thompson对BCPL进行了修改,并取名为“B语言”,他用B语言写了第1个UNIX操作系统。1973年,美国贝尔实验室的D.M.RITCHIE在B语言的基础上设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,就是C语言。1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行非常广泛的高级程序设计语言。1988年,随着微型计算机的日益普及,出现了许多C语言版本。没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种状况,美国国家标准学会ANSI为C语言制定了一套ANSI标准,成为现行的C语言标准。 早期的C语言主要用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们所认识,到了19世纪80年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上广泛使用。 1.2.2C语言的特点 C语言能够发展迅速,并且成为受欢迎的语言之一,主要因为它具有强大的功能。C语言具有丰富的数据类型,并引入了指针概念,可直接操作内存,程序的执行速度快而且高效;此外,C语言运算符丰富,能够进行各种运算等。C语言的特点归纳如下: (1)C语言简洁、紧凑,使用方便、灵活。ANSI C一共有32个关键字: autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedstaticsizeofstructswitchtypedefunionunsignedvoidvolatilewhile注意:在C语言中,关键字都是小写的。(2)运算符丰富,共34种。C语言把括号、赋值、逗号等都作为运算符处理,从而使C语言的运算类型极为丰富,可以实现其他高级语言难以实现的运算。C语言运算符见附录C。 (3)数据类型丰富。C语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能实现各种复杂的数据类型运算。C语言引入了指针概念,使程序效率更高。另外,C语言具有强大的图形功能,支持多种显示器和驱动器,且计算功能、逻辑判断功能强大。 (4)具有结构化的控制语句。C语言中有9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。 (5)语法限制不太严格,程序设计自由度大。一般的高级语言语法检查比较严格,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。 (6)C语言允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件进行操作,能实现汇编语言的大部分功能。因为C语言既具有高级语言的特点,又具有低级语言的许多功能,所以有人把它称为高级语言中的低级语言。 (7)生成目标代码质量高,程序执行效率高。 (8)使用C语言编写的程序可移植性好。 (9)C语言有一个突出的优点,就是适合于多种操作系统,如DOS、UNIX,且适用于多种机型。 1.3简单的C语言程序 为了说明C语言源程序结构的特点,先看以下两个程序。这两个程序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C语言源程序的基本部分和书写格式。 例1.1简单的信息输出。 #include int main()/*主函数*/ { printf("Hello C!\\n");/*输出信息*/ return 0; } 运行结果: Hello C! 说明: ● main是主函数名,是程序执行的开始处,每一个C语言源程序都必须有且只能有一个主函数main。 ● printf函数的功能是把要输出的内容送到显示器上显示输出。printf函数是一个由系统定义的标准函数,可在程序中直接调用。 ● #include:include称为文件包含命令,扩展名为.h的文件称为头文件,本句功能是将文件“stdio.h”包含到当前程序中来,目的是想使用其中的一些函数,如printf函数。 例1.2求两个数的大值。 #include void main()/*主函数*/ { int x,y,z;/*变量说明*/ int max(int a,int b);/*函数原形声明*/ printf("input two numbers:\\n"); scanf("%d%d",&x,&y);/*输入x,y值*/ z=max(x,y);/*调用max函数*/ printf("maxmum=%d\\n",z);/*输出结果*/ } int max(int a,int b)/*定义max函数*/ { if(a>b) return a; else return b;/*把结果返回主调函数*/ } 运行结果: input two numbers: 35↙ maxmum=5 例1.2所示程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。 例1.2中程序的执行过程是:首先在屏幕上显示提示信息,请用户输入两个数,回车后由scanf函数语句接收这两个数并送入变量x,y中;然后调用max函数,并把x,y的值传送给max函数的参数a,b,在max函数中比较a,b的大小,把大者返回给主函数的变量z;后在屏幕上输出z的值。 说明: ● 本程序由两个函数组成,即主函数和max函数。 ● 函数之间是并列关系。可从主函数中调用其他函数。max 函数的功能是比较两个数,然后把较大的数返回给主函数。 ● max函数是一个用户自定义函数,因此在主函数中要给出函数原形声明。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在后面的章节中介绍。 ● 在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。 1.3.1C语言程序的构成 (1)一个C语言源程序可以由一个或多个源文件组成。 (2)每个源文件可由一个或多个函数组成。 (3)一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 (4)一个函数由两部分构成:函数首部和函数体。 函数首部即函数的第1行,包括函数名、函数类型、函数参数(形式参数)名和参数类型。例如: int max(int a,int b) 一个函数也可以没有形式参数,例如: int main( ) 函数体是在函数头部后面用一对大括号括起来的部分。函数体一般包括声明部分和执行部分。声明部分是对有关变量和函数的声明,例如: int x,y,z; int max(int a,int b); 执行部分是一些C语言的执行语句,例如: printf("input two numbers:\\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d",z); 一些特殊的函数可以没有函数体,例如: void fun( ){} 这是一个空函数,什么也不做,有时在编写程序时暂时没想好如何实现函数的功能,可以先写一个空函数,待以后进行扩充。 ● 源程序中可以有预处理命令“#include”,预处理命令通常应放在源文件或源程序的前面。 ● C语言中每一个语句都必须以分号结尾。但预处理命令、函数首部和花括号“}”之后不能加分号。 ● C语言中没有输入、输出语句,它的输入、输出操作是由库函数scanf和printf等函数实现的。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航