技术教育社区
www.teccses.org

计算机系列教材C语言程序设计实验教程/武建华

封面

作者:武建华、邱桔、严冬松

页数:169

出版社:清华大学出版社

出版日期:2018

ISBN:9787302512127

电子书格式:pdf/epub/txt

内容简介

学好计算机程序设计语言,有效的方法就是上机编程练习。要提高编程能力,需要不断加强计算机语言基础和算法基础,不断提升逻辑思维能力和程序调试技巧,并保持对编程的兴趣。本书在充分考虑这些要素的基础上,以Visual C++ 6.0为实验平台,讲述C程序初步、输入输出、分支结构、循环结构、数组、函数、指针、结构体、位运算与文件,在每章中以基本知识提要、实验、练习题3个部分来组织内容。很后一章给出综合实验。全书阐述深入浅出,条理清晰,符合学习者认知规律,适合对C语言编程感兴趣的初学者,是C语言程序设计实验课的理想教材。
本书可作为高等学校理工类各专业程序设计实验教材,也可作为科技人员学习C语言程序设计的参考书。

本书特色

学好计算机程序设计语言,最有效的方法就是上机编程练习。要提高编程能力,需要不断加强计算机语言基础和算法基础,不断提升逻辑思维能力和程序调试技巧,并保持对编程的兴趣。本书在充分考虑这些要素的基础上,以Visual C++ 6.0为实验平台,讲述C程序初步、输入输出、分支结构、循环结构、数组、函数、指针、结构体、位运算与文件,在每章中以基本知识提要、实验、练习题3个部分来组织内容。最后一章给出综合实验。全书阐述深入浅出,条理清晰,符合学习者认知规律,适合对C语言编程感兴趣的初学者,是C语言程序设计实验课的理想教材。
本书可作为高等学校理工类各专业程序设计实验教材,也可作为科技人员学习C语言程序设计的参考书。

全书阐述深入浅出,条理清晰,符合学习者认知规律,适合对C语言编程感兴趣的初学者。

目录

目录

第1章开发环境与C程序初步1

1.1开发环境1

1.1.1C程序的上机步骤1

1.1.2VC++ 6.0编程环境1

1.1.3调试方法4

1.2C程序初步基本知识提要5

1.2.1C语言的特点5

1.2.2C语言标识符6

1.2.3C程序的组成6

1.3实验1: 两个简单的C程序6

1.3.1字符串加密6

1.3.23个数的最大值8

练习题9第2章输入输出11

2.1输入输出基本知识提要11

2.1.1数据类型11

2.1.2常量和变量12

2.1.3运算符与表达式12

2.1.4输入输出语句13

2.2实验2: 输入输出14

2.2.1三角形面积14

2.2.2温度转换16

练习题17第3章分支结构20

3.1分支结构基本知识提要20

3.1.1if语句20

3.1.2switch语句23

3.1.3算法24

3.1.4算法描述工具和算法的评价24

3.2实验3: 分支结构26

3.2.1百分制成绩转换为等级26

3.2.2二次方程28

3.2.3乌龟旅行29

练习题31第4章循环结构35

4.1循环结构基本知识提要35

4.1.1while循环结构35

4.1.2do瞱hile循环结构36

4.1.3for循环结构37

4.1.4循环结构的嵌套与优化39

4.1.5break和continue语句40

4.2经典算法40

4.2.1穷举法40

4.2.2迭代法42

4.3实验4: 循环结构43

4.3.1棋盘上的魔数43

4.3.2猴子吃桃45

4.3.3韩信点兵46

4.3.4牛顿迭代法47

4.3.5二分法48

4.3.6百钱买百鸡49

练习题51第5章数组55

5.1数组基本知识提要55

5.1.1一维数组55

5.1.2二维数组59

5.1.3字符串与字符数组62

5.2排序与查找算法64

5.2.1排序算法64

5.2.2查找算法68

5.3实验5: 数组70

5.3.1数组元素排序70

5.3.2按条件筛选数组元素72

5.3.3数组元素逆置73

5.3.4二分法查找75

5.3.5字符数组操作77

5.3.6随机数数组操作79

练习题81第6章函数84

6.1函数基本知识提要84

6.1.1库函数84

6.1.2用户自定义函数85

6.1.3嵌套调用与递归调用87

6.1.4变量的属性89

6.1.5宏定义90

6.2实验6: 函数92

6.2.1求组合数92

6.2.2求对数和的平方根函数94

6.2.3打印数字三角形 95

6.2.4二彩进制数的转换96

6.2.5验证哥德巴赫猜想97

6.2.6梯形法求函数f(x)定积分99

练习题100第7章指针104

7.1指针基本知识提要104

7.1.1指针变量104

7.1.2数组的指针表示105

7.1.3指针数组107

7.2实验7: 指针108

7.2.1有序数据108

7.2.2转置矩阵110

7.2.3计算分数112

练习题115第8章结构体119

8.1结构体基本知识提要119

8.1.1结构体变量119

8.1.2结构体数组122

8.1.3指针与结构体124

8.1.4动态存储分配126

8.1.5单链表127

8.2实验8: 结构体129

8.2.1学生成绩129

8.2.2链表建立与删除131

练习题135第9章位运算与文件140

9.1位运算与文件基本知识提要140

9.1.1位运算140

9.1.2文件140

9.2实验9: 位运算与文件144

9.2.1整数取位144

9.2.2文件合并145

练习题149第10章综合实验152

练习题157附录A各章练习题参考答案166参考文献170

节选

第5章数组
实验目的
r 掌握一维数组和二维数组的定义、赋值和输入输出的方法。
r 掌握应用一维数组的基本算法,实现对一维数组的置数、逆置、查找、排序等操作。
r 掌握应用二维数组的基本算法,了解其与矩阵的关系,实现对二维数组进行置数,对每行每列或指定行列的元素进行处理。
r 掌握字符数组和字符串函数的使用。
5.1数组基本知识提要〖1〗5.1.1一维数组〖最4/5〗1. 一维数组的定义一维数组是指每个元素只有一个下标的数组。在C语言中,定义一维数组的语句形式如下:   类型名数组名 [整型常量表达式];例如:    int a[10];  说明:
  (1) a为一维数组的数组名。
  (2) a数组含有10个元素,它们分别是a[0],a[1],a[2],…,a[9]。
  (3) a数组中的每个元素都是整型,即每个元素中只能存放整型数据。
  (4) 每个元素只有一个下标,C语言规定每个数组第一个元素的下标为0,这里a数组中最后一个元素的下标为9,即该数组下标的上限为9。
  (5) C编译程序为a数组在内存中开辟10个连续的存储单元,如图51所示。
图51数组a在内存中开辟的存储单元示意图
  (6) 在一个数组定义语句中,可以有多个数组说明符,它们之间用逗号隔开。例如: float x[10],y[15],z[20]; 定义了名为x、y、z的3个实型数组。其中,x数组中含有10个元素,x数组的下标上限为9;y数组中含有15个元素,y数组的下标上限为14;z数组中含有20个元素,z数组的下标上限为19。
  (7) 数组说明符和普通变量名也可同时出现在一个类型定义语句中。例如:   char c1,c2,str[80];  注意: 数组说明符的一对中括号中只能是整型常量或整型常量表达式,不能是变量。上述定义语句还可以写成 char c1,c2,str[50+30];2. 一维数组元素的引用
  一维数组元素的引用形式为 数组名 [下标表达式]  例如,若有以下定义语句: int a[10];则a[0]、a[i]、a[i+k]都是对a数组中的元素的合法引用形式,其中0、i、i+k称为下标表达式。由于定义了数组a有10个元素,因此各下标表达式的值必须是整数,大于或等于0,并且小于10。
  注意:
  (1) 一个数组元素实质上就是一个变量名,代表内存中的一个存储单元。一个数组占用一片连续的存储单元。
  (2) C语言中,数组名中存放的是一个地址常量,它代表整个数组的首地址。
  (3) 只能逐个引用各个数组元素,不能一次引用整个数组。例如上述定义的a数组,不能用数组名a代表a[0]到a[9]这10个元素。
  (4) 引用数组元素时,数组的下标可以是整型常量或整型表达式,下标的下限为0。
  (5) 在C语言程序运行过程中,编译系统并不检查数组元素的下标是否越界,数组的上、下限均有可能越界,从而可能破坏其他存储单元中的数据或程序代码。因此,编写程序时需保证数组下标不能越界。
3. 一维数组初始化
  定义数组时,系统为该数组在内存中开辟一片连续的存储单元,但这些存储单元中并没有确定的值。可以通过以下几种方式对数组元素赋初值:
(1) 在定义数组时对数组元素赋初值。例如: int a[10]={0,1,2,3,4,5,6,7,8,9};  所有元素的初值放在赋值号后的一对大括号中,数值的类型必须与数组定义中说明的类型一致,各元素的初值之间用逗号隔开。系统将按这些数值的排列顺序,从a[0]开始依次给个元素赋初值。上述语句就是将a[0]赋初值0,将a[1]赋初值1……将a[9]赋初值9。
  在指定初值时,第一个值必定赋给下标为0的元素,然后依次赋值,不可能跳过前面的元素给后面的元素赋初值。当所赋初值少于数组的元素个数时,将自动给后面的元素赋初值0;当所赋初值个数多于数组的元素个数时,编译时,系统将给出出错信息。例如:  int a[10]={0,1,2,3,4};  相当于  int a[10]={0,1,2,3,4,0,0,0,0,0};  (2) 对于字符型数组,也同样对未赋初值的元素赋初值0,即’0’(其ASCII码值为0)。例如:  char c[5]={ ”};  相当于  char c[5]={ ”,’0′,’0′,’0′,’0′ };  (3) 可以通过赋初值来定义数组的大小。例如:   int a[]={0,1,2,3,4,5,6,7,8,9};  赋值号后面的一对大括号内有10个数值,即隐含定义了a数组含有10个元素。
4.一维数组应用举例

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《计算机系列教材C语言程序设计实验教程/武建华》
Article link:https://www.teccses.org/971659.html