C语言程序设计

李永宁 李志慧 王荣福 郭艳宏 蔡荣贵 王露 康高厉 夏雨 赵东琛

目录

  • 1 第一章 C语言概述
    • 1.1 教学材料
      • 1.1.1 课程纲要
      • 1.1.2 授课计划
      • 1.1.3 课内实训指导书
      • 1.1.4 教案
    • 1.2 C语言概述
      • 1.2.1 学习目标
      • 1.2.2 学习视频
      • 1.2.3 学习效果检测
      • 1.2.4 练习及作业
    • 1.3 C语言基本程序结构
    • 1.4 C程序的编辑、编译、连接和运行
    • 1.5 PPT
  • 2 第二章 C程序设计基础
    • 2.1 C语言数据类型
      • 2.1.1 数据类型
      • 2.1.2 学习视频
    • 2.2 运算符和表达式
      • 2.2.1 学习视频
    • 2.3 顺序结构程序设计
    • 2.4 数据的输入与输出
    • 2.5 上机实践
    • 2.6 章节测试
  • 3 第三章  选择结构程序设计
    • 3.1 关系运算符和关系表达式
    • 3.2 逻辑运算符和逻辑表达式
    • 3.3 if语句
      • 3.3.1 学习视频
    • 3.4 Switch语句
    • 3.5 上机实践
    • 3.6 PPT
  • 4 第四章   循环结构程序设计
    • 4.1 whiile语句和do while语句
      • 4.1.1 学习视频
    • 4.2 for语句循环结构
    • 4.3 break 、continue语句
    • 4.4 goto语句
    • 4.5 嵌套循环结构
    • 4.6 循环小结
    • 4.7 实训3-循环结构程序设计
    • 4.8 PPT
  • 5 第五章   数组
    • 5.1 一维数组
      • 5.1.1 微课视频-冒泡排序法
    • 5.2 二维数组与字符数组
      • 5.2.1 预习任务
    • 5.3 字符数组与字符串
    • 5.4 项目实训4-数组的应用
    • 5.5 PPT
    • 5.6 数组学习效果检测
  • 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.4 函数的嵌套和递归调用
    • 6.5 数组作为函数的参数
    • 6.6 局部变量和全局变量
    • 6.7 内部函数和外部函数
    • 6.8 项目实训5
    • 6.9 PPT
  • 7 第7章 编译预处理
    • 7.1 宏定义
      • 7.1.1 不带参数的宏定义
      • 7.1.2 带参数的宏定义
    • 7.2 “文件包含”处理
    • 7.3 条 件 编 译
    • 7.4 电子课件
  • 8 第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 PPT
    • 8.11 学习效果检测
  • 9 第9章 结构体与其他数据类型
  • 10 文件
  • 11 24级软件工程、网络工程、物联网工程等专业C语言课程设计
    • 11.1 实训指导书
    • 11.2 项目一 学生信息管理系统.PPT
    • 11.3 项目二 图书管理系统PPT
    • 11.4 实训报告电子版下载
  • 12 21级软件工程-C语言程序设计
    • 12.1 21级软件工程-C语言程序设计-实训预备项目指导书下载
    • 12.2 新建目录
    • 12.3 21级软件工程-C语言程序设计-实训指导书下载
    • 12.4 ​视频:C语言打造学生信息管理系统
    • 12.5 视频:学生成绩管理系统的设计
    • 12.6 视频:指针
    • 12.7 实训报告电子版
项目实训5

项目五  模块化程序设计

一、       项目(实训)名称

模块化程序设计

二、       项目(实训)学时数

6课时

三、       项目(实训)目标

实训目标:

1.能够实现多模块的程序设计与调试的方法。

2.能够运用函数的定义和调用的方法。

3.能够使用递归方法进行程序设计。

最终成果:

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

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

3、实训报告。

获得的知识:

1debug工具。

2、函数调用过程中类型转换的规则。

3、函数递归调用的逻辑过程

4C语言程序的模块化结构

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

1、 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。

2、 编写函数,实现计算两个数的和、差、积、商、余数。

(1)编写一个菜单函数void menu(),用于显示菜单项。

*********************

  1.求两个数的和

  2.求两个数的差

  3.求两个数的积

  4.求两个数的商

  5.求两个数的余

**********************

(2)编写int add(int x,int y)函数,实现计算两个数的和。

(3)编写int sub(int x,int y)函数,实现计算两个数的差。

(4)编写int mul(int x,int y)函数,实现计算两个数的积。

(5)编写int div(int x,int y)函数,实现计算两个数的商。

(6)编写int mod(int x,int y)函数,实现计算两个数的余。

(7)编写主函数,实现调用以上函数。

3、 用递归方法编写程序,求n阶勒让德多项式的值

五、  教师知识和能力要求

1C语言模块化设计方法。

2、程序调试能力

六、       学生知识和能力准备

1、掌握函数的定义与调用。

2、掌握数组的概念。

3、理解变量的作用域和生存期。

七、       工具与设备

1PC机。

2Windows 2010操作系统。

3、综合开发环境(IDE): CodeBlocksVisualStudio CommunityVisual C++ 6

八、       教学资料

C程序设计》(第四版),谭浩强著,清华大学出版社,201011

九、       实施步骤与技术要点

1、 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。

实验步骤与要求:

(1) 编写一个函数prime(n),返回给定整数n是否为素数。

(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。

(3) 对于属于多函数程序,可以采用每个函数分别进行编辑、编译的方法,然后再连接、运行。如果编译有错时,可分别修改,这样便于调试。实验2和实验3也可以使用这样的调试方法。

2、 编写函数,实现计算两个数的和、差、积、商、余数。

(1)编写一个菜单函数void menu(),用于显示菜单项。

*********************

  1.求两个数的和

  2.求两个数的差

   3.求两个数的积

  4.求两个数的商

  5.求两个数的余

**********************

(2)编写int add(int x,int y)函数,实现计算两个数的和。

intadd(int x,int y)

{   return x+y;   }

(3)编写int sub(int x,int y)函数,实现计算两个数的差。

intsub(int x,int y)

{   return x-y;   }

(4)编写int mul(int x,int y)函数,实现计算两个数的积。

intmul(int x,int y)

{   return x*y;   }

(5)编写int div(int x,int y)函数,实现计算两个数的商。

intdiv(int x,int y)

{   return x/y;   }

(6)编写int mod(int x,int y)函数,实现计算两个数的余。

intmod(int x,int y)

{   return x%y;   }

(7)编写主函数,实现调用以上函数。

3、 用递归方法编写程序,求n阶勒让德多项式的值,递归公式为


实验步骤与要求:

(1) 根据递归公式编制计算n阶勒让德多项式的递归函数p(n,x)。

(2) 编制一个主函数,由键盘输入n,x,调用(1)中的函数计算n阶勒让德多项式的值。

(3) 输入p(n,x)=p(4,2)运行该程序。然后自定义几组数据再运行该程序。

程序调试说明:

多模块的调试除了可以采用前面实验中采用的各种调试方法以外,还可以采用“回声打印”的调试方法。当函数之间要传递的数据较多时,容易出错。这时,在有关的输入数据之后加上输出语句,以便反映数据输入的情况。在函数之间有数据传递后,再用输出语句把传递后的数据输出,这样可以找到数据的错误处,以便分析原因。