《 C 语言程序设计》课程教学目标能力模块_汇编语言程序设计课程
《 C 语言程序设计》课程教学目标能力模块由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“汇编语言程序设计课程”。
《C语言程序设计》课程教学目标能力模块
《C语言程序设计》作为专业基础课,要真正体现“专业”“基础”的特点,有两个方面的内容要在课程中落实,一是C语言本身的语法与程序结构,二是通过该门课程的学习掌握一定的算法与常用子程序的编程实现,为后续课程课程打好基础。该门课程中的内容都是程序设计的基本内容,其中课程中的重点仍然是通过多种方法比如编程练习、阅读程序掌握选择、循环、数组、函数、指针与文件以及结构体的用法。
我们试行性地进行课程教学目标能力模块的划分,通过列出每一个单元内容的能力要求并将此能力要求落实在相应的编程实践中。
课程单元:
1、运算符、表达式、输入输出语句 能力要求:
a)能够正确定义、输入、输出并使用常用数据类型:整型、实型、字符型
b)掌握五种基本算术运算符的使用:+、-、*、/、%,知道优先级与结合性
c)掌握逻辑运算符和关系运算符、条件运算符的使用 d)能够正确使用printf()和scanf()进行各种数据正确格式的输入输出
e)编写简单顺序结构程序 基础能力落实:
1)输入一个字母,输出其对应的ASCII码.2)输入一个小写字母,输出其对应的大写字母.3)从键盘输入一个四位数,编程计算该四位数的各位和并输出。4)教材p.41页习题,5,6,7,9,10(关于数据类型、运算符、表达式的练习题,其他类似题目均可)
5)教材p.57页习题4,5,6,7(关于格式化输入输出的练习题,其他类似题目均可)
进阶能力落实: 1)输入一个十进制数,输出其对应的八进制数据。2)输入一个圆的半径,分别求圆的周长,面积和体积。2.选择结构程序设计 能力要求:
a)能够使用if语句编写条件选择程序
b)能够使用嵌套if语句和switch语句编写多分支选择结构程序 基础能力落实:
1)判断一个数的正、负,输出相应信息 2)判断一个数的奇偶,输出相应信息
3)在主函数中输入整型数据n,判断该数是否能被3整除,如果能被3整除,输出“yes”,否则输出“no”
4)将数学式子写成程序语言,如80
7)判断一个年份是否闰年
8)对一个百分制的成绩给出相应的等级(如90分以上A,80分以上B等)
9)从键盘输入两个整数,输出大数(用条件表达式求解)10)p.75习题,6,9,10(阅读程序的训练,类似题目均可)进阶能力落实:
1)从键盘上输入一个数,判断其是否为水仙花数。2)求一元二次方程的根
3)编程实现以下功能,读入两个数(d1,d2)和一个运算符(o),计算d1od2的值。
4)输入一个数,判断是否能被3,5,7整除,并输出同时被几个整除。
3.循环结构程序设计 能力要求:
a)掌握for、do-while、while语句结构
b)能够使用for、do-while、while编写循环结构程序 c)使用for、do-while、while编写多重循环语句 基础能力落实:
1)求1+2+3+…+100的和存入变量sum中,并将sum打印出来。
2)编程计算200――300的偶数和并将和打印输出 3)计算正整数1-n中的奇数之和及偶数之和
4)从5-100之间找出能被5或7整除的数(或类似求1-100之间不能被8整除的数)
5)判断一个循环语句能执行多少次(补充类似练习)6)打印99乘法表(二重循环)
7)求Fibonacci数列的前20个数。该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始每个数等于前2个数之和。(每行输出4个数)
8)编程输出所有“水仙花数”:所谓水仙花数是指一个三位十进制数,该数的各位数字立方之和,等于该数本身。(例如,153是一个水仙花数,因为1*1*1+5*5*5+3*3*3=153)
9)求出3~100之间的所有素数,并按每行5个数打印输出 10)求满足条件12+2+3+……..n
12)教科书p.95页2,4,7,14,15题(阅读循环程序的练习,或类似习题)
进阶能力落实:
1)编写一个只要输入4位数的年份和该年的元旦是星期几,就可打印全年日历的程序(可作思路开发练习时讲解)。
2)试编写程序,求一个数任意次方的最后三位数,要求x,y从键盘上输入。
3)猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。4)编写程序,从键盘上输入6名学生4门课的成绩,分别统计出每个学生的平均成绩。
5)用牛顿迭代法计算从键盘上输入的自变量x的平方根。6)用穷举法解百马百担问题。4.数组 能力要求:
a)掌握一维数组的使用
b)能够进行二维数组的定义、初始化、输入、输出、引用等操作 c)进行字符串、字符数组操作,熟悉常用字符串处理函数 基础能力落实:
1)有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素
2)由键盘输入一个字符串,如果字符串中的字符是英文字母,则进行大小写转换,其它字符不变。输出转换后的字符串。
3)定义一个整型数组a[10],将数组a[10]中的10个元素按逆序重新存放。
4)用数组方法求Fibonacci数列的前20个数。该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始每个数等于前2个数之和。(每行输出4个数)
5)对从键盘输入的一个字符串中的大英字母及数字进行计数。6)有一个3行3列的矩阵,请将其在屏幕上输出。7)将一个2*3的矩阵转置为3*2的矩阵
8)在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出。
9)不使用库函数实现两个字符串的复制和连接
10)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
11)项目单1 进阶能力落实
1)从键盘输入10个字符串,按照字典顺序将其排序输出(二维字符数组)2)*打印杨辉三角形(要求打印出10行)1 11 121 1331 14641 15101051 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)用自定义函数实现库函数unsignedintstrlen(char*str)的功能(统计字符串str中字符的个数(不包括„ '),返回字符个数);
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)编写一个子串截取函数,viodsubstr(char*source,intstart,intlength,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中
项目单5 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)编制简单的菜单