㈠ c语言目录有什么
第1章 C语言基础知识
1.1 C语言概述
1.1.1 C程序的结构
1.1.2 C程序的上机步骤
1.2 C语言的基本数据类型
1.2.1 标识符
1.2.2 常量
1.2.3 变量
1.3 基本输入/输出函数
1.3.1 格式化输出函数
1.3.2 格式化输入函数
1.3.3 字符输入/输出函数
1.4 运算符和表达式
1.4.1 算术运算符与算术表达式
1.4.2 赋值运算符与赋值表达式
1.4.3 逗号运算符与逗号表达式
1.4.4 简单的位运算与位表达式
1.4.5 运算符的优先级
1.5 类型转换
1.5.1 隐式类型转换
1.5.2 显式类型转换
1.6 C程序展示
本章小结
习题
第2章 算法
2.1 算法的概念
2.2 利用计算机求解问题的一般过程
2.3 算法的描述
2.3.1 用自然语言描述算法
2.3.2 用流程图描述算法
2.3.3 用N-S流程图描述算法
2.3.4 用伪代码描述算法
2.3.5 用计算机语言描述算法
2.4 算法举例
本章小结
习题
第3章 C程序的控制结构
3.1 分支结构
3.1.1 关系表达式和逻辑表达式
3.1.2 if语句
3.1.3 条件表达式
3.1.4 switch语句
3.2 循环结构
3.2.1 while语句
3.2.2 do…while语句
3.2.3 for语句
3.2.4 break语句和continue语句
3.2.5 循环的嵌套
3.3 综合应用
本章小结
习题
第4章 数组与指针
4.1 数组
4.1.1 一维数组
4.1.2 二维数组
4.1.3 字符数组
4.2 指针
4.2.1 指针变量的定义与相关运算
4.2.2 指针与一维数组
4.2.3 指针与二维数组
4.2.4 指针数组
4.2.5 指针与字符串
4.3 动态内存分配
4.4 数组与指针综合应用
4.4.1 单词统计
4.4.2 排序
4.4.3 查找
4.4.4 进制转换
4.4.5 二维数组应用
本章小结
习题
第5章 函数
5.1 函数概述
5.1.1 函数的定义
5.1.2 函数的声明和调用
5.2 函数参数的传递方式
5.2.1 值传递方式
5.2.2 地址传递方式
5.3 函数的嵌套与递归
5.3.1 函数的嵌套调用
5.3.2 函数的递归调用
5.4 变量的作用域与存储类型
5.4.1 变量的作用域
5.4.2 变量的存储类型
5.5 内部函数和外部函数
5.5.1 内部函数
5.5.2 外部函数
5.6 编译预处理
5.6.1 宏定义
5.6.2 文件包含
5.6.3 条件编译
5.7 标准函数简介
5.7.1 字符串处理函数
5.7.2 字符处理函数
5.7.3 动态地址分配函数
5.7.4 数学函数
5.7.5 数据类型转换函数
5.7.6 其他函数
5.8 函数综合应用案例
5.8.1 字符串处理函数应用
5.8.2 函数指针应用
5.8.3 递归算法应用
本章小结
习题
第6章 结构体与共用体
6.1 结构体类型
6.1.1 结构体类型的定义和使用
6.1.2 指向结构体类型数据的指针
6.2 共用体与枚举类型
6.2.1 共用体
6.2.2 枚举类型
6.3 链表
6.4 结构体综合应用
6.4.1 学生成绩查询
6.4.2 个人通讯录
本章小结
习题
第7章 文件操作
7.1 文件概述
7.1.1 文件的概念
7.1.2 文件类型指针
7.1.3 文件的操作
7.2 文件的打开和关闭
7.2.1 文件打开函数
7.2.2 文件关闭函数
7.3 文件的顺序读/写
7.3.1 字符读/写函数
7.3.2 字符串读/写函数
7.3.3 格式化读/写函数
7.3.4 二进制文件读/写函数
7.4 文件的随机读/写
7.5 文件状态检查函数
7.5.1 文件读/写结束检查函数
7.5.2 文件出错检查函数
7.5.3 文件出错复位函数
本章小结
习题
第8章 C语言课程设计
8.1 C语言课程设计实施方案
8.2 C语言课程设计任务书1
8.3 C语言课程设计任务书2
8.4 C语言课程设计任务书3
8.5 C语言课程设计任务书4
8.6 C语言课程设计任务书5
附录A 常用字符与ASCII(十进制)对照表
附录B C语言课程设计模板
参考文献
㈡ c语言程序设计的张磊编着
书名:C语言程序设计(第3版)
作者:张磊编着
ISBN:978-7-302-273233
出版社:清华大学出版社
出版日期:2012-9
平装:317页
定价:34.5元 本书面向程序设计初学者编写,以“注重基础、注重方法、注重编程、注重应用”为指导思想,突出C语言课程的应用性、实践性特点,灵活运用案例教学、任务驱动、启发式教学等多种教学方法,对C语言程序设计的语言知识和程序设计的方法过程进行了系统介绍,特别适合将C语言程序设计作为第一门程序设计课程的高校学生。
全书共有九章,分别为程序设计概述、简单程序设计、分支结构程序设计、循环结构程序设计、数组程序设计、函数程序设计、指针程序设计、结构体程序设计和文件程序设计。
本书主教材和实验教材合二为一,在每章之后均设有实验指导,实验指导内容与教学内容密切衔接,相辅相成。实验指导分为基础实验和综合实验两部分。基础实验紧密结合教材中的例题程序设置,以“理解—验证—完善—扩充—提高”为实验教学线索,重在巩固课堂教学知识,提高调试程序及完善程序的能力;综合实验以算法设计和程序实现为重点,训练运用所学知识解决实际问题的能力。
本书有配套的教学课件、程序资源和试题库。 第1章 程序设计概述
1.1 程序设计语言
1.2 算法
1.2.1 算法概念与算法描述
1.2.2 算法的逻辑结构
1.2.4 算法的特性
1.2.4 算法评价
1.3 程序设计与实现
1.3.1 程序设计的基本过程
1.3.2 使用VisualC++ 6.0实现C语言程序
1.3.3 程序设计示例
1.4 C语言程序的基本结构
1.4.1 程序的函数化结构
1.4.2 程序中的常量和变量
1.4.3 程序中的基本语句
1.4.5 标识符与保留字
1.4.6 程序风格
小结
习题一
实验一 编辑运行C语言程序
第2章 简单程序设计
2.1 用printf()函数输出数据
2.1.1 固定数值的加法程序
2.1.2 printf()函数
2.2 用scanf()函数输入数据
2.2.1 任意数值的加法程序
2.2.2 scanf()函数
2.3 输入输出字符数据
2.4 语言知识补遗
2.4.1 数据类型
2.4.2 常量详解
2.4.3 简单变量详解
2.4.4 算术运算
2.4.5 赋值运算
2.4.6 宏命令
2.5 程序设计举例
2.5.1 计算三角形面积
2.5.2 字母转换
2.5.3 鸡兔同笼问题
*2.6 表达式中数据类型的自动转换
*2.7 用typedef命名数据类型
*2.8使用C++命令输入输出数据
2.8.1 简单的C++程序
2.8.2 C++的输入和输出
小结
习题二
实验二 简单程序设计
第3章 分支结构程序设计
3.1简单条件的分支程序
3.1.1判断优等生程序
3.1.2关系表达式
3.1.3 if语句
3.2 复合条件的分支程序
3.2.1 使用新标准的优等生程序
3.2.2 逻辑表达式
3.3 用switch语句实现分支控制
3.4 goto语句
3.5 条件运算
3.6 分支结构应用举例
3.6.1 闰年问题
3.6.2 判断等边三角形
3.6.3 求解一元二次方程
3.6.4 学生成绩分等显示
小结
习题三
实验三 分支结构程序设计
第4章 循环结构程序设计
4.1 while循环结构程序
4.1.1 while循环程序示例
4.1.2 while语句
4.1.3 自增、自减运算
4.2 do-while循环结构程序
4.2.1 do-while循环程序示例
4.2.2 do-while语句
4.3 for循环结构程序
4.3.1 for循环程序示例
4.3.2 for语句
4.3.3 逗号表达式
4.4 循环体中的控制命令
4.4.1 break命令
4.4.2 continue命令
4.5 多重循环程序
4.5.1多重循环程序示例
4.5.2多重循环的一般结构
4.6 循环结构程序设计举例
4.6.1 字符统计
4.6.2 比赛评分
4.6.3 学生成绩分等统计
4.6.4 最大公约数
4.6.5 Fibonacci数列
4.6.6 乘法表
4.6.7 搬砖问题
4.6.8 找素数
4.6.9 哥德巴赫猜想
小结
习题四
实验四 循环结构程序设计
第5章 数组程序设计
5.1 一维数组程序设计
5.1.1 逆序输出数据程序
5.1.2 一维数组的定义
5.1.3 数值型一维数组的输入和输出
5.1.4 数值型一维数组的初始化
5.1.5 字符型一维数组的初始化
5.1.6 一维数组的存储
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.3.5 二维数组的存储
5.4 数组应用
5.4.1 排序
5.4.2 查找
5.4.3 单词统计
5.4.4 矩阵运算
5.4.5 成绩处理
5.4.6 杨辉三角形
小结
习题五
实验五 数组程序设计
第6章 函数程序设计
6.1函数概述
6.2自定义函数示例
6.3函数定义及调用
6.3.1函数定义
6.3.2函数值和return命令
6.3.3 函数调用
6.4函数嵌套和递归函数
6.4.1函数嵌套
6.4.2递归函数
6.5 数组作为函数的参数
6.5.1数组元素作为函数参数
6.5.2一维数组名作为函数参数
6.5.3用一维数组求解二维数组问题
6.6 函数应用举例
6.6.1计算长方体的面积
6.6.2利用递归函数计算Fibonacci数列
6.6.3排序函数的设计与应用
6.7 变量的作用域和存储类型
6.7.1变量的作用域
6.7.2变量的存储类型
小结
习题六
实验六 使用自定义函数的程序设计
第7章 指针程序设计
7.1 指针概述
7.2指针变量的定义和使用
7.2.1指针变量程序示例
7.2.2定义指针变量
7.2.3使用指针变量
7.3指针与数组
7.3.1指针与一维数组
7.3.2 指针与二维数组
7.3.3 指针与字符串
7.3.4 指针数组
7.4指针作为函数的参数
7.4.1简单指针变量作函数参数
7.4.2指向数组的指针作函数的参数
7.4.3字符串指针作函数的参数
7.4.4 指针数组作函数的参数
*7.4.5 使用带参数的main()函数
7.5指针函数和指向函数的指针变量
7.5.1指针函数
*7.5.2指向函数的指针变量
7.6指针应用举例
小结
习题七
实验七 指针程序设计
第8章 结构体程序设计
8.1结构体数据概述
8. 2结构体类型和结构体变量
8.2.1使用结构体变量存储学生信息
8.2.2定义结构体数据类型
8.2.3结构体变量的定义及使用
8.3结构体数组
8.3.1结构体数组概述
8.3.2结构体数组的初始化
8.3.3利用结构体数组管理学生信息
8.4结构体指针变量
8.4.1结构体指针变量的定义及使用
8.4.2结构体指针作函数的参数
8.5使用链表动态存储数据
8.5.1使用链表存储学生信息
8.5.2链表的特点
8.5.3动态内存管理函数
8.5.4定义链表结构
8.6链表的基本操作
8.6.1链表结点的插入
8.6.2链表结点的删除
8.6.3链表结点的查找
8.7 结构体应用举例
8.7.1 字符串加密
8.7.2 学生成绩排序
8.7.3 Josephus问题
小结
习题八
实验八 结构体程序设计
第9章 文件程序设计
9.1 文件概述
9.1.1 文件的概念
9.1.2 文件的分类
9.1.3 文件的一般操作过程
9.1.4 文件的指针
9.2文件的基本操作
9.2.1打开和关闭文件
9.2.2最基本的文件读写函数
9.3文件的数据块读写操作
9.3.1 fwrite()函数
9.3.1 fread()函数
9.4文件的其他操作
9.4.1文件的格式化读写
9.4.2文件的随机读写操作
9.4.3 ftell()函数
9.4.4文件的字符串操作
9.5文件应用举例
9.5.1文件复制
9.5.2 存储在文件中的学生成绩排序
小结
习题九
实验九 文件程序设计
附录一C语言的运算符
附录二C语言的保留关键字
附录三 常用ASCII码字符对照表
参考文献
㈢ c语言程序设计附录要写什么
附录?注释吧?
如果是注释一般有:
'版权说明
'文件名
'版本号
'日期
'作者
'模块描述,
描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等
'修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述
㈣ c语言程序设计的黄容、赵毅主编
1.1一个C语言程序
1.2计算机程序设计与程序设计语言
1.2.1程序与指令
1.2.2程序设计语言
1.3C语言的发展与应用现状
1.4C语言的特点
1.4.1C语言的优势
1.4.2如何学习C语言程序设计
1.4.3C语言的语法特点
1.4.4C语言的结构特点
1.4.5C语言的编译与编程环境
习题
第2章用C语言编写简单程序
2.1在屏幕上显示自定义文字“Hello World!”
2.1.1程序解析
2.1.2程序的三种结构
2.2摄氏温度与华氏温度换算(简单的顺序结构程序的编写)
2.2.1程序解析
2.2.2常量、变量和数据类型
2.2.3赋值运算和算术运算
2.2.4格式化输出函数printf
2.3判断一元二次方程是否有实数解(简单的分支结构程序的编写)
2.3.1程序解析
2.3.2关系运算
2.3.3if…else二分支语句
2.3.4格式化输入函数scanf
2.4计算自由落体反弹高度和总距离(简单的循环结构程序
——for语句的编写)
2.4.1指定次数的循环程序设计
2.4.2for语句
2.4.3计算自由落体反弹高度和总距离
2.4.4程序解析
习题
第3章分支结构程序设计
3.1从键盘输入一个控制命令字符,判断输入是否正确
3.1.1程序解析
3.1.2字符类型
3.1.3逻辑运算符和逻辑表达式
3.1.4字符型数据的输入和输出
3.2分支结构程序设计——求解一元二次方程
3.2.1程序解析
3.2.2if 语句的三种形式
3.2.3if 语句的嵌套
3.3模拟工程控制,根据指令进行相应的操作
3.3.1程序解析
3.3.2switch语句
习题
第4章循环结构程序设计
4.1输入一批学生的成绩,统计平均分
4.1.1程序解析
4.1.2while语句
4.1.3数列问题求解
4.2用牛顿迭代法求方程2x3-4x2+3x-6=0的根
4.2.1程序解析
4.2.2do…while 语句
4.2.3循环语句的选择
4.3打印九九乘法表
4.3.1程序解析
4.3.2循环的嵌套
4.4求素数
4.4.1程序解析
4.4.2用break语句和continue语句改变循环状态
4.5复杂循环结构程序设计
4.5.1傅里叶级数逼近
4.5.2数据处理与回归分析
习题
第5章C语言的数据类型和表达式
5.1C语言的基本数据类型
5.2常量和变量
5.2.1常量
5.2.2变量
5.3运算符和表达式
5.3.1算术运算符和算术表达式
5.3.2强制类型转换运算符
5.3.3自增、自减运算符
5.3.4赋值运算符和赋值表达式
5.3.5关系运算符和表达式
5.3.6逻辑运算符和表达式
5.3.7条件表达式
5.3.8逗号表达式
5.4综合程序设计案例
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数据通信过程中的信息加密问题
6.3.1程序解析
6.3.2一维字符数组
6.3.3字符串处理
习题
第7章函数
7.1用函数求几何图形的面积
7.1.1程序解析
7.1.2函数的定义
7.1.3函数的声明
7.1.4函数的调用
7.2用函数求Fibonacci数列
7.2.1程序解析
7.2.2形式参数与实际参数
7.2.3函数的返回值
7.2.4值传递与地址传递
7.3变量与函数
7.3.1局部变量和全局变量
7.3.2变量的存储类别
7.3.3函数的递归调用——求n!
习题
第8章指针及其应用
8.1替代用变量名引用数据的新方法
8.1.1指针概念的引入
8.1.2定义指针变量
8.1.3指针与变量的关系
8.1.4为指针变量赋值及指针变量的初始化
8.1.5利用指针变量进行数据处理
8.2指针和一维数组
8.3利用被调函数对主调函数中的数组元素进行冒泡排序
8.3.1指针变量作为函数参数
8.3.2数组名作为函数的参数
8.4字符串和字符指针
8.4.1字符串常量的值
8.4.2使用字符指针处理字符串的程序举例
习题
第9章结构体、共用体和枚举类型
9.1按价格排序输出一组待售汽车的信息
9.1.1程序解析
9.1.2结构体类型的概念和定义
9.1.3结构体类型变量的定义
9.1.4结构体类型变量的使用
9.1.5结构体变量作为函数参数
9.2编写一个书籍管理程序,显示所有书籍信息
9.2.1程序解析
9.2.2结构体数组
9.2.3结构体数组的应用实例
9.3共用体——每个时刻只能有一个成员占用内存的“结构体”
9.3.1程序解析
9.3.2共用体类型的定义
9.3.3共用体变量的定义
9.3.4共用体变量的引用
9.4让变量的取值局限于特定范围
9.4.1枚举类型的定义
9.4.2枚举变量的定义
9.4.3枚举类型的应用
9.5随心所欲地安排数据类型名——typedef的使用方法
9.5.1利用typedef定义类型名
9.5.2typedef的典型用法
习题
第10章宏定义与文件包含
10.1宏定义
10.1.1程序解析
10.1.2无参宏定义
10.1.3带参宏定义
10.2文件包含
10.3条件编译
习题
第11章文件
11.1将“欢迎卓越工程师”写入文件
11.1.1程序解析
11.1.2C文件概述
11.1.3文件指针
11.1.4文件的打开与关闭
11.2文件的读写——读取工程文件
11.2.1程序解析——读取工程文件
11.2.2字符读写函数fgetc和fputc
11.2.3字符串读写函数fgets和fputs
11.2.4数据块读写函数fread和fwrite
11.2.5格式化读写函数fscanf和fprintf
11.3文件的随机读写
11.3.1改变文件位置指针函数fseek( )
11.3.2位置指针重返文件头函数rewind( )
11.3.3位置指针当前值函数 ftell( )
11.3.4文件的随机读写
11.4文件检测函数
11.4.1文件结束检测函数feof函数
11.4.2读写文件出错检测函数ferror函数
11.4.3文件出错标志和文件结束标志置0函数clearerr函数
习题
附录AASCII编码表
附录BC语言常用的库函数
附录CC语言运算符优先级表
参考文献
㈤ C语言程序设计
这个也不是很全,但是大体功能有了,你改进一下嘛,我运行过的可以!
希望对你有所帮助!
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10 /*定义常量SIZE便于以后的修改*/
struct student /*定义一个结构体数组存放学生的信息*/
{
int number; /*学号*/
char name[20];/*名字*/
float score[3];/*分数*/
float average;/*平均分*/
}stu[SIZE];
void menu();/*调用菜单函数*/
void write();/*读入信息*/
void save();/*保存stud.dat文件函数*/
void open();/*检查是否正确保存*/
void inturn (struct student c[]);/*用于对学生的信息按平均分排序的函数*/
void save2();/*将排序后的信息存入studsort.dat文件中*/
void read();/*读取studsort.dat文件文件中第2 4 6 8 10个学生的信息*/
void main()
{
int choice;/*用户选择变量*/
printf("*******************************************************************************\n");
printf("* *\n");
printf("* Hwadee &学生成绩文件管理& Hwadee *\n");
printf("* *\n");
printf("*******************************************************************************\n\n\n");
printf("******************************●●欢迎使用●●*********************************");
system("pause");
while (1)
{
menu();/*调用菜单函数形成操作界面*/
printf("请选择:\t");
scanf("%d", &choice);
if ( choice == 0 )
{
system("cls");
printf("\n\n\t\t\t\t谢谢使用!!!\n\n\t\t\t\t\t\t\t\t指导老师: 梁凯\n\n\t\t\t\t\t\t\t\t 学生:万超\n");
break;
}
switch(choice) /*多重选择实现功能不同的功能*/
{
case 1:
write();
break;
case 2:
system("cls");
save();
break;
case 3:
system("pause");
system("cls");
open();
break;
case 4:
system("cls");
printf("排序前的学生信息:\n");
open();
inturn(stu);
save2();
break;
case 5:
system("cls");
read();
break;
default:
printf("\n无此项功能!\n请重新输入\n");
}
}
}
void menu()
{
printf("\n1*****输入学生信息\t\t2*****将信息存入文件stud.dat中\n");
printf("3*****检查文件数据\t\t4*****将学生信息排序并存入文件studsort.dat中\n");
printf("5*****读取文件studsort.dat中的第 2 4 6 8 10个学生的信息\n");
printf("0*****退出系统\n\n\n");
}
/**********************************************************************\
函数名称:
write
功能描述:
完成将学生信息写入
函数参数:
i stu
返回值:
无
模块历史:
\*********************************************************************/
void write()
{
int i;/*计数变量*/
stu[i].average = 0;/*初始化结构体成员 average*/
printf("请你输入学生的信息\n");
printf("学号\t姓名\t语文\t数学\t英语\t\n");
for (i=0; i<SIZE;i++)
{
scanf("%d\t",&stu[i].number);
if (stu[i].number == 0)/*不需输入信息时输入0即可*/
break;
scanf("%s\t%f\t%f\t%f",&stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
stu[i].average = (stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;/*计算平均成绩*/
}
}
/**********************************************************************\
函数名称:
save
功能描述:
将写入的信息读入文件中
函数参数:
FILE *fp i
返回值:
无
模块历史:
\*********************************************************************/
void save()
{
FILE *fp;/*定义文件指针用于向文件读入数据*/
int i;
if ((fp=fopen("stud.dat","wb")) == NULL)
{
printf("cannot open file\n");
return;
}
for (i=0;i<SIZE;i++)
if (fwrite(&stu[i],sizeof(struct student),1,fp) != 1)
printf("file write error\n");
fclose(fp);
printf("\n信息保存成功!恭喜!!\n\n");
}
/**********************************************************************\
函数名称:
open
功能描述:
用于检查读入文件的数据是否正确
函数参数:
FILE *cp i
返回值:
无
模块历史:
\*********************************************************************/
void open()
{
int i;
FILE *cp;
cp = fopen ("stud.dat","rb");
printf("保存在stud.dat文件中的信息:\n\n");
printf("学号\t姓名\t数学\t语文\t英语\t平均分\n\n");
for (i=0;i<SIZE;i++)
{
fread(&stu[i],sizeof(struct student),1,cp);
printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n\n\n",stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );
}
fclose (cp);
}
/**********************************************************************\
函数名称:
inturn
功能描述:
用于对结构体数组中的元素排序
函数参数:
into i,j,k
struct student temp
返回值:
无
模块历史:
\*********************************************************************/
void inturn(struct student m[])
{
int i,j,k;/*计数变量*/
struct student temp;/*中间变量 类型为结构体*/
for(i=0; i<SIZE-1; i++) /*运用冒泡排序对结构体数组进行排序*/
for (j=i+1; j<SIZE; j++)
{
if( m[i].average < m[j].average )
{
temp = m[i];
m[i] = m[j];
m[j] = temp;
}
}
printf("\n排序后的学生信息:\n\n");
printf(" 学号\t姓名\t数学\t语文\t英语\t平均分\n");
for (i=0; i<SIZE; i++)
{
printf("第%d名 %d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n\n\n",i+1, stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );
}/*输出排序后的学生信息*/
}
/**********************************************************************\
函数名称:
save2
功能描述:
将排序后的学生信息读入到另外的文件中
函数参数:
FILE *mp
i
返回值:
无
模块历史:
\*********************************************************************/
void save2()
{
FILE *mp;
int i;
if ((mp=fopen("studsort.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for (i=0;i<SIZE;i++)
if (fwrite(&stu[i], sizeof(struct student), 1, mp) != 1)
printf("file write error\n");
fclose(mp);/*读取完毕关闭文件*/
}
/**********************************************************************\
函数名称:
read
功能描述:
读出另外文件中的信息
函数参数:
FILE *tp
i
返回值:
无
模块历史:
\*********************************************************************/
void read()
{
int i=1;
FILE *tp;
tp = fopen ("studsort.dat", "rb" );
printf("studsort.dat文件中偶数号码学生的信息如下:\n\n");
printf("学号\t姓名\t数学\t语文\t英语\t平均分\n\n");
for (i = 1;i<SIZE;i += 2)
{
fseek(tp,i*sizeof(struct student),0);/*fseek函数可以根据用户所需对文件开头的偏移量来读取文件的数据。
k*sizeof(struct student)是指将位置指针移到当前位置k个字节处*/
fread(&stu[i],sizeof(struct student),1,tp);
/*注意:必须使用fseek函数定位后才能根据自己所需读出数据,但是只用fseek函数不用fread,
只是把数据打印到屏幕上而并没有从文件中读取。这是一个常见性问题*/
printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n", stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );
}
fclose (tp);/*读取完毕关闭文件*/
}
㈥ c语言C语言程序设计 设计内容与设计要求
现在还要吗?
已发,我的邮箱是845471879;不要加错分了
㈦ 从零开始学C语言的目 录
第1篇 C语言入门
第1章 C语言入门基础 14
1.1 计算机语言的演变 14
1.1.1 机器语言 14
1.1.2 汇编语言 14
1.1.3 高级语言 14
1.1.4 面向对象或面向问题的高级语言 15
1.2 数制、数制转换与存储 15
1.2.1 数制 15
1.2.2 数制的转换 16
1.2.3 计算机中数据的存储 17
1.3 程序设计思想——算法 18
1.3.1 算法的概念 18
1.3.2 算法的特点 18
1.3.3 算法的表示方法 19
1.3.4 算法分析 21
1.4 C语言的发展简史和特点 21
1.4.1 C语言的诞生与发展 22
1.4.2 C语言的特点 23
1.5 本章小结 24
1.6 习题 24
第2章 认识C语言程序 25
2.1 C语言程序的结构特征 25
2.2 C语言程序的书写风格 27
2.3 C语言程序的开发过程 28
2.4 Visual C++集成开发环境 29
2.4.1 熟悉Visual C++ 6.0集成开发环境 30
2.4.2 C语言在Visual C++ 6.0的开发过程 31
2.5 用Visual C++运行一个C程序 32
2.6 本章小结 33
2.7 习题 33
第2篇 C语言基础
第3章 常量、变量与标识符 34
3.1 标识符 34
3.1.1 标识的命名 34
3.1.2 保留字 34
3.2 常量 35
3.2.1 直接常量 35
3.2.2 符号常量 35
3.3 变量 36
3.3.1 变量的定义 36
3.3.2 变量的初始化 36
3.4 变量的初始化 37
3.5 本章小结 37
3.6 习题 37
第4章 数据类型 38
4.1 C语言中的数据类型 38
4.1.1 基本数据类型 38
4.1.2 构造数据类型 39
4.1.3 指针数据类型 39
4.1.4 空类型 39
4.2 整型数据 39
4.2.1 整型常量 40
4.2.2 整型变量 40
4.3 实数型数据 41
4.3.1 实数型常量 42
4.3.2 实数型变量 42
4.4 字符型数据 43
4.4.1 字符型常量 43
4.4.2 字符型变量 44
4.5 数值型数据间的混合运算 46
4.5.1 自动类型转换 46
4.5.2 强制类型转换 47
4.6 本章小结 49
4.7 习题 49
第5章 运算符及其表达式 50
5.1 算术运算符及算术表达式 50
5.1.1 算术运算符 50
5.1.2 算术表达式 52
5.2 赋值运算符及赋值表达式 52
5.2.1 赋值运算符 53
5.2.2 赋值表达式 54
5.3 关系运算符及关系表达式 55
5.3.1 关系运算符 55
5.3.2 关系表达式 56
5.4 逻辑运算符及逻辑表达式 57
5.4.1 逻辑运算符 57
5.4.2 逻辑运算规则 58
5.4.3 逻辑表达式 59
5.5 条件运算符及条件表达式 61
5.5.1 条件运算符 61
5.5.2 条件表达式 62
5.6 逗号运算符及逗号表达式 65
5.6.1 逗号运算符 65
5.6.2 逗号表达式 66
5.7 位运算符 67
5.7.1 位逻辑运算符 67
5.7.2 移位运算符 69
5.7.3 位自反赋值运算符 70
5.8 位运算符 71
5.9 本章小结 72
5.10 习题 72
第6章 输入与输出 73
6.1 C语句概述 73
6.1.1 流程控制语句 73
6.1.2 函数调用语句 77
6.1.3 表达式语句 77
6.1.4 空语句 77
6.1.5 复合语句 77
6.2 输入与输出函数 78
6.2.1 格式输出函数 78
6.2.2 格式输入函数 81
6.2.3 字符输入与字符输出函数 85
6.3 整型数据的输入与输出 87
6.3.1 整型数据的输出 87
6.3.2 整型数据的输入 89
6.4 浮点型数据的输入与输出 89
6.5 本章小结 90
6.6 习题 90
第7章 顺序结构与选择结构 91
7.1 顺序结构程序设计 91
7.2 选择结构程序设计 93
7.2.1 if语句 93
7.2.2 switch语句 98
7.3 应用举例 101
7.4 本章小结 104
7.5 习题 104
第8章 循环结构程序设计 105
8.1 while语句 105
8.2 do…while语句 107
8.3 for语句 110
8.3.1 for循环结构 110
8.3.2 for循环语句的嵌套 113
8.4 总结应用 115
8.4.1 几种循环的比较 115
8.4.2 循环语句的嵌套 116
8.4.3 应用举例 118
8.5 本章小结 121
8.6 习题 121
第9章 结构语句的转移 122
9.1 break语句 122
9.1.1 跳出switch结构 122
9.2 跳出循环结构 124
9.2.1 问题1 124
9.2.2 问题2 125
9.3 continue语句 126
9.4 goto语句 127
9.5 本章小结 128
9.6 习题 128
第3篇 C语言进阶
第10章 数组 129
10.1 数组的概述 129
10.2 一维数组 130
10.2.1 一维数组的定义 130
10.2.2 一维数组的初始化 131
10.2.3 一维数组的引用 132
10.2.4 一维数组的程序举例 133
10.3 二维数组 139
10.3.1 二维数组的定义 139
10.3.2 二维数组的初始化 140
10.3.3 二维数组的引用 142
10.3.4 数组的程序举例 144
10.4 本章小结 146
10.5 习题 146
第11章 字符数组 147
11.1 字符数组的定义 147
11.2 字符数组的初始化 147
11.3 字符数组的引用 148
11.4 字符数组与字符串的关系 148
11.5 字符数组的输入与输出 149
11.6 字符串处理函数 150
11.6.1 输入字符串函数gets 151
11.6.2 输出字符串函数puts 151
11.6.3 字符串测长度函数strlen 151
11.6.4 字符串比较函数strcmp 151
11.6.5 字符串复制函数strcpy和strncpy 152
11.6.6 字符串连接函数strcat 152
11.7 应用举例 153
11.8 本章小结 158
11.9 习题 158
第12章 函数 159
12.1 函数的初步认识 159
12.2 函数定义 161
12.2.1 无参函数定义 161
12.2.2 有参函数定义 162
12.2.3 空函数定义 162
12.3 函数参数及返回值 163
12.3.1 函数的参数 163
12.3.2 函数的返回值 165
12.4 函数的参数传递 166
12.4.1 函数参数的数值传递 166
12.4.2 函数参数的地址传递 167
12.5 应用举例 168
12.6 本章小结 170
12.7 习题 170
第13章 函数的调用 171
13.1 函数调用的一般形式 171
13.2 函数调用的形式 172
13.3 被调用函数的声明与函数原型 173
13.4 函数的嵌套调用和递归调用 176
13.4.1 函数的嵌套调用 176
13.4.2 函数的递归调用 177
13.5 变量作用域 178
13.5.1 变量作用域和生存期 178
13.5.2 局部变量和全局变量 178
13.5.3 变量存储类别 181
13.6 编译预处理 185
13.6.1 宏定义 186
13.6.2 文件包含处理 189
13.6.3 条件编译 190
13.7 本章小结 191
13.8 习题 191
第14章 指针操作 192
14.1 指针与地址 192
14.2 指针和指针变量 192
14.2.1 指针变量的定义 193
14.2.2 指针变量的引用 194
14.2.3 指针的运算 196
14.3 指针和数组 199
14.3.1 数组的指针和指向数组的指针变量 200
14.3.2 指针数组和指向指针的指针 203
14.3.3 指向字符串的指针 206
14.3.4 数组名作为函数参数 207
14.4 指针和函数 211
14.4.1 函数的指针和指向函数的指针变量 211
14.4.2 用指向函数的指针作为函数参数 212
14.4.3 指针数组作为函数参数 218
14.4.4 返回指针值的函数 219
14.4.5 字符串指针作为函数参数 220
14.5 本章小结 221
14.6 习题 221
第15章 结构体 222
15.1 结构体类型定义 222
15.1.1 结构体类型的说明 222
15.1.2 结构体类型的定义 222
15.2 结构体变量的定义与引用 224
15.2.1 结构体变量的定义与初始化 224
15.2.2 结构体变量的引用 226
15.3 结构数组 229
15.3.1 结构数组的定义 229
15.3.2 结构数组的引用 230
15.4 结构体指针 232
15.4.1 结构体指针变量的定义 232
15.4.2 结构体指针变量的引用 233
15.5 链表 236
15.5.1 链表概述 236
15.5.2 单链表建立 238
15.5.3 单链表简单操作 242
15.6 本章小结 251
15.7 习题 251
第16章 共用体 252
16.1 共用体类型定义 252
16.1.1 定义共用体 252
16.1.2 共用体的存储 253
16.2 共用体类型变量、数组和指针变量的定义 254
16.2.1 先定义共用体,再定义共用体变量、数组及指针变量 254
16.2.2 定义共用体的同时定义共用体变量、数组及指针变量 254
16.2.3 定义共用体变量、数组及指针变量时省略共用体名 255
16.3 共用体类型变量、数组和指针变量的引用 255
16.4 共用体应用举例 257
16.5 枚举类型 259
16.5.1 枚举类型的定义 259
16.5.2 枚举类型变量的赋值和引用 260
16.6 用typedef定义数据类型 262
16.7 本章小结 266
16.8 习题 266
第17章 文件 267
17.1 文件概述 267
17.1.1 文件名 267
17.1.2 文件的类型 268
17.2 文件类型指针 268
17.3 文件的打开与关闭 270
17.3.1 文件打开函数fopen() 270
17.3.2 文件关闭函数fclose() 272
17.4 文件的读写操作 272
17.4.1 字符读写函数 272
17.4.2 字符串读写函数 275
17.4.3 数据块读写函数 278
17.4.4 格式数据读写函数 281
17.5 文件的定位 282
17.5.1 文件头定位函数rewind() 282
17.5.2 文件随机定位函数fseek() 283
17.5.3 测试当前位置函数ftell() 284
17.6 文件的检测 285
17.6.1 文件末尾检测函数feof() 285
17.6.2 文件读写出错检测函数ferror() 286
17.6.3 清除文件末尾和出错标志函数clearerr() 287
17.7 本章小结 287
17.8 习题 287
第4篇 案例实战
第18章 学生成绩管理系统设计 288
18.1 学生成绩管理系统功能 288
18.2 功能模块的描述 288
18.2.1 数据结构 288
18.2.2 main()主函数 289
18.2.3 score *creatlink()创建动态链表 289
18.2.4 void print(score *head)显示学生信息 290
18.2.5 score *add(score *head,score *stu)向链表中添加学生数据 290
18.2.6 score *search(score *head)查询学生成绩 290
18.2.7 score *dele(score *head)删除数据 291
18.2.8 score *sortdata(score *head)对数据进行排序 291
18.2.9 save(score *p1)保存数据 291
18.2.10 score *load(score *head)从文件中读取数据 291
18.2.11 score *statistics(score *head)成绩统计 292
18.2.12 int menu(int k)菜单 292
18.2.13 用到的头文件和全局变量 292
18.3 程序代码 292
18.3.1 主函数main()代码 292
18.3.2 创建链表函数creatlink() 293
18.3.3 显示学生信息函数print() 296
18.3.4 向链表中添加学生数据函数add() 296
18.3.5 查询学生成绩函数search 298
18.3.6 删除数据函数dele 299
18.3.7 对数据进行排序函数sortdata() 300
18.3.8 保存数据函数save() 303
18.3.9 从文件中读取数据函数loadfile() 303
18.3.10 成绩统计函数statistics() 304
18.4 程序运行 306
18.4.1 编辑学生成绩 306
18.4.2 显示学生成绩 306
18.4.3 保存学生成绩信息 307
18.4.4 查询学生的成绩 307
18.4.5 添加学生的成绩 307
18.4.6 删除学生的成绩 307
18.4.7 学生成绩排序 308
18.4.8 从文件中读取学生的成绩 308
18.4.9 统计学生的成绩 308
18.5 本章小结 308
附录A ASCII字符集 309
附录B 运算符的优先级与结合性 311
附录C C语言常用库函数 314
㈧ c语言程序设计
第一章 程序设计的基本概念
第一节 C语言的发展历史与特点
第二节 程序与程序设计
第三节 算法与算法的描述
第四节 C语言的上机操作
思考题与习题
第二章 C语言程序设计基础
第一节 C语言的程序结构
第二节 数据类型
第三节 运算符与表达式
思考题与习题
第三章 C程序控制结构
第一节 C程序的三种基本控制结构
第二节 顺序结构
第三节 选择结构
第四节 循环结构
思考题与习题
第四章 数组
第一节 数组与数组元素的概念
第二节 一维数组
第三节 二维数组及多维数组
第四节 字符串与字符数组
思考题与习题
第五章 指针
第一节 指针与指针变量的概念
第二节 指针变量的定义和引用
第三节 指针变量与数组
思考题与习题
第六章 函数
第一节 函数的定义
第二节 函数的嵌套调用
第三节 数组作为函数参数
第四节 指针与函数
第五节 变量的使用范围与存储类别
第六节 不同文件中的函数使用
思考题与习题
第七章 编译预处理
第一节 宏定义
第二节 文件包含
第三节 条件编译
思考题与题
第八章 结构体与共用体
第一节 结构体基础
第二节 结构体数组
第三节 结构体指针
第四节 链表
第五节 位段
第六节 共用体
第七节 枚举类型与自定义类型
思考题与习题
第九章 文件
第一节 文件概述
第二节 文件的打开与关闭
第三节 文件的读/写
第四节 文件的定位
思考题与习题
第十章 程序设计方法
第一节 程序设计的基本概念
第二节 结构化程序设计方法
第三节 程序效率
第四节 程序设计风格
思考题与习题
附录
附录A C语言实验
附录B 标准ABSII码表
附录C C语言中的关键字
附录D 运算符的优先级与结合性
㈨ 写C语言程序时,,什么时候才需要加上#include<math.h>,,,加减乘除算吗
当一个函数内要用到数学函数的时候,例如:abs、fabs、avg、sin、等,必须加#include<math.h>
用到输入输出时:printf、scanf、getshar、putchar必须包括在#include<stdio.h>,每本书的后面都有附录,附录上边有
㈩ 51单片机C语言应用程序设计实例精讲的目录
第1章51单片机开发的基础知识
1.151单片机的硬件结构
1.1.1功能模块
1.1.2CPU
1.1.3并行I/O端口
1.1.4存储嚣结构
1.1.5定时/计数器
1.1.6串行口
1.1.7中断系统
1.251单片机的指令系统
1.2.1寻址方式
1.2.2指令说明
1.2.3指令系统表
1.3本章总结
第2章C语言程序各语句用法与意义
2.1数据结构
2.1.1数据类型
2.1.2变量与常量
2.1.3数组
2.1.4指针
2.1.5结构
2.1.6共用体
2.1.7枚举
2.2运算符与表达式
2.2.1运算符分类与优先级
2.2.2算术运算符与表达式
2.2.3关系运算符与表达式
2.2.4逻辑运算符与表达式
2.2.5位操作运算符与表达式
2.2.6赋值运算符与表达式
2.3程序结构与函数
2.3.1程序结构
2.3.2函数
2.4流程控制语句
2.4.1选择语句
2.4.2循环语句
2.4.3转移语句
2.5本章总结
第3章Keil8051C编译器
3.1Keil编译器简介
3.2使用Keil开发应用软件
3.2.1建立工程
3.2.2工程的设置
3.2.3编译与连接
3.3dScopeforWindows的使用
3.3.1如何启动
3.3.2如何调试
3.3.3调试窗口
3.4本章总结 第4章单片机实现液晶显示
4.1实例说明
4.2设计思路分析
4.2.1液晶显示模块
4.2.2液晶显示工作原理
4.2.3设计思路
4.3硬件电路设计
4.3.1器件选取
4.3.2电源模块
4.3.3液晶显示模块
4.3.4单片机模块
4.4软件设计
4.4.1液晶控制驱动嚣指令集
4.4.2程序说明
4.5实例总结
第5章基于MAX7219的8位数码管显示
5.1实例说明
5.2设计思路分析
5.2.1LED显示驱动芯片的选取
5.2.2MAX7219的工作原理
5.3硬件电路设计
5.3.1主要器件
5.3.2电路原理图
5.4软件设计
5.4.1MAX7219的工作时序和寄存器描述
5.4.2程序说明
5.5实例总结
第6章键盘输入实例——实现4x4键盘
6.1实例说明
6.2设计思路分析
6.3硬件电路设计
6.4软件设计
6.5实例总结
第7章单片机实现语音录放
7.1实例说明
7.2设计思路分析
7.2.1语音芯片选取
7.2.2语音芯片1SD2560简介
7.3硬件电路设计
7.3.1主要器件
7.3.2电路原理图及说明
7.4软件设计
7.4.1程序流程
7.4.2程序说明
7.5实例总结 第8章基于MAX197的并行A/D转换
8.1实例说明
8.2设计思路分析
8.2.1A/D转换原理
8.2.2如何选择A/D转换器件
8.2.3A/D转换器对电源电路的要求
8.3硬件电路设计
8.3.1主要器件
8.3.2电路原理图及说明
8.4软件设计
8.4.1MAX197控制字
8.4.2程序流程
8.4.3程序说明
8.5实例总结
第9章基于TLC549的串行A/D转换
9.1实例说明
9.2设计思路分析
9.2.1芯片选取
9.2.2工作原理
9.3硬件电路设计
9.3.1主要器件
9.3.2电路原理图及说明
9.4软件设计
9.4.1转换过程和时序要求
9.4.2程序流程
9.4.3程序说明
9.5实例总结
第10章基于MAX527的并行D/A转换
10.1实例说明
10.2设计思路分析
10.2.1D/A转换原理
10.2.2如何选择D/A转换器件
10.2.3D/A转换器对电源电路的要求
10.3硬件电路设计
10.3.1主要器件
10.3.2电路原理图及说明
10.4软件设计
10.4.1MAX527的地址和重要引脚
10.4.2程序流程
10.4.3程序说明
10.5实例总结
第11章基于MAX517的串行D/A转换
11.1实例说明
11.2设计思路分析
11.2.1芯片选取
11.2.2工作原理
11.3硬件电路设计
11.3.1主要器件
11.3.2电路原理图及说明
11.4软件设计
11.4.1时序要求和转换过程
11.4.2程序说明
11.5实例总结
第12章基于SHT71数字温/湿度传感器的采集实现
12.1实例说明
12.2设计思路分析
12.2.1SHT71性能概述
12.2.2SHT71的功能说明
12.2.3SHT71的引脚尺寸和说明
12.3硬件电路设计
12.4软件设计
12.4.1SHT71的操作方法
12.42程序流程
12.4.3源程序清单
12.5实例总结
第13章基于DS1624的数字温度计设计
13.1实例说明
13.1.2设计思路分析
13.2.1DS1624简介
13.2.2DS1624基本特性
13.2.3DS1624工作原理
13.2.4DS1624工作方式
13.2.5DS1624的指令集
13.3硬件电路设计
13.3.1硬件设计
13.3.2原理科及其说明
13.4软件设计
13.4.1程序流程
13.4.2程序说明
13.5实例总结 第14章基于DS12C887的实时日历时钟显示系统设计
14.1实例说明
14.2设计思路分析
14.2.1选择合适的日历时钟芯片7
14.2.2如何由DS12C887芯片获取时间信息
14.3硬件电路设计
14.3.1结构框图
14.3.2主要器件
14.3.3电路原理图及说明
14.4软件设计
14.4.1DS12C877的内存空间
14.4.2程序流程
14.4.3程序代码及说明
14.5实例总结
第15章单片机控制的步进电机系统
15.1实例说明
15.2设计思路分析
15.2.1步进电机的工作原理
15.2.2步进电机的控制
15.2.3脉冲分配与驱动芯片的选取
15.3硬件电路设计
15.3.1结构框图
15.3.2主要器件
15.3.3电路原理图厦说明
15.4软件设计
15.4.1程序流程
15.4.2程序说明
15.5实例总结
第16章基于MAX1898的智能充电器设计
16.1实例说明
16.2设计思路分析
16.2.1为何需要实现充电器的智能化
16.2.2如何选择电池充电芯片
16.2.3MAX1898的充电工作原理
16.3硬件电路设计
16.3.1主要器件
16.3.2电路原理图及说明
16.4软件设计
16.4.1程序流程
16.4.2程序说明
16.5实例总结 第17章基于NORFlashAM29LV320的数据存储
17.1实例说明
17.2设计思路分析
17.2.1芯片AM29LV320
17.2.2具体设计思路
17.3硬件电路设计
17.4软件设计
17.4.1AM29LV320的命令与状态
17.4.2串行异步数据传输
17.4.3程序代码说明
17.5实例总结
第18章基于XC95144的串口扩展
18.1实例说明
18.2设计思路分析
18.2.1串口发送的设计
18.2.2串口接收的设计
18.2.3串口模块的设计l
18.3硬件电路设计
18.4软件设计
18.4.1CPLD的设计原理图
18.4.2C51单片机程序代码说明
18.5实例总结
第19章基于8255扩展并行口
19.1实例说明
19.2设计思路分析
19.2.1并行口扩展的原理
19.2.2芯片选择
19.3硬件电路设计
19.4软件设计
19.5实例总结 第20章单片机实现智能信号发生器
第21章单片机实现步进式PWM信号输出
第22章单片机实现CRC算法
第23章单片机实现软件滤波
第七篇通信传输系统设计
第24章单片机实现点对点的数据传输
第25章单片机实现点对多点的数据传输
第26章单片机实现以太网接口
第27章单片机实现1C总线通信
第28章单片机实现RS-485总线现场监测系统
第29章CAN总线接口通信设计
第八篇电源监控与抗干扰设计
第30章单片机监控电路设计
第31章光电隔离电路设计 附录A汇编语言与C语言的混合编程
附录B实例配套实验箱