C语言程序设计A

周哲泓、文晟、马万仑

目录

  • 1 绪论
    • 1.1 为什么学习C语言
    • 1.2 C语言概述
    • 1.3 基本语法单位
    • 1.4 C语言基本程序结构
    • 1.5 Visual C++6.0介绍
    • 1.6 测试
  • 2 数据类型
    • 2.1 基本数据类型
      • 2.1.1 整型
      • 2.1.2 浮点型
    • 2.2 常量
    • 2.3 变量
    • 2.4 运算符与表达式
      • 2.4.1 算术运算符和算术表达式
      • 2.4.2 赋值运算符和赋值表达式
      • 2.4.3 关系运算符和关系表达式
      • 2.4.4 逻辑运算符和逻辑表达式
      • 2.4.5 位运算符和位表达式
      • 2.4.6 条件运算符和条件表达式
      • 2.4.7 逗号运算符和逗号表达式
      • 2.4.8 其他运算符
    • 2.5 数据的输入输出
    • 2.6 章节测试
  • 3 选择结构程序设计
    • 3.1 章节介绍
    • 3.2 关系运算符和关系表达式
    • 3.3 逻辑运算符和逻辑表达式
    • 3.4 if分支语句
    • 3.5 条件运算符和条件表达式
    • 3.6 switch多路开关语句
    • 3.7 实验方法
    • 3.8 本章小结
    • 3.9 选择结构程序设计电子课件
    • 3.10 选择结构程序设计视频推荐
    • 3.11 章节测试
  • 4 循环结构程序设计
    • 4.1 章节介绍
    • 4.2 while和do...while循环语句
    • 4.3 for 循环语句
    • 4.4 break和continue语句
    • 4.5 goto语句
    • 4.6 嵌套循环结构
    • 4.7 实验方法
    • 4.8 本章小结
    • 4.9 电子课件
    • 4.10 推荐视频
    • 4.11 章节测试
  • 5 数组
    • 5.1 一维数组
    • 5.2 二维数组
    • 5.3 字符数组与字符串
    • 5.4 章节测试
    • 5.5 实验方法
    • 5.6 电子课件
    • 5.7 推荐视频
  • 6 函数
    • 6.1 函数概述
    • 6.2 函数的定义
    • 6.3 函数的参数和返回值
    • 6.4 函数的调用
    • 6.5 函数的嵌套和递归调用
    • 6.6 数组作为函数的参数
    • 6.7 局部变量和全局变量
    • 6.8 变量的存储类别
    • 6.9 内部函数和外部函数
    • 6.10 实验
    • 6.11 电子课件
    • 6.12 章节测试
  • 7 编译预处理
    • 7.1 宏定义
      • 7.1.1 不带参数的宏定义
      • 7.1.2 带参数的宏定义
    • 7.2 “文件包含”处理
    • 7.3 条件编译
    • 7.4 推荐视频
    • 7.5 电子课件
  • 8 指针
    • 8.1 指针的基本概念
      • 8.1.1 变量的地址
      • 8.1.2 指针变量的定义
      • 8.1.3 指针变量的引用
    • 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.4.3 二维数组的指针作函数参数
    • 8.5 指针数组与多级指针
      • 8.5.1 指针数组
      • 8.5.2 多级指针的概念
    • 8.6 指针与函数
      • 8.6.1 指针变量作为函数的参数
      • 8.6.2 函数的指针
      • 8.6.3 返回指针值的函数
    • 8.7 main函数的参数
      • 8.7.1 main函数参数的概念
      • 8.7.2 main函数参数的处理
    • 8.8 程序设计举例
    • 8.9 实验
    • 8.10 电子课件
    • 8.11 参考视频
实验方法

项目五  数据结构的应用

一、项目(实训)名称

数组的应用

二、项目(实训)学时数

6课时

三、项目(实训)目标

实训目标:

1进一步掌握模块化程序设计方法。

2使用一维数组和二维数组的进行程序设计。

3练习并掌握数组作为函数参数的用法。

4至少掌握一种排序方法。

最终成果:

1、演示程序运行的过程和结果。

2、说明调试过程中出现的现象。

3、实训报告。

获得的知识:

1、数据结构和算法的关系。

2、组织数据的方法。

3、基于数据结构的算法设计

四、项目(实训)中的具体任务

1编写程序,对n个数从小到大排序。

2找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相应的信息。

3.统计一个班的学生成绩。要求程序具有如下功能:

(1) 每个学生的学号和四门功课的成绩从键盘读入。

(2) 计算每个学生的总分和平均分。

(3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。

五、教师知识和能力要求

1C语言语法。

2、算法设计

3数据结构

六、学生知识和能力准备

1、数组的定义和引用。

2、字符串的表示方法。

七、工具与设备

1PC机。

2Windows 2010操作系统。

3Visual Studio C++ 6

七、教学资料

C语言程序设计》高禹著,北京理工大学出版社,2020.8

八、实施步骤与技术要点

1编写程序,对n个数从小到大排序。

实验步骤与要求:

1任选一种排序方法进行编程。

2sort()函数进行排序。

3在主函数中输入数据,调用sort()函数,分别打印出排序前和排序后的结果。

2找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相应的信息。

实验步骤与要求:

1画出此题的流程图。

2编写程序求矩阵中所有的鞍点并上机调试。

3输入的数据和输出的结果要详细记录。

3.统计一个班的学生成绩。要求程序具有如下功能:

(1) 每个学生的学号和四门功课的成绩从键盘读入。

(2) 计算每个学生的总分和平均分。

(3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。

实验步骤与要求:

(1) 每个功能为一个独立的函数。

(2) 调试程序时,可先输入少量学生的成绩作为实验数据。如可输入3名学生4门课成绩:

学号成绩

9701 67726580

9702 75829495

9703 70748076

九、  考核或评价标准

实训成绩将主要根据学生对待实训的态度、对关键知识点和编程技巧的掌握程度、实训报告的内容、答辩情况等进行综合评定。最后的成绩将分优秀、良好、中等、及格和不及格五个等级。具体评判标准如下:

优秀:实训认真、刻苦,有钻研精神,不无故缺席。熟练掌握了本实训的关键知识点,具有良好的独立思考问题和解决问题的能力,具备了较好的C语言编程能力,编制的程序运行正确。实训记录内容丰富、齐全,答辩时能清晰明了地阐明问题,回答问题反映敏捷、思路清晰。

良好:能认真对待实训,不无故缺席。掌握了本实训的关键知识点,具备了较好的C语言编程能力,编写的程序运行正确。实训记录内容齐全,答辩时能清晰明了地阐明问题,能正确回答全部问题。

中等:能认真对待实训,不无故缺席。基本掌握了本实训的关键知识点,具备了一定的C语言编程能力,编写的程序运行基本正确,无致命错误。实训记录内容较齐全,答辩时能正确回答大部分问题。

及格:对待实训不够认真,有少量迟到、早退或无故缺席现象。基本掌握了本实训的主要内容,具有了用C语言编程的基本能力,但掌握不全面、扎实,编写的程序总体结构符合要求,基本能正常运行,但还存在少量错误。实训记录内容基本齐全,答辩时能在教师提示下正确回答大部分问题。

不及格:对待实训马虎、敷衍,经常迟到、早退或无故缺席。不能正确理解本实训的主要内容,不具备基本的C语言编程能力,编制的程序不能正常运行,或是抄袭他人程序,应付答辩。答辩时即使经教师提示仍不能正确回答大部分问题。