C语言程序设计教学大纲计算机科学与技术师范张志昌Word格式.docx
- 文档编号:16446493
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:20
- 大小:28.16KB
C语言程序设计教学大纲计算机科学与技术师范张志昌Word格式.docx
《C语言程序设计教学大纲计算机科学与技术师范张志昌Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教学大纲计算机科学与技术师范张志昌Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
算法的概念与描述;
条件运算符;
条件控制语句、switch语句
4
6.循环控制结构
循环控制语句;
嵌套循环;
流程的转移控制
7.函数
函数的定义、调用;
函数原型;
递归函数;
变量的作用域和存储类型
8.数组
一维数组、二维数组、字符数组的定义和引用;
向函数传递数组
9.指针
变量的内存地址;
指针变量;
间接寻址;
按值调用和按地址调用;
指针变量作函数参数;
函数指针
6
10.字符串
字符串常量与字符指针;
字符串的存储、访问、输入和输出;
向函数传递字符串;
字符串与字符串处理函数
11.指针和数组
指针和一维、二维数组间的关系;
指针数组与应用;
动态内存分配
12.结构体和共用体
结构体与共用体变量的定义、初始化和成员的引用;
向函数传递结构体;
枚举数据类型
13.文件操作
文件的打开和关闭;
按字符、按格式、按数据块读写文件;
文件的随机读写;
标准输入/输出重定向
14.编译预处理与项目的多文件组织
预处理指令;
条件编译;
项目的多个源文件组织方法与编译;
简单的Makefile的编写
(四)教学时数
总共90学时,其中讲课学时:
54,上机学时:
36
(五)教学方式
板书讲解、多媒体演示、上机实验。
二、本文
理论部分
第1章概述
教学要点:
了解C语言的发展历程;
理解学C语言的理由;
了解软件的基本概念和软件开发的基本过程。
教学时数:
2学时
教学内容:
1.1C语言发展史与学习C语言的理由(0.5学时)
1.2软件开发与编程的概念(0.5学时)
软件的基本概念;
软件开发的基本流程
1.3运行C程序的步骤和编程集成环境(1学时)
简单的C语言程序举例;
程序编写、编译、运行的过程;
相关集成开发环境与工具,程序的开发环境(Visualstudio和Code:
Blocks)简介。
第2章C数据类型
掌握常量与变量的概念;
掌握简单的屏幕输出方法;
掌握基本数据类型的作用、特点、区别;
理解计算变量或数据类型所占内存空间的字节数;
掌握变量的赋值和赋值运算符。
2.1常量、变量以及数据类型(0.7学时)
常量与变量的概念;
变量的定义方法
2.2不同数据类型的变量占内存空间大小的计算。
(0.5学时)
2.3简单的屏幕输出(0.5学时)
printf()函数以及相关头文件的简单使用。
2.4变量的赋值和赋值运算符(0.3学时)
赋值运算符的使用方式和运算结果。
第3章运算符和表达式
掌握各种算术运算符、关系运算符、逻辑运算符,以及相关的表达式;
理解复合赋值运算符;
掌握增1和减1运算符;
理解宏常量与const常量;
了解自动类型转换;
理解强制类型转换运算符;
了解常用的标准数学函数。
3.1算术、关系、逻辑运算符及其表达式(0.5学时)
各种算术运算符和表达式、关系运算符和表达式、逻辑运算符和表达式。
3.2复合赋值运算符、增1、减1运算符(0.5学时)
3.3宏常量与const常量(0.5学时)
3.4类型转换(0.3学时)
3.5常用的标准数学函数(0.2学时)
第4章键盘输入和屏幕输出
理解字符常量与转义字符,以及常用的输入/输出函数,包括;
getchar()和putchar()函数、scanf()和printf()函数的使用。
特别要给学生强调利用getchar()和scanf()函数读取字符输入时要注意的问题。
1学时
4.1单个字符的输入和输出(0.5学时)
字符常量;
字符的输入和输出,主要是getchar()和putchar()函数的使用。
4.2数据的格式化屏幕输出和键盘输入(0.5学时)
第5章选择控制结构
要求学生掌握选择控制结构和条件语句,掌握算法的流程图描述方法;
掌握单分支、双分支、多分枝选择控制结构,以及条件语句;
掌握用于多路选择的switch语句。
4学时
5.1算法的概念以及描述方法(1.5学时)
5.2用于单分支、双分支控制的条件语句(1学时)
5.3条件运算符与条件语句(0.5学时)
5.4用于多路选择的switch语句(1学时)
第6章循环控制结构
掌握循环控制结构与循环语句;
掌握嵌套循环;
理解控制流程转移的跳转语句。
4学时
6.1循环控制结构与循环语句(1学时)
6.2计数控制与条件控制的循环(1学时)
6.3流程的转移控制(1学时)
6.4循环语句综合实例(1学时)
第7章函数
掌握函数定义与调用的方法;
理解递归函数的设计;
理解变量的作用域与存储类型。
7.1函数的定义与调用(1学时)
7.2递归函数(1学时)
7.3变量的作用域和存储类型(1学时)
7.4函数封装与模块化程序设计实例(1学时)
第8章数组
掌握数组的定义与数组元素的引用;
重点介绍向函数传递数组的方法。
8.1一维和二维数组的定义、初始化、引用(1学时)
8.2向函数传递一维数组(1学时)
8.3常用的排序和查找算法(1.5学时)
8.4向函数传递二维数组(0.5学时)
第9章指针
掌握指针变量的使用方法;
掌握指针变量作为函数参数的方法;
理解按值和按地址调用函数的区别;
理解函数指针的应用。
6学时
9.1变量的内存地址(0.5学时)
9.2指针变量的定义和初始化、间接寻址运算符(1学时)
9.3按值调用与按地址调用(1学时)
9.4用指针变量作函数参数(2学时)
9.5函数指针及其应用(1.5学时)
第10章字符串
掌握面向函数传递字符串以及字符串输入/输出、复制、连接等常用的字符串处理操作。
10.1字符串常量、字符串的存储与字符指针(1学时)
10.2字符串的访问和输入/输出(0.5学时)
10.3字符串处理函数(0.5学时)
10.4向函数传递字符串(1.5学时)
10.5从函数返回字符串指针(0.5学时)
第11章指针和数组
掌握指针和一维数组、二维数组之间的关系;
能够向函数传递一维数组和二维数组;
理解指针数组的概念与应用;
理解动态数组的应用。
6学时
11.1指针和一维数组间的关系(1学时)
11.2指针和二维数组间的关系(1学时)
11.3指针数组及其应用(2学时)
11.3.1指针数组用于表示多个字符串(1.5学时)
11.3.2指针数组用于表示命令行参数(0.5学时)
11.4动态数组(2学时)
主要包括:
C程序的内存映像;
动态内存分配函数;
长度可变的一维动态数组;
长度可变的二维动态数组。
第12章结构体和共用体
结合具体实例,介绍结构体和共用体数据类型的定义和使用;
强调对动态数据结构的理解与应用。
12.1从基本数据类型到抽象数据类型(0.3学时)
12.2结构体的定义与typedef定义(0.7学时)
12.3结构体数组的定义和初始化(1学时)
12.4结构体指针的定义和初始化(0.5学时)
12.5向函数传递结构体(0.5学时)
12.6共用体(0.5学时)
12.7枚举数据类型(0.5学时)
12.8动态数据结构——单向链表(2学时)
第13章文件操作
介绍文件相关的概念,特别是不同类型文件的读写方法。
13.1二进制文件和文本文件(0.5学时)
13.2文件的打开和关闭(0.5学时)
13.3按字符读写文件(0.5学时)
13.4按格式读写文件(0.5学时)
13.5按数据块读写文件(1学时)
13.6文件的随机读写(0.5学时)
13.7标准输入/输出重定向(0.5学时)
第14章编译预处理与项目的多文件组织
带参数的宏;
文件包含与条件编译;
含有多个源文件的项目组织与编译。
14.1带参数的宏定义和宏替换(0.5学时)
14.2文件包含(0.5学时)
14.3条件编译(0.5学时)
14.4含有多个源文件的项目组织与编译(0.5学时)
14.5make命令的使用和Makefile的编写(2学时)
实验部分
(一)基本要求
《C语言程序设计》是特别强调实践的课程,要求学生必须十分重视上机实践。
因此本课程应至少有36小时的上机实验时间,同时也鼓励学生在规定的上机时间以外,自己抽出课余时间进行上机实验,鼓励学生在本课程学习的一学期中,力争能够累计编写5000行的程序。
通过足够量的上机实验,达到以下目的:
1)通过扎实的练习,自然而然地理解和熟练掌握C语言语法规则;
2)在大量的编程练习中,通过不断发现并调试修改程序错误,来积累编程和调试的经验,培养程序设计的良好思维习惯,并掌握开发集成环境工具的应用;
3)通过大量练习,锻炼程序设计和软件开发的基本素质,培养分析和解决实际问题的基本能力。
(二)实验项目总表
序号
实验项目名称
学时数
项目类别
项目类型
C程序开发和运行环境熟悉、简单C程序的实现
基础
必做
数据类型、运算符和表达式练习
键盘输入和屏幕输出实例
选择控制结构程序设计
5
循环控制结构程序设计
设计
函数的设计与应用
7
数组应用
8
指针应用
9
字符串读写与处理
10
指针和数组综合程序设计
11
结构体的应用与单项链表设计
12
文件的读写
综合
(三)实验项目内容及要求
特别说明:
1.以下所列的实验内容,仅是建议或者参考内容;
教师可根据专业发展的新要求、编程语言和技术发展的新特点,设计真正符合专业要求的实验题目和内容;
2.实际教学过程中完成的编程实验数目不能少于下面所列的实验任务要求;
3.教师在参考本实验项目内容来设计新的实验内容时,难度不应低于下面所列的要求。
实验一:
C程序开发和运行环境熟悉、简单C程序的实现
实验目的:
熟悉C语言程序的编写、编译、运行的流程,熟悉一个简单的C语言程序的基本形式
实验内容:
利用集成开发环境Code:
:
Block或者VisualStudio编写一个能打印输出一句话(如“Hello,World!
”)的程序,编译;
在集成开发环境中运行程序、观察结果;
在命令行模式下运行程序,观察结果;
用鼠标双击的形式运行程序,观察结果。
实验二数据类型、运算符和表达式练习
了解不同数据类型的变量所占内存空间字节数的大小,熟悉不同运算符和表达式的运算结果。
1.通过编写程序,验证C语言中各种数据类型的取值范围及各种类型变量的定义和使用方法;
编程计算由键盘输入的任意两个数的平均值,并对不同类型的数据进行测试;
验证各种运算符和表达式的使用。
2.计算定期存款本利之和:
设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。
要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。
实验三键盘输入和屏幕输出实例
熟悉getchar()、putchar()、scanf()、printf()函数的使用;
Linux环境或者基于Windows的Cygwin下的C语言程序编写、编译和运行。
1.利用getchar()、putchar()、scanf()、printf()函数编写程序,从键盘上交替读取两个整数、两个单精度浮点数、两个双精度浮点数、两个字符,并将结果打印在屏幕上;
编写程序验证printf()函数对不同数据类型的值,分别在不同精度、不同进制下输出,并思考验证。
2.在Linux操作系统或者Cygwin下编写一个使用getchar()等输入输出函数的程序,并编译和运行。
实验四选择控制结构程序设计
熟悉单分支、双分支、多分支if语句的使用,熟悉switch开关语句的使用
1.编写身高预测程序
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。
小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为:
男性成人时身高=(faHeight+moHeight)*0.54(cm)
女性成人时身高=(faHeight*0.923+moHeight)/2(cm)
此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。
2.简单的计算器程序
要求用switch语句编程设计一个简单的计算器程序。
要求根据用户从键盘输入的表达式:
操作数1运算符op操作数2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。
另外,可增加如下要求:
(1)修改程序,要求程序能进行浮点数的算术运算,修改程序。
注意比较实型变量data2和常数0是否相等的方法
(2)修改程序,要求输入的算术表达式中的操作数和运算符之间可以加入任意多空白符。
实验五循环控制结构程序设计
熟悉for循环语句、while循环语句的使用
分别编写如下的程序:
1.用for语句编程实现1!
+2!
+……+n!
的和;
2.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第十天早上想吃时,见只剩下一个桃子。
求第一天共摘了多少桃子
3.编程实现“水仙花数”的打印,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
实验六函数的设计与应用
通过实验,掌握函数的定义和调用方法;
理解模块化设计的基本思想;
理解递归函数的实现方法。
1.输入10个学生5门课的成绩,分别用函数求:
1)每个学生平均分;
2)每门课的平均分;
3)找出最高的分数对应的学生和课程;
4)求平均分方差;
2)递归求第n个人的年龄。
3.给小学生出加法考试题:
编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进方式编程:
程序1:
通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!
”,否则显示“Notcorrect!
Tryagain!
”;
程序2:
”,直到做对为止;
程序3:
”,否则提示重做,显示“Notcorrect!
”,最多给三次机会,如果三次仍未做对,则显示“Notcorrect.Youhavetriedthreetimes!
Testover!
”程序结束;
程序4:
连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!
”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题目数量。
程序5:
通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!
4.编写递归函数,计算游戏人员的年龄:
有5个人围坐在一起,问第五个人多大年纪,他说比第4个人大2岁;
问第4个人,他说比第3个人大2岁;
问第3个人,他说比第2个人大2岁;
问第2个人,他说比第1个人大2岁。
第一个人说自己10岁,问第5个人多大年纪。
实验七数组应用
熟悉一维数组、二维数组的定义与引用方法;
理解简单的数组排序与查找方法。
1.输出Fibonacci数列的前20个数;
2、用冒泡法对10个数排序;
2.用选择法实现十个整数的排序;
3.已有一个已经排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中;
4.检验并打印魔方矩阵:
在下面的5×
5魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后,检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。
17241815
23571416
46132022
101219213
11182529
5.餐饮服务质量调查打分:
在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。
例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况,如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,那么将会大大增加这些数据的直观性,也便于数据的分析与对比。
下面以顾客对餐饮服务打分为例,练习一下这方面的程序。
假设现在有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数为从1~10的10个等级(1意味着最低分,10表示最高分),试统计调查结果,并用‘*’打印出如下形式的统计结果直方图。
GradeCountHistogram
15*****
210**********
37*******
...
6.某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。
考试后要求:
(1)计算每个学生的总分和平均分;
(2)按总分成绩由高到低排出成绩的名次;
(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
[提示:
用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。
(1)用函数编程实现计算每个学生的总分;
(2)用函数编程实现按总分由高到低对学生成绩排序,注意:
排序时,一维数组sum元素的变化应连同二维数组score和一维数组num和aver一起变化;
(3)用函数编程实现查找学号为k的学生在班级中的排名名次及相关成绩等信息,找不到时返回-1值。
]
实验八指针应用
练习指针变量的使用方法,理解通过指针访问数据的特点。
1.从键盘输入10个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组中的位置,要求用指针变量作为函数参数,得到最大值和最小值在数组中的位置。
2.编写程序,定义一个二维数组,在其中存储一个矩阵,并用指针变量来访问数组中的元素,计算矩阵对角线上所有元素的和。
实验九字符串读写与处理
掌握字符串的读写方法;
理解字符串的存储方式。
1.按下述要求编写口令检查程序(假设正确的口令为8888)。
(1)若输入口令正确,则提示“Youarewelcom!
”,程序结束;
(2)若输入口令不正确,则提示“Wrongpassward!
”,同时检查口令是否已输入三次若未输入三次,则提示“Enteragain:
”,且允许用户再次输入口令,相反,若已输入了三次,则提示“Youhaveenteredthreetimes!
Youarenotwelcom!
”,且不允许用户再输入口令,程序结束。
设置一个计数器,每输入一次口令,计数器计数一次,同时,设置标志变量flag,当输入口令正确或虽然输入不正确但已输入三次时,置标志变量flag置为0,不允许再输入,结束程序,反之,如果标志变量未发生改变(即为1)时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教学大纲 计算机科学 技术 师范 张志昌