C语言程序设计课程实验教学大纲.docx

上传人:b****5 文档编号:6217974 上传时间:2023-01-04 格式:DOCX 页数:16 大小:26.71KB
下载 相关 举报
C语言程序设计课程实验教学大纲.docx_第1页
第1页 / 共16页
C语言程序设计课程实验教学大纲.docx_第2页
第2页 / 共16页
C语言程序设计课程实验教学大纲.docx_第3页
第3页 / 共16页
C语言程序设计课程实验教学大纲.docx_第4页
第4页 / 共16页
C语言程序设计课程实验教学大纲.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言程序设计课程实验教学大纲.docx

《C语言程序设计课程实验教学大纲.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程实验教学大纲.docx(16页珍藏版)》请在冰豆网上搜索。

C语言程序设计课程实验教学大纲.docx

C语言程序设计课程实验教学大纲

C语言程序设计课程实验教学大纲

适用:

本科学时数:

30执笔者:

冯晓川

编写日期:

2010年2月修订日期:

2010年5月审阅者:

一、实验的性质和目的

C语言程序设计课程是计算机科学与技术专业的主要专业基础课和骨干课,而本实验课程的学习目的在于加深对讲授内容的理解,熟练地掌握C语言的语法规则。

通过编写程序和调试程序,在实验中提高动手能力。

通过实验掌握编写程序的思想方法,体会编程的技巧,加深编程语言的应用能力。

二、实验的教学内容、学时分配及要求

序号

实验项目名称

学时

实验类型

1

数据的存储与运算

2学时

验证性

2

顺序结构程序设计

2学时

验证性

3

选择结构程序设计

2学时

验证性

4

选择结构程序设计

2学时

验证性

5

循环结构程序设计

4学时

验证性

6

多重循环结构程序设计

2学时

验证性

7

一维数组

2学时

验证性

8

二维数组

4学时

验证性

9

字符数组与字符串

2学时

验证性

10

函数的定义、声明和调用

4学时

验证性

11

指针

4学时

验证性

实验1:

数据的存储与运算

班级:

姓名:

学号:

成绩:

实验名称:

数据的存储与运算实验报告日期:

年月日

【实验目的】

1、掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使用。

2、掌握常见格式控制字符对输出结果的控制作用。

3、掌握C语言算术、赋值、自增、自减运算符及相应表达式

4、掌握不同类型数据之间的赋值规律

5、了解强制数据类型转换以及运算符的优先级、结合性。

6、学会根据表达式,编写相应程序,验证表达式结果的方法。

【实验内容】

在VisualC++下完成“源程序清单”中规定的程序题(4个)。

1、已知:

a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。

试编程上机验证。

提示编程要点:

(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;

(2)程序先给几个条件变量赋初值,然后将表达式赋值给变量r;

(3)最后打印变量r的值就是表达式的值。

您分析的表达式结果:

2、已知:

a=7,x=2.5,y=4.7(a整型,x,y浮点),计算算术表达式x+a%3*(int)(x+y)%2/4的值。

试编程上机验证。

您分析的表达式结果:

3、已知:

a=12,n=5(a,n整型),计算下面表达式运算后a的值。

试编程上机验证。

(1)a+=a

(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2)(6)a+=a-=a*=a

您分析的表达式结果:

(1)

(2)(3)(4)(5)(6)。

4、分析下面程序结果,并上机验证。

main()

{

inti,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("i=%d,j=%d,m=%d,i=%d\n",i,j,m,n);

}

您分析的表达式结果:

【实验要求】

1、实验前认真预习,自行分析程序题的结果,体会本次实验的目的并了解实验要求。

实验时仔细对比程序实际运行结果,认真思考并回答实验小结和思考中的问题。

2、在VisualC++下完成“源程序清单”中规定的程序题。

编辑、编译、运行程序并获得程序结果;如果程序有错,记录编译、连接遇到的提示错误。

仔细思考出错原因,并更正之。

3、编制的程序必须保存在D:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

4、学生可以对实验程序进行修改、补充,以便上机完成自己需要的程序验证和测试。

在完成实验要求的工作外,要学会创造性的工作。

实验2:

顺序结构程序设计

实验名称:

顺序结构程序设计成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、掌握:

使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。

2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。

【实验内容】

在TurboC下完成程序题:

(1)根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位)

(2)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小数点后3位)

(3)输入三角形的三条边a,b,c,求三角形面积。

其中面积的公式为

(4)已知分期还贷款的计算公式为p=d*r*(1+r)m/(1+r)m-1

编程:

输入贷款数额月利率准备多少个月偿还清贷款,计算每月偿还的数额P

[提示]方法与上题类似,求指数运算时调用系统的pow数学函数

注:

变量名可以自由选择,以易于理解为原则;数据由键盘输入。

【实验要求】

1、实验前编制程序框图、编写源程序、准备测试数据。

2、实验测试数据要求从键盘输入。

应尽力追求程序的完美。

比如要求输入数据,应当显示提示字符串,提示用户输入;输出时要求有文字说明。

3、在TurboC下完成程序的编辑、编译、运行,获得程序结果。

如果结果有误,应找出原因,并设法更正之。

4、编制的程序必须保存在D:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

实验3:

选择结构程序设计

(一)

实验名称:

选择结构程序设计成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、掌握关系、逻辑运算符及其表达式的正确使用。

2、掌握if语句和switch语句的使用。

3、了解TurboC程序调试的基本方法。

【实验内容】

在TurboC下完成程序题:

1、有如下函数,要求输入x的值,求y的值。

|X|,X<0

Y=X2,0≤X<10

LogX,X≥10

2、输入1-7之间的任意数字,程序按照用户的输入输出相应的星期值。

3、某单位马上要加工资,增加金额取决于工龄和现工资两个因素:

对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。

工龄和现工资从键盘输入,编程求加工资后的员工工资。

【实验要求】

1、实验前绘制程序框图,编制源程序、准备测试数据。

2、在TurboC下完成程序的编辑、编译、运行,获得程序结果。

3、实验中可以采用TurboC程序调试基本方法协助查找程序中的逻辑问题。

实验步骤、过程

1、编辑、编译、运行程序题1,分别使用数据-5,0,5,10,100做测试。

人工计算结果分别是。

2、编辑、编译、运行程序题2,分别使用数据1,7,8做测试。

3、编辑、编译、运行程序题3,测试数据见下表:

工龄y(年)

现工资S0(元)

调整后工资S(元)-人工计算结果

25

2200

22

1900

18

1700

16

1400

4、尝试跟踪程序题1运行。

用F7或F8键单步跟踪程序,用^F7检查变量值,用F4可以将程序运行到光标当前位置。

实验4:

选择结构程序设计

(二)

实验名称:

选择结构程序设计

(二)成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、掌握关系、逻辑运算符及其表达式的正确使用。

2、掌握if语句和switch语句的使用。

3、了解TurboC程序调试的基本方法。

【实验内容】

在TurboC下完成程序题:

1、身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。

小孩成人后的身高与其父母的身高和自身的性别密切相关。

设faHeight为其父身高,moHeight为其母身高,身高预测公式为

男性成人时身高=(faHeight+moHeight)×0.54cm

女性成人时身高=(faHeight×0.923+moHeight)/2cm

此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。

编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。

2、简单的计算器

用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:

操作数1运算符op操作数2

计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。

本实验程序是在例4.8的基础上,增加如下要求:

(1)如果要求程序能进行浮点数的算术运算,程序应该如何修改?

如何比较实型变量data2和常数0是否相等?

(2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空白符,那么程序如何修改?

【思考题】比较实型变量data2和常数0是否相等,能用if(data2==0)吗?

为什么?

【实验要求】

1、实验前绘制程序框图,编制源程序、准备测试数据。

2、在TurboC下完成程序的编辑、编译、运行,获得程序结果。

3、实验中可以采用TurboC程序调试基本方法协助查找程序中的逻辑问题。

实验5:

循环结构程序设计

实验名称:

循环结构程序设计成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、掌握while,do-while,for循环的语法结构与应用。

2、掌握while,do-while循环的区别。

3、掌握TurboC单步执行调试程序的方法。

【实验内容】

完成程序题:

1、用三种循环结构,求1000以内奇数的和。

2、用while,do-while循环求i-10的连加和,i由用户输入。

3、有一堆零件(100-200个之间),如果以4个零件为一组进行分组,则多2个零件;如果以7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多5个零件。

编程求解这堆零件总数。

提示:

用穷举法求解。

即零件总数x从100-200循环试探,如果满足所有几个分组已知条件,那么此时的x就是一个解。

分组后多几个零件这种条件可以用求余运算获得条件表达式。

【实验要求】

1、实验前编制源程序、对第2个实验内容需要准备测试数据。

2、在TurboC下完成程序的编辑、编译、运行。

查看、分析程序结果。

实验6:

多重循环结构程序设计

实验名称:

多重循环结构程序设计成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、掌握循环嵌套使用方法。

2、掌握break,continue语句。

【实验内容】

1、编制程序,输出由“*”组成的正三角形的,边长由程序输入。

例如n=4,输出图形:

*

***

*****

*******

2编写程序,求任意两个整数之间所有的素数。

3、猜数游戏

在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。

那么,现在就开始吧,先编写第1个程序,然后试着在第1个程序的基础上编写第2个程序,……

程序1编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!

”,否则提示“Wrong!

”,并告诉人所猜的数是大(Toohigh)还是小(Toolow),然后结束游戏。

要求每次运行程序时机器所“想”的数不能都一样。

程序2编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。

程序3编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。

程序4编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。

每次运行程序可以反复猜多个数,直到操作者想停止时才结束。

【思考题】如果用scanf输入用户猜测的数据时,如果用户不小心输入了非法字符,如字符a,那么程序运行就会出错,用什么方法可以避免这样的错误发生呢?

请读者编写程序验证方法的有效性。

【实验要求】

1、编制源程序。

2、在TurboC下完成程序的编辑、编译、运行。

查看、分析程序结果。

实验7:

一维数组

实验名称:

一维数组成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、理解一维数组的概念

2、掌握一维数组的定义、初始、数组元素引用。

3、掌握一维数组的输入/输出。

4、掌握与数组有关的算法。

【实验内容】

1、编制程序,求Fibonachi数列的前10项。

提示:

Fibonachi的第1,2项分别为1,1。

其后任何一项满足ai=ai-2+ai-1。

2、编写找出1-100之间能被7或11整除的所有整数,存放在数组a中,并统计其个数。

要求以每行排列5个数据的形式输出a数组中的数据。

3、对任意10个数进行排序*(升序)。

.【实验要求】

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

2、在TurboC下完成程序的编辑、编译、运行。

查看、分析程序结果。

实验8:

二维数组

实验名称:

二维数组成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

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

2、掌握一维数组和二维数组的定义、初始、数组元素引用。

3、掌握一维数组和二维数组的输入/输出。

4、掌握与数组有关的算法。

【实验内容】

1、设有4x4的方阵,其中的元素由键盘输入。

求出

(1)主对角线上元素之和;

(2)辅对角线上元素之积;(3)方阵中最大的元素。

提示:

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

[思考题]

1、检验并打印魔方矩阵

在下面的5×5阶魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。

17241815

23571416

46132022

101219213

11182529

2、餐饮服务质量调查打分

在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。

例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。

如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。

下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。

假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。

GradeCountHistogram

15*****

210**********

37*******

...

【实验要求】

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

2、在TurboC下完成程序的编辑、编译、运行。

查看、分析程序结果。

实验步骤、过程

1、编辑、编译、运行程序题1,测试数据。

1234

5678

9101112

13141516

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

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

实验9:

字符数组与字符串

实验名称:

字符数组与字符串成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

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

2、掌握字符数组的定义、初始、数组元素引用、输入输出。

3、掌握字符数组的处理

4、掌握常用字符串处理函数

【实验内容】

1、编制程序:

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

(不得调用任何字符串处理函数,包括strlen)

例如:

输入helloworld输出dlrowolleh

2、编写程序:

对键盘输入的两个字符串进行连接。

(尽管我们知道strcat()可以简单完成此任务,本题仍然规定不得调用任何字符串处理函数,包括strlen)。

例如:

输入helloworld,输出helloworld

3、编写程序:

对从键盘任意输入的字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母,其它字符不变。

(不调用任何字符串处理函数)

例如:

输入:

HelloWorld!

输出:

hELLOwORLD!

4、编写程序:

从键盘输入4个字符串(长度<20),存入二维字符数组中。

然后对它们进行排序(假设由小到大顺序),最后输出排序后的4个字符串。

(允许使用字符串函数)

提示:

字符串比较可以用strcmp函数实现,排序方法可以选择法或冒泡法。

【实验要求】

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

2、1-3题不得使用任何字符串处理函数,4题允许使用字符串处理函数。

3、在TurboC下完成程序的编辑、编译、运行。

查看、分析程序结果。

实验步骤、过程

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

使用数据:

helloworld做测试。

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

使用数据:

helloworld做测试。

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

使用数据:

HelloWorld做测试。

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

使用数据:

SpanishChinaAmericaJapan做测试。

实验10:

函数的定义、声明和调用

实验名称:

函数的定义、声明和调用成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

1、掌握函数定义(返回、函数名、参数、函数体),调用。

2、掌握函数的声明

3、※嵌套调用、递归调用。

4、※掌握函数的传值、传址调用※。

※:

不要求

【实验内容】

1、编制函数fun,其功能是:

删除一个字符串中指定的字符。

要求:

原始字符串在主函数中输入,处理后的字符串在主函数中输出。

例如:

输入“Iamateacher,youareastudent”和‘e’输出“Iamatachr,youarastudnt”。

2、编制函数sortstr,其功能是对多个字符串进行排序。

要求:

欲排序的字符串在主函数中输入,排好序的字符串在主函数中输出。

提示:

排序算法可参照实验9第4题,即将排序算法改为由一个函数sortstr实现。

3、掌握函数声明的使用。

【实验要求】

1、1、2题编制源程序和测试数据;在TurboC下完成程序的编辑、编译、运行并分析程序结果。

2、3题按实验步骤完成,认真观察,仔细思考思考题。

实验步骤、过程

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

使用字符串:

“Iamateacher,youareastudent”以及字符‘e’做测试。

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

使用数据:

“Spanish”、“China”、“America”、“Japan”、“England”做测试。

3、掌握函数声明的使用

(1)输入下面程序,编译、连接,如果没有输错,应该提示成功。

运行获得正确结果100。

floatfun(floatf)

{

returnf*f;

}

voidmain()

{

floatk;

k=fun(10.0);

printf("%f\n",k);

}

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

Typemismatchinredeclarationof'fun',(重新定义了fun,类型不一致)。

提示:

移动一块程序可以用^KB,^KK定义要移动的块,然后移动光标到要移动的目标位置,^KV移动程序块。

另外,^KC还可以复制一块程序,试试吧!

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

思考:

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

实验11:

指针

实验名称:

指针成绩:

实验日期:

年月日实验报告日期:

年月日

学号:

姓名:

【实验目的】

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

2、掌握指针变量的定义、初始化以及通过指针变量对数据的访问。

3、掌握指针与一维数组的关系。

【实验内容】

1、运行下面程序,理解指针的概念。

main()

{

inta[10]={1,2,3,4,5,6,7,8,9,10};

int*p;

for(p=a;p

{

printf("address=%x\t",p);

printf("value=%d\n",*p);

}

printf("%d\t",p);

printf("%d\n",*p);

}

运行结果:

2、编写程序:

输入一行文字,统计其中大写字母、小写字母、空格以及数字字符的个数。

【实验要求】

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

2、实验内容2,实验前应编制源程序、准备测试数据。

3、在TurboC下完成程序的编辑、编译、运行。

实验步骤、过程

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

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

提示:

地址值,从小到大,相差2-一个整数占用两个字节。

地址用10进制输出太难看!

(2)修改指针变量值的输出格式,即把程序中的“printf("address=%d\t",p);”改为:

“printf("address=%x\t",p);”,重新运行程序,观察结果。

这样是否更清楚,哦,16位地址值。

从小到大,相差2-一个整数占用两个字节。

(3)最后一行数据是哪个单元的数据?

画一张图看看!

提示:

是数组

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1