《C语言程序设计》课程教学目标能力模块教案(2)
进阶能力落实
1) 从键盘输入 10 个字符串,按照字典顺序将其排序输出 ( 二维字符数组 )
2)* 打印杨辉三角形(要求打印出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 。。。 。。。
3) 从键盘上输入 100 个字符,统计其中字母、数字和其它字符的个数及其百分比。
4 )找出一个二维数据中的鞍点。(鞍点是指位置上的元素在该行上最大,在该列上最小),如果没有鞍点,请输出提示信息。
5 )编程将两个矩阵 a[3][4] 和 b[4][5] 相乘所得到新矩阵 c[3][5], 并将结果显示出来。
a) 能够通过定义、调用函数处理指定问题:如数组排序,数据交换,字符串大、小写转换等
b) 能够嵌套调用函数
c) 编制递归函数进行求阶乘的运算
d) 了解变量的作用域及生存期在程序中的影响
基础能力落实:
1 )
在主函数中,输入整数 x 的值,调用函数,在屏幕上输出 y 的值。
2) 编写函数求两个数中的最大数
3) 编写函数求三个数中的最大数
4 )编写一个函数 jc 用于计算 n!, 将计算结果返回。在主函数中输入 n 的值,调用函数 jc, 在主函数中打印输出结果
5 )编写函数求组合数 C= n! / (k! *( n-k)!)
6 ) 编写递归函数用于计算 n!
7 )编写函数求 x 的 n 次方的值
8 )用函数求两个整数的绝对值
9 )用函数求两个整数之差的绝对值
8 )用函数求 1 - 100 的累计和
9 )编写函数求 1 + 1 / 2 + 1 / 3 + 1 / 4 +。。。+ 1 / n 的值
10 )用自定义函数实现库函数 unsigned int strlen(char *str) 的功能(统计字符串 str 中字符的个数 ( 不包括‘ \0 ' ) ,返回字符个数);
11 )不使用库函数 strcat() ,编程将两个字符串连接起来。
12 )编写函数将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)
13 ) 有关函数及全局变量等的程序阅读类型题。
14 )项目单 2
进阶能力落实:
1) 定义两个函数,分别求两个整数的最大公约数和最小公倍数。
2) 编写函数,求两个二维矩阵的和。
3) 用函数实现牛顿迭代法求一元三次方程的根。
4) 编写函数,使用递归的方法,
5) 求三个数的最小公倍数。用函数实现。
a) 指针变量的定义、使用,以及指针变量作函数参数
b) 使用指针进行数组操作
c) 使用指针进行字符串操作
基础能力落实:
1 )用下标法和指针法引用数组元素
2 )使用指针,不使用库函数 strcat() ,编程将两个字符串连接起来。
3 )使用指针,不使用库函数 strcpy( ) ,编程将两个字符串连接起来。使用指针,不用库函数 strlen( ), 编程求字符串的长度。
4 )使用指向数组的指针,引用数组的指定元素,将指定元素执行清零或求倍数
5 )使用指针进行冒泡法排序
6 )使用指针求一个字符串的长度
7 )项目单 3
进阶能力落实 :
1 )编写一个子串截取函数, viod substr(char *source , int start , int length , char *dest); source 是源字符串指针, start 是截取的开始位置, length 是要截取的子串的长度, dest 是指目标串指针。
2 )编写一个程序,计算用户输入的起始时间和终止时间之间的相距天数。
3 )编写一个程序,利用指针打印如下图形。
***
** **
** **
** **
4) 编写一个函数,完成对 n 个字符串的排序。
a) 在程序中正确使用结构体变量、结构体数组以及结构体类型的指针
b) 链表处理
c) 了解共用型、枚举型数据类型
基础能力落实:
1 )定义一个反映学生学号、姓名和性别的结构体变量,同时初始化;
将信息打印输出
2 )定义一个结构体数组,用于存放 5 名学生的学号、姓名及三门课的成绩;
从键盘输入 5 名学生的以上数据,将成绩平均值最大的学生的学号、姓名、三门课的成绩及平均成绩在屏幕上输出。
3) 项目单 4
进阶能力落实:
1) 利用共用体测键盘的输入。
2) 定义一个日期型的结构体,判断键盘上输入的日期是本年度的第几天。
3) 编写一个函数,实现链表的插入。
4) 编写一个函数,实现链表的查询。
a) 根据题意进行文件操作:打开、关闭、读写
b) 进行文件定位操作,了解位置指针与出错检测
c) 数组、字符、字符串的读写
基础能力落实:
1 )定义一个字符数组 str[15], 从键盘输入一个字符串“ polytechnic ” , 将此字符串,写入文件 string.dat 中 ,分别用 fwrite 与 fputs 函数实现
2 )定义一个浮点型变量 a, 从键盘输入数据 , 将此数写入二进制文件 data.dat 中
3) 将一个整型数据、浮点型数据存入文件并读取
4) 实现文本文件的复制
5) 将一个整型数组、浮点型数组存入文件并分别读取第 2 , 4 , 6 , 8 或 1 , 3 , 5 , 7 , 9 个数
6) 将一个结构体数据存入文件并读取。
7) 项目单 5
进阶能力落实:
1) 编写一个函数,实现两个文本文件的复制。
2) 编写程序,将一个文本文件的内容连接到另外一个文本文件中。
3) 将一个文件中,所有的小写字母转化为大写字母后输出。
4) 编程实现二进制文件与文本文件的相互转化。
a)TC 实现图形功能的常用库函数
b) 根据要求实现简单的图形
c) 编制简单的菜单
基础能力落实:
1) 编程在屏幕上显示一个简单的直方图
2 )编程在屏幕上显示 20 个同心圆
进阶能力落实:
1) 编程实现一个时钟
2 )编制简单的菜单
1) 从键盘输入 10 个字符串,按照字典顺序将其排序输出 ( 二维字符数组 )
2)* 打印杨辉三角形(要求打印出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 。。。 。。。
3) 从键盘上输入 100 个字符,统计其中字母、数字和其它字符的个数及其百分比。
4 )找出一个二维数据中的鞍点。(鞍点是指位置上的元素在该行上最大,在该列上最小),如果没有鞍点,请输出提示信息。
5 )编程将两个矩阵 a[3][4] 和 b[4][5] 相乘所得到新矩阵 c[3][5], 并将结果显示出来。
5 、 函数
能力要求:a) 能够通过定义、调用函数处理指定问题:如数组排序,数据交换,字符串大、小写转换等
b) 能够嵌套调用函数
c) 编制递归函数进行求阶乘的运算
d) 了解变量的作用域及生存期在程序中的影响
基础能力落实:
1 )
在主函数中,输入整数 x 的值,调用函数,在屏幕上输出 y 的值。
2) 编写函数求两个数中的最大数
3) 编写函数求三个数中的最大数
4 )编写一个函数 jc 用于计算 n!, 将计算结果返回。在主函数中输入 n 的值,调用函数 jc, 在主函数中打印输出结果
5 )编写函数求组合数 C= n! / (k! *( n-k)!)
6 ) 编写递归函数用于计算 n!
7 )编写函数求 x 的 n 次方的值
8 )用函数求两个整数的绝对值
9 )用函数求两个整数之差的绝对值
8 )用函数求 1 - 100 的累计和
9 )编写函数求 1 + 1 / 2 + 1 / 3 + 1 / 4 +。。。+ 1 / n 的值
10 )用自定义函数实现库函数 unsigned int strlen(char *str) 的功能(统计字符串 str 中字符的个数 ( 不包括‘ \0 ' ) ,返回字符个数);
11 )不使用库函数 strcat() ,编程将两个字符串连接起来。
12 )编写函数将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)
13 ) 有关函数及全局变量等的程序阅读类型题。
14 )项目单 2
进阶能力落实:
1) 定义两个函数,分别求两个整数的最大公约数和最小公倍数。
2) 编写函数,求两个二维矩阵的和。
3) 用函数实现牛顿迭代法求一元三次方程的根。
4) 编写函数,使用递归的方法,
5) 求三个数的最小公倍数。用函数实现。
6、 指针
能力要求:a) 指针变量的定义、使用,以及指针变量作函数参数
b) 使用指针进行数组操作
c) 使用指针进行字符串操作
基础能力落实:
1 )用下标法和指针法引用数组元素
2 )使用指针,不使用库函数 strcat() ,编程将两个字符串连接起来。
3 )使用指针,不使用库函数 strcpy( ) ,编程将两个字符串连接起来。使用指针,不用库函数 strlen( ), 编程求字符串的长度。
4 )使用指向数组的指针,引用数组的指定元素,将指定元素执行清零或求倍数
5 )使用指针进行冒泡法排序
6 )使用指针求一个字符串的长度
7 )项目单 3
进阶能力落实 :
1 )编写一个子串截取函数, viod substr(char *source , int start , int length , char *dest); source 是源字符串指针, start 是截取的开始位置, length 是要截取的子串的长度, dest 是指目标串指针。
2 )编写一个程序,计算用户输入的起始时间和终止时间之间的相距天数。
3 )编写一个程序,利用指针打印如下图形。
***
** **
** **
** **
4) 编写一个函数,完成对 n 个字符串的排序。
7、 结构与链表
能力要求:a) 在程序中正确使用结构体变量、结构体数组以及结构体类型的指针
b) 链表处理
c) 了解共用型、枚举型数据类型
基础能力落实:
1 )定义一个反映学生学号、姓名和性别的结构体变量,同时初始化;
将信息打印输出
2 )定义一个结构体数组,用于存放 5 名学生的学号、姓名及三门课的成绩;
从键盘输入 5 名学生的以上数据,将成绩平均值最大的学生的学号、姓名、三门课的成绩及平均成绩在屏幕上输出。
3) 项目单 4
进阶能力落实:
1) 利用共用体测键盘的输入。
2) 定义一个日期型的结构体,判断键盘上输入的日期是本年度的第几天。
3) 编写一个函数,实现链表的插入。
4) 编写一个函数,实现链表的查询。
8、 文件
能力要求:a) 根据题意进行文件操作:打开、关闭、读写
b) 进行文件定位操作,了解位置指针与出错检测
c) 数组、字符、字符串的读写
基础能力落实:
1 )定义一个字符数组 str[15], 从键盘输入一个字符串“ polytechnic ” , 将此字符串,写入文件 string.dat 中 ,分别用 fwrite 与 fputs 函数实现
2 )定义一个浮点型变量 a, 从键盘输入数据 , 将此数写入二进制文件 data.dat 中
3) 将一个整型数据、浮点型数据存入文件并读取
4) 实现文本文件的复制
5) 将一个整型数组、浮点型数组存入文件并分别读取第 2 , 4 , 6 , 8 或 1 , 3 , 5 , 7 , 9 个数
6) 将一个结构体数据存入文件并读取。
7) 项目单 5
进阶能力落实:
1) 编写一个函数,实现两个文本文件的复制。
2) 编写程序,将一个文本文件的内容连接到另外一个文本文件中。
3) 将一个文件中,所有的小写字母转化为大写字母后输出。
4) 编程实现二进制文件与文本文件的相互转化。
9、 图形与用户界面技术
能力要求:a)TC 实现图形功能的常用库函数
b) 根据要求实现简单的图形
c) 编制简单的菜单
基础能力落实:
1) 编程在屏幕上显示一个简单的直方图
2 )编程在屏幕上显示 20 个同心圆
进阶能力落实:
1) 编程实现一个时钟
2 )编制简单的菜单