目录

  • 1 课程导学
    • 1.1 课程思政总体设计
    • 1.2 课程学习指南
    • 1.3 课程思维导图
  • 2 项目一 认识程序设计与C语言
    • 2.1 学习指导
    • 2.2 课程思政
      • 2.2.1 课程思政教学设计表
      • 2.2.2 融入教学思政案例:千里之行,始于足下
      • 2.2.3 扩展案例:不积跬步,无以至千里
    • 2.3 任务1 认识程序和程序设计
    • 2.4 任务2 认识C语言
      • 2.4.1 C语言产生与发展
      • 2.4.2 C语言的特点
    • 2.5 任务3 C程序开发与运行
      • 2.5.1 C程序组成
      • 2.5.2 C程序开发
    • 2.6 综合实践一 学生成绩管理系统界面设计
    • 2.7 章节测验
  • 3 项目二 顺序结构程序设计
    • 3.1 学习指导
    • 3.2 课程思政
      • 3.2.1 课程思政教学设计表
      • 3.2.2 融入教学思政案例:不以规矩,不能成方圆
      • 3.2.3 扩展案例:培养严谨的习惯
    • 3.3 任务1 认识常量和变量
    • 3.4 任务2 数据表现形式及应用
      • 3.4.1 整型数据表现形式及应用
      • 3.4.2 实型数据表现形式及应用
      • 3.4.3 字符型数据表现形式及应用
    • 3.5 任务3 运算符号及应用
      • 3.5.1 算术运算符及应用
      • 3.5.2 赋值和复合赋值运算符
      • 3.5.3 逗号及其他运算符
    • 3.6 任务4 数据输入与输出
      • 3.6.1 单个字符输入/输出函数
      • 3.6.2 格式化输入函数
      • 3.6.3 格式化输出函数
    • 3.7 任务5 顺序结构应用举例
    • 3.8 综合实践二 学生成绩信息描述与统计
    • 3.9 章节测验
  • 4 项目三 选择结构程序设计
    • 4.1 学习指导
    • 4.2 课程思政
      • 4.2.1 课程思政教学设计表
      • 4.2.2 思政案例:人生也是一道道选择题
    • 4.3 任务1 认识选择结构
    • 4.4 任务2 if语句应用
      • 4.4.1 if简单语句
      • 4.4.2 if标准语句和条件运算符
      • 4.4.3 if多分支语句
      • 4.4.4 if嵌套语句
    • 4.5 任务3 switch语句应用
    • 4.6 任务4 选择结构应用举例
    • 4.7 综合实践三 学生成绩管理系统菜单选择设计
    • 4.8 章节测验
  • 5 项目四 循环结构程序设计
    • 5.1 学习指导
    • 5.2 课程思政
      • 5.2.1 课程思政教学设计表
      • 5.2.2 融入教学思政案例:愚公移山
    • 5.3 任务1 认识循环结构
    • 5.4 任务2 while和do-while语句应用
      • 5.4.1 while语句
      • 5.4.2 do-while语句
    • 5.5 任务3 for语句应用
    • 5.6 任务4 break和continue语句应用
      • 5.6.1 break语句
      • 5.6.2 continue语句
    • 5.7 任务5 循环嵌套应用
    • 5.8 任务6 循环结构应用举例
    • 5.9 综合实践四 学生成绩管理系统菜单循环选择设计
    • 5.10 章节测验
  • 6 项目五 数组应用
    • 6.1 学习指导
    • 6.2 课程思政
      • 6.2.1 课程思政教学设计表
      • 6.2.2 思政案例:关于守序
      • 6.2.3 思政案例:关于同级能量汇聚理论
      • 6.2.4 思政案例:字符串与交友
    • 6.3 任务1 认识数组
    • 6.4 任务2 一维数组定义及应用
      • 6.4.1 一维数组定义与初始化
      • 6.4.2 一维数组应用
    • 6.5 任务3 二维数组定义及应用
      • 6.5.1 二维数组定义与初始化
      • 6.5.2 二维数组应用
    • 6.6 任务4 字符数组定义及应用
      • 6.6.1 字符数组定义与初始化
      • 6.6.2 字符数组输入与输出函数
      • 6.6.3 字符串处理函数
    • 6.7 任务5 数组应用举例
    • 6.8 综合实践五 学生多门成绩存储与处理设计
    • 6.9 章节测验
  • 7 项目六 函数应用
    • 7.1 学习指导
    • 7.2 课程思政
      • 7.2.1 课程思政教学设计表
      • 7.2.2 融入教学思政案例:归纳借鉴,分而治之,各取所长,团结协作
      • 7.2.3 扩展案例:建立自己人生中的各种“函数库”
      • 7.2.4 扩展案例:递归函数与榜样
    • 7.3 任务1 认识函数
    • 7.4 任务2 函数调用
    • 7.5 任务3 函数嵌套调用和递归调用
      • 7.5.1 函数嵌套调用
      • 7.5.2 函数递归调用
    • 7.6 任务4 数组名作为函数参数
    • 7.7 任务5 变量作用域和变量存储类别
    • 7.8 任务6 函数应用举例
    • 7.9 综合实践六 学生成绩管理系统功能模块化设计
    • 7.10 章节测验
  • 8 项目七 指针应用
    • 8.1 学习指导
    • 8.2 课程思政
      • 8.2.1 课程思政教学设计表
      • 8.2.2 思政案例:细节决定成败
    • 8.3 任务1 认识指针
    • 8.4 任务2 变量与指针应用
    • 8.5 任务3 数组与指针应用
    • 8.6 任务4 字符串与指针应用
    • 8.7 任务5 其他指针应用
    • 8.8 任务6 指针应用举例
    • 8.9 综合实践七 学生成绩管理系统指针应用设计
    • 8.10 章节测验
  • 9 项目八 自定义数据类型应用
    • 9.1 学习指导
    • 9.2 课程思政
      • 9.2.1 课程思政教学设计表
      • 9.2.2 思政案例:结构体与规范
    • 9.3 任务1 结构体类型定义与应用
      • 9.3.1 结构体类型定义
      • 9.3.2 结构体变量定义及应用
      • 9.3.3 结构体数组定义及应用
      • 9.3.4 结构体指针定义及应用
    • 9.4 任务2 共用体类型定义及应用
    • 9.5 任务3 枚举类型定义及应用
    • 9.6 任务4 typedef用法
    • 9.7 任务5 结构体应用举例
    • 9.8 综合实践八 学生成绩管理系统结构体应用设计
    • 9.9 章节测验
  • 10 项目九 文件应用
    • 10.1 学习指导
    • 10.2 课程思政
      • 10.2.1 课程思政教学设计表
      • 10.2.2 思政案例:文件管理与合作
    • 10.3 任务1 认识文件与文件指针
    • 10.4 任务2 文件打开与关闭
    • 10.5 任务3 文件读写函数应用
    • 10.6 任务4 文件位置定位与错误检测函数用法
    • 10.7 任务5 文件应用举例
    • 10.8 综合实践九 成绩管理系统文件应用
    • 10.9 章节测验
  • 11 试卷
    • 11.1 试卷一
    • 11.2 试卷二
    • 11.3 试卷三
    • 11.4 试卷四
章节测验

【习题】

一、选择题

1.下面语句中,把变量 fp 说明为一个文件类型指针的是( )。

A.FILE *fp; B.FILE fp; C.file *fp; D.file fp;

2.若文本文件只能进行读操作,打开此文件的方式为( )。

A.“r” B.“w” C.“a” D.“r+”

3.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调

用方式是( )。

A.FILE * fp;fp=fopen(“file1”,“r”);

B.FILE * fp;fp=fopen(“file1”,“r+”);

C.FILE * fp;fp=fopen(“file1”,“rb”);

D.FILE * fp;fp=fopen(“file1”,“rb+”);

4.以下叙述中正确的是( )。

A.C 语言中的文件是流式文件,因此只能顺序存取数据。

B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必

定被覆盖。

C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打

开,才能读到第 1 个数据。

D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数

据丢失。

5.若要打开 D 盘上 user 子目录下名为 test.txt 的文本文件进行读写操

作,下面合法的函数调用是( )。

A.fopen(“D:\user\test.txt”,“r”)

B.fopen(“D:\\user\\test.txt”,“r+”)

C.fopen(“D:/user/test.txt”,“rb”)

D.fopen(“D:\user\test.txt”,“w”)

6.在文件打开方式中,字符串“rb”的含义是( )。

A.打开一个文本文件,只能写入数据。

B.打开一个已经存在的二进制文件,只能读取数据。

C.打开一个已经存在的文本文件,只能读取数据。

D.打开一个已经存在的二进制文件,只能写入数据。

7.若某文件的文件指针为 fp,现在已经指向文件末尾,那么函数 feof(fp)

的返回值是( )。

A.0 B.-1 C.NULL D.非零值

8.读取文件中的单个字符,应该使用函数( )。

A.fread( ) B.gets( ) C.fgetc( ) D.fgets( )

9.如果要把文件中的一个学生记录(包括学号、姓名、年龄、班级等)

读到内存中相应的结构体变量中,那么最好使用函数( )。

A. fread( ) B.fscanf( ) C.fgetc( ) D. fgets( )

10.若调用 rewind()函数,则函数返回值是( )。

A.1 B.0 C.EOF D.void

二、填空题

1.在 C 语言中,“文件指针”是一个重要的概念,定义文件指针的方法

为: *fp;其中 fp 是一个指向 类型结构体指针变量。

2.在 C 语言中,文件按存放方式分为 文件按和 文件。

3.文件在使用之前必须先 文件,使用完毕后必须 文件。

4. 格式化读写函数可以对 文件进行读写操作,而数据块读写函

数则是对 文件进行读写操作。

5. fseek()函数有三个参数,分别是 、 和 。

三、编程题

1.首先利用记事本建立一个文本文件 file1.txt,里面输入一行字符。

然后利用文件读写操作实现文件的复制,即把文件 file1.txt 中的内容

复制到 file2.txt 文件中。

2.5 名学生信息:学号、姓名、三门课程的成绩和平均分,从键盘输入

学生的学号、姓名和三门课程成绩,计算每名学生的平均成绩,最后把

所有数据写入到磁盘文件中 student.dat。