• C语言程序设计
  • C语言程序设计
21年品牌 40万+商家 超1.5亿件商品

C语言程序设计

全新正版 极速发货

23.04 5.9折 39 全新

库存2件

广东广州
认证卖家担保交易快速发货售后保障

作者侯占军 赵晓霞主编,胡晓旭 郭瑞波 孙鹏飞副主编 著 侯占军,赵晓霞 编

出版社清华大学出版社

ISBN9787302499268

出版时间2019-04

装帧平装

开本其他

定价39元

货号1201846970

上书时间2024-11-20

书香美美

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
目录

第1章概述

1.1C语言的发展及主要特点

1.1.1C语言的发展史

1.1.2C语言的主要特点

1.2C程序设计相关知识

1.2.1程序设计的基本概念

1.2.2C程序结构

1.2.3标准库简介

1.3C语言上机过程

1.3.1Turbo C集成环境的使用

1.3.2程序调试方法

1.4案例分析

本章小结

习题1

第2章C语言程序设计初步知识

2.1标识符、常量和变量

2.1.1标识符

2.1.2常量和变量

2.2简单数据类型

2.2.1整型数据

2.2.2实型数据

2.2.3字符型数据

2.3运算符和表达式

2.3.1算术运算符及其表达式

2.3.2自加、自减运算符

2.3.3赋值运算符与赋值表达式

2.3.4关系运算符和逻辑运算符

2.3.5问号运算符及表达式

2.3.6不同类型数据间的转换

2.3.7逗号运算符及其表达式

2.3.8运算符的优先顺序

2.4案例分析

本章小结

习题2

第3章简单程序设计

3.1算法

3.1.1算法的概念

3.1.2算法的描述

3.2结构化程序设计

3.2.1基本结构

3.2.2程序设计举例

3.3C语言基本语句

3.4C语言中数据的输入输出

3.4.1格式输入与输出

3.4.2字符数据的输入输出

3.5案例分析

本章小结

习题3

第4章选择结构程序设计

4.1if语句

4.1.1单分支if语句

4.1.2双分支if语句

4.1.3多分支if语句

4.1.4if语句的嵌套

4.2switch语句

4.3案例分析

本章小结

习题4

第5章循环结构程序设计

5.1循环结构程序设计的概念

5.2while语句

5.2.1while语句的一般格式

5.2.2while语句的执行过程

5.3dowhile语句

5.3.1dowhile语句的一般格式

5.3.2dowhile语句的执行过程

5.4for语句

5.4.1for语句的一般格式

5.4.2for语句的执行过程

5.5循环结构嵌套

5.6break语句和continue语句

5.6.1break语句

5.6.2continue语句

5.7案例分析

本章小结

习题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.2.4二维数组的应用

6.2.5多维数组

6.3字符数组与字符串

6.3.1字符数组的定义和初始化

6.3.2字符串

6.3.3字符数组的输入输出

6.3.4字符串处理函数

6.3.5案例分析

本章小结

习题6

第7章函数

7.1模块化程序设计的概念

7.2库函数

7.2.1C语言常用库函数

7.2.2标准库函数的调用

7.3函数的定义和调用

7.3.1函数的定义

7.3.2函数的调用

7.4函数的返回值及其类型

7.5函数调用时参数间的传递

7.5.1变量、常量、数组元素作为函数参数

7.5.2数组名作为函数参数

7.6函数的嵌套调用

7.7函数的递归调用

7.8局部变量和全局变量

7.8.1局部变量

7.8.2全局变量

7.9静态存储变量和动态存储变量

7.9.1静态存储变量

7.9.2动态存储变量

7.10内部函数和外部函数

7.10.1内部函数

7.10.2外部函数

7.11案例分析

本章小结

习题7

第8章指针

8.1指针的基本概念

8.2指针和指针变量

8.2.1指针变量的定义

8.2.2指针变量的赋值

8.2.3指针变量的引用

8.2.4指针变量作为函数参数

8.3指针和数组

8.3.1指针与一维数组

8.3.2指针与二维数组

8.3.3指针与字符串

8.3.4指向数组的指针作为函数参数

8.4指针数组

8.5函数的指针和返回指针值的函数

8.5.1函数的指针

8.5.2返回指针值的函数

8.6案例分析

本章小结

习题8

第9章编译预处理

9.1宏定义

9.1.1不带参数的宏定义

9.1.2带参数的宏定义

9.2文件包含

9.3条件编译

9.4案例分析

本章小结

习题9

第10章结构体与共用体

10.1结构体类型

10.1.1结构体类型的定义

10.1.2结构体类型变量的使用

10.1.3结构体数组

10.1.4指向结构体变量的指针

10.1.5链表

10.2共用体

10.3案例分析

本章小结

习题10

第11章位运算

11.1位运算符

11.1.1取反运算符

11.1.2移位

11.1.3按位与运算符

11.1.4按位或运算符

11.1.5异或运算符

11.2位运算符的运算功能

11.3案例分析

本章小结

习题11

第12章文件

12.1文件概述

12.2文件指针

12.3文件的打开与关闭

12.3.1文件打开函数fopen

12.3.2文件关闭函数fclose

12.4文件的读写

12.4.1字符读写函数fgetc和fputc

12.4.2字符串读写函数fgets和fputs

12.4.3数据块读写函数fread和fwtrite

12.5文件的随机读写

12.5.1文件定位

12.5.2文件的随机读写

12.6案例分析

本章小结

习题12

附录AASCII字符表

附录BC库函数

附录CC语言常用出错信息

参考文献

内容摘要
本书结合作者多年的计算机教学经验编写而成,在内容选择和文字表述上力求通俗易懂、突出重点、图文并茂,使学生易于接受。注重培养学生分析问题、解决问题的能力,本书的主要内容包括C语言概述、C语言程序设计初步知识、简单程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、编译预处理、结构体与共用体、位运算、文件。书中每章配有适量练习,使学生能更好地巩固和应用所学知识。
本书适合作为大专院校非计算机专业的程序设计课程教材,也可以作为程序员的自学参考书。

主编推荐
《C语言程序设计》按照全国计算机等级考试(二级)考试大纲编写,全书给出大量的案例,通过案例教学强化学生的编程能力。

精彩内容
    第3章简单程序设计

教学目标
 了解算法的有关知识; 
 掌握C语言的基本语句; 
 熟练输入输出函数的使用; 
 掌握顺序结构。

3.1算法

3.1.1算法的概念
算法一词源于算术。粗略地说,算术方法是一个由已知推求未知的运算过程。后来人们把它推及一般,把进行某一工作的方法和步骤称为算法。因此,算法反映了计算机的执行过程,是对解决特定问题的操作步骤的一种描述。
【例31】输入三个数,求其中的最大值。
问题分析: 设num1,num2,num3存放三个数,max存放其最大值。
为求最大值,就必须对三个数进行比较,可按如下步骤进行。
(1) 输入三个数num1,num2,num3。
(2) 先把第一个数num1的值赋给max。
(3) 将第二个数num2与max比较,如果num2>max,则把第二个数num2的值赋给max(否则不做任何工作)。
(4) 将第三个数num3与max比较,如果num3>max,则把第三个数num3的值赋给max(否则不做任何工作)。
(5) 输出max的值,即最大值。
从例31中可以看出,首先分析题目,然后寻找一种实现这个问题所要完成功能的方法,这种方法的具体化就称为算法。因此可以说,算法是由一套明确的规则组成的一些步骤,它指定了操作顺序并通过有限个步骤解决问题,得出结果。
一个算法应具有以下5个特性。
(1) 有穷性。一个算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。也就是说,对于一个算法,要求其在时间和空间上均是有穷的。例如,一个采集气象数据并加以计算进行天气预报的应用程序,如果不能及时得到结果,超出了可以接受的时间,就起不到天气预报的作用。
(2) 确定性。算法中的每一步都必须有明确的含义,不允许存在二义性。例如“将成绩优秀的同学名单打印输出”,在这一描述中“成绩优秀”就很不明确,是每门功课均为95分以上还是指总成绩在多少分以上?
(3) 有效性。算法中描述的每一步操作都应能有效地执行,并最终得到确定的结果。例如,当Y=0时,X/Y是不能有效执行的。
(4) 有零个或多个输入。一个算法有零个或多个输入数据。例如,计算1~10的累计和的算法,则无须输入数据; 而对10个数据进行排序的算法,就需要从键盘输入这10个数据。
(5) 有一个或多个输出。一个算法应该有一个或多个输出数据。执行算法的目的是为了求解,而“解”就是输出,因此没有输出的算法是毫无意义的。
3.1.2算法的描述
算法的描述方法很多,常用的有自然语言、传统流程图、NS结构图、伪代码、PAD图等。
1. 自然语言
自然语言就是人们日常使用的语言,可以是中文、英文等。用自然语言表示算法通俗易懂,但一般篇幅冗长,表达上往往不易准确,容易引起理解上的“歧义性”。所以,自然语言一般用于算法较简单的情况。
2. 传统流程图
传统流程图是用规定的一组图形符号、流程线和文字说明来表示各种操作算法的表示方法。传统流程图常用的符号如表31所示。

表31传统流程图常用的符号

符号
符 号 名 称
含义

起止框
表示算法的开始和结束

输入输出框
表示输入输出操作

处理框
表示对框内的内容进行处理

判断框
表示对框内的条件进行判断

流程线
表示流程的方向

连接点
表示两个具有同一标记的“连接点”应连接成一个点

注释框
表示注释说明

用传统流程图表示算法直观形象,算法的逻辑流程一目了然,便于理解; 但占用篇幅较大,画起来比较麻烦,而且又由于允许使用流程线,使用者可以随心所欲,使流程可以任意转移,从而造成阅读和修改上的困难。
3. NS结构图
针对传统流程图存在的问题,美国学者I.Nassi和B.Shneiderman于1973年提出一种新的结构化流程图形式,简称为NS结构图。Chapin在1974年对其进行了进一步扩展,因此,NS结构图又称为Chapin图或盒状图。
NS结构图的主要特点是完全取消了流程线,不允许有随意的控制流,全部算法写在一个矩形框内,该矩形框以三种基本结构(顺序、选择和循环)描述符号复合而成。
4. 用伪代码表示
伪代码是用一种介于自然语言和计算机语言之间的文字和符号来描述算法。伪代码的表现形式比较灵活自由,没有严谨的语法格式。
【例32】用伪代码描述例31,求三个数中最大值的算法。

input num1,num2,num3

num1→max

if num2>max then num2→max

if num3>max then num3→max

print max

理论已经证明,任何复杂的算法均可以用顺序、选择和循环这三种基本结构组合、嵌套进行描述。由于NS结构图无箭头指向,而局限于一个个嵌套的框中,最后描述的结果必然是结构化的,因此,NS结构图描述表示的算法,适用于结构化程序设计。

3.2结构化程序设计

3.2.1基本结构
结构化程序由如下三种基本结构组成。
1. 顺序结构

顺序结构是最简单的基本结构。在顺序结构中,要求顺序地执行且必须执行按书写先后顺序排列的每一个最基本的处理单位。图31(a)所示为用传统流程图表示的顺序结构,图31(b)所示为用NS结构图表示的顺序结构,先执行处理A,然后再顺序执行处理B。

2. 选择结构
在选择结构中,要根据逻辑条件的成立与否,分别选择执行不同的处理。如图32所示,当逻辑条件成立时,执行处理A,否则执行处理B。

图31顺序结构

图32选择结构

3. 循环结构
循环结构一般分为当型循环和直到型循环。
(1) 当型循环。在当型循结构中,当逻辑条件成立时,就反复执行处理A(称为循环体),直到逻辑条件不成立时结束,如图33所示。

(2) 直到型循环。在直到型循环结构中,反复执行处理A,直到逻辑条件不成立时结束,如图34所示。

图33当型循环

图34直到型循环

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP