c语言程序设计课程教学大纲(藏汉双语) 联系客服

发布时间 : 星期二 文章c语言程序设计课程教学大纲(藏汉双语)更新完毕开始阅读1dd4453110661ed9ac51f304

1、编制源程序,对于程序3输入测试数据。

2、在Turbo C下完成程序的编辑、编译、运行。查看、分析程序结果。

实验6:二维数组

【实验目的】

1、理解一维数组和二维数组的概念

2、掌握一维数组和二维数组的定义、初始、数组元素引用。 3、掌握一维数组和二维数组的输入/输出。 4、掌握与数组有关的算法。 【实验内容】

1、设有4x4的方阵,其中的元素由键盘输入。求出(1)主对角线上元素之和;(2)辅对角线上元素之积;(3)方阵中最大的元素。

提示:主对角线元素行、列下标相同;辅对角线元素行、列下标之和等于方阵的最大行号(或最大列号)-下标、行列号基于0。 [思考题]

1、检验并打印魔方矩阵

在下面的5×5阶魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 2、餐饮服务质量调查打分

在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。 Grade Count 1 2 3 ...

5 10 7

Histogram ***** ********** *******

【实验要求】

1、编制源程序,对于程序3输入测试数据。

2、在Turbo C下完成程序的编辑、编译、运行。查看、分析程序结果。 实验步骤、过程

1、编辑、编译、运行程序题1,测试数据。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2、编辑、编译、运行程序题2。 3、编辑、编译、运行程序题3。

实验7:字符数组与字符串

【实验目的】

1、理解字符数组和字符串的概念。

2、掌握字符数组的定义、初始、数组元素引用、输入输出。 3、掌握字符数组的处理。 4、掌握常用字符串处理函数。 【实验内容】

1、 编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。

(不得调用任何字符串处理函数,包括strlen) 例如:输入hello world 输出dlrow olleh

2、 编写程序:对键盘输入的两个字符串进行连接。(尽管我们知道strcat()可以简单完成此任务,本

题仍然规定不得调用任何字符串处理函数,包括strlen)。 例如:输入helloworld,输出helloworld

3、 编写程序:对从键盘任意输入的字符串,将其中所有的大写字母改为小写字母,而所有小写字母改

为大写字母,其它字符不变。(不调用任何字符串处理函数) 例如:输入:Hello World!输出:hELLO wORLD!

4、 编写程序:从键盘输入4个字符串(长度<20),存入二维字符数组中。然后对它们进行排序(假设

由小到大顺序),最后输出排序后的4个字符串。(允许使用字符串函数) 提示:字符串比较可以用strcmp函数实现,排序方法可以选择法或冒泡法。 【实验要求】

1、绘制框图、编制源程序,测试数据。

2、1-3题不得使用任何字符串处理函数,4题允许使用字符串处理函数。 3、在Turbo C下完成程序的编辑、编译、运行。查看、分析程序结果。 实验步骤、过程

1、编辑、编译、运行程序题1。使用数据:hello world做测试。 2、编辑、编译、运行程序题2。使用数据:helloworld做测试。 3、编辑、编译、运行程序题3。使用数据:Hello World做测试。

4、编辑、编译、运行程序题4。使用数据:SpanishChinaAmericaJapan做测试。

实验8:指针

【实验目的】

1、进一步理解指针概念。

2、掌握指针变量的定义、初始化以及通过指针变量对数据的访问。 3、掌握指针与一维数组的关系。 【实验内容】

1、运行下面程序,理解指针的概念。 main() { }

运行结果:

2、编写程序:输入一行文字,统计其中大写字母、小写字母、空格以及数字字符的个数。 【实验要求】

1、实验内容1,分析程序结果,通过实验仔细理解指针的含义(本题数组是为了提供一块有确定数值的数据空间,便于观察),完成思考题。

2、实验内容2,实验前应编制源程序、准备测试数据。 3、在Turbo C下完成程序的编辑、编译、运行。 实验步骤、过程

1、编辑、编译、运行程序题1。

(1) 观察指针变量值的变化规律以及指针变量指向的数据。

提示:地址值,从小到大,相差2-一个整数占用两个字节。地址用10进制输出太难看!

int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p;

for(p=a; p

printf(\printf(\

printf(\

(2) 修改指针变量值的输出格式,即把程序中的“printf(\”改为:“printf(\”,重新运行程序,观察结果。这样是否更清楚,哦,16位地址值。从小到大,相差2-一个整数占用两个字节。

(3) 最后一行数据是哪个单元的数据?画一张图看看!。

提示:是数组a最后一个单元下面的一个单元,它是一个随机数。可以读取这个单元,就像程序最后一行“printf(\”,但千万别向这个单元写数据!如*p=10;这个空间不知道被谁用的。 (4) 将程序中所有int换成float,数据输出格式改为%f,观察指针变量值的变化规律,这次相邻地址值相差多少?理解指针类型的含义了吗?指针++是指针地址值+1吗?

提示:相差4。指针++即指针指向下面一个同类型的数据,由于指针类型为float,指向下一个数据,地址值应该增加4。

(5) 只将程序中float *p;改为int *p;编译出现什么警告?

提示:指针类型不合适,用整型指针指向了浮点类型数据(浮点类型的数组元素),可见指针的类型应该是指向数据的类型一致。指针类型有时称为基类型,即指向数据的类型。 编辑、编译、运行程序题2,分别使用数据:“Hello World! 3.14 WB”做测试。

实验9:函数的定义、声明和调用

【实验目的】

1、掌握函数定义(返回、函数名、参数、函数体),调用。 2、掌握函数的声明 3、嵌套调用、递归调用。 4、掌握函数的传值、传址调用。 【实验内容】

1、 编制函数fun,其功能是:删除一个字符串中指定的字符。 要求:原始字符串在主函数中输入,处理后的字符串在主函数中输出。

例如:输入“I am a teacher,you are a student”和‘e’输出“I am a tachr,you ar a studnt”。 2、 编制函数sortstr,其功能是对多个字符串进行排序。

要求:欲排序的字符串在主函数中输入,排好序的字符串在主函数中输出。 3、 掌握函数声明的使用。 【实验要求】

1、1、2题编制源程序和测试数据;在Turbo C下完成程序的编辑、编译、运行并分析程序结果。 2、3题按实验步骤完成,认真观察,仔细思考思考题。 实验步骤、过程

1、编辑、编译、运行程序题1。使用字符串:“I am a teacher,you are a student”以及字符‘e’做测试。

2、编辑、编译、运行程序题2。使用数据:“Spanish”、“China”、“America”、“Japan”、“England”做测试。

3、掌握函数声明的使用

(1) 输入下面程序,编译、连接,如果没有输错,应该提示成功。运行获得正确结果100。 float fun(float f) {

return f*f; }

void main() {

float k; k=fun(10.0); printf(\}

(2) 把fun函数移到main()函数之后,再次编译,提示错误:

Type mismatch in redeclaration of 'fun',(重新定义了fun,类型不一致)。

提示:移动一块程序可以用^KB,^KK定义要移动的块,然后移动光标到要移动的目标位置,^KV移动程序块。另外,^KC还可以复制一块程序,试试吧!

(3) 在main()函数前增加函数声明float fun(float f);,再次编译,提示成功并能正确运行获得结果。

思考:在什么情况需要函数声明?

(四)考核要求

综合考虑学生平时课堂表现、完成实验情况给出实验成绩并计入平时成绩。

三、参考书目

1、 姬涛、周启生. C语言程序设计.ISBN:北京:北京传媒大学出版社,2010. 2、 谭浩强. C语言程序设计.ISBN:北京:高等教育出版社,2006.

3、 王柏盛. C语言程序设计.ISBN: 7-04-013613-9.北京:高等教育出版社,.2004. 4、 杨路明.C语言程序设计.ISBN:7-5635-0696-9.北京:北京邮电大学出版社.2005.

四、本课程使用教具和现代教育技术的指导性意见

用本课程软件环境:TurboC或VC++6.0多媒体教学,实验课是本课程重要的教学环节,其目的是使学生加深对讲授内容的理解,熟悉所用计算机系统的操作方法,学会上机调试程序;提高学生的动手能力和分析、解决问题的能力。