《C语言程序设计》-实验指导书.doc

上传人:小** 文档编号:574346 上传时间:2018-10-31 格式:DOC 页数:13 大小:90KB
返回 下载 相关 举报
《C语言程序设计》-实验指导书.doc_第1页
第1页 / 共13页
《C语言程序设计》-实验指导书.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《《C语言程序设计》-实验指导书.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》-实验指导书.doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、|C 语言程序设计实验指导书课程编号: 课程名称:C 语言程序设计 实验学时: 44 一、本实验课的性质、任务与目的本实验课目的是使学生掌握 C 语言编程的常用方法,熟悉该语言中的语法、词法规则,为以后进行软件开发和学习后继专业课程打下基础。通过学习能够运用 C 语言中的各个知识点编写能完成一定功能的程序。训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,其重要程度决不亚于知识的传授。把高级语言的学习与程序设计、上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。二、本实验课所依据的课程基本理论本实验课基于 C 语言的语法和词法规则、数据的表示及算法的处理,而语

2、法及算法正是高级语言程序设计的主要研究对象。 C 语言程序设计的主要任务是:C 语言是一种应用广泛结构化程序设计语言,本课程介绍 C 语言的基本概念、基本语法和编程方法,重点描述 C 语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用 C 语言编写程序的能力。三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图,要求独立完成。说明:1、实验类型:设计性;2、实验要求:必做。四、每组人数与实验学时数每组 1 人,实验学时数 44 学时。五、考核方式与评分办法实验总成

3、绩=出勤情况*10%+ 实验报告*20%+平时*30%+实验表现*40%六、本实验课配套教材或实验指导书谭浩强. C 程序设计. 北京:清华大学出版社 ,2006 年 3 月第 3 版谭浩强. C 程序设计题解与上机指导 . 北京:清华大学出版社 ,2006 年 3 月第 3 版谭浩强. C 程序设计试题汇编 . 北京:清华大学出版社 ,2006 年 3 月第 2 版夏宽理. C 语言程序设计上机指导与习题解答 . 北京:中国铁道出版社,2006 年 2 月第 1 版王士元. C 高级实用程序设计 . 北京:清华大学出版社,1996 年 1 月第 1 版夏宽理. C 语言程序设计. 北京:中国

4、铁道出版社, 2006 年 2 月第 1 版|七、实验报告要求在机器上交作业,每次实验成绩分为优、良、及格、不及格,未参加的为 0 分。要求认真书写实验报告。实验报告编写要求:1实验题目2实验要求3程序流程图4调试过程(实验过程出现的问题、解决的方法)5程序代码及运行结果。八、实验内容实验一:C 语言运行环境的认识与简单的 C 程序【目的与要求】 1、了解 TC 环境下 C 语言的运行环境,熟悉编译系统的操作环境。2、了解在该系统上如何编辑、编译、连接和运行一个 C 程序。3、通过运行简单的 C 程序,初步了解 C 源程序的特点。4、掌握和理解 C 程序中最基本的 C 语句。【实验内容】1、题

5、目:由键盘输入两个整数,计算并输出两个数之和。2、程序如下:#include “stdio.h”void main()int a,b,sum;printf(“Please input two integer numbers:n”);scanf(“%d%d”,sum=a+b;printf(“%d+%d=%d”,a,b,sum);3、具体操作:(1)输入程序,然后进行编译连接。若在编译中有词法或语法错误,则根据提示进行修改,再进行调试,直到没有语法错误。(2)运行程序,依下列不同的方式输入数据,查看程序执行结果。 12_ 34 12 34 1234 【实验分析与讨论】1、总结 C 程序的基本结构和

6、书写规则。|2、分析调试过程中常见的错误提示和解决策略。实验二:C 语言程序的单步调试实验三:选择结构的程序设计【目的与要求】 1、了解三种基本数据类型的定义。2、掌握各种不同运算符及其对应的表达式的使用。3、熟练掌握 if 语句和 switch 语句的使用【实验内容】一、判断方程 ax2+bx+c=0 有几个解,若有,则输出其解。1、算法分析:对于方程 ax2+bx+c=0 的解,存在以下情况:a=0,不是一元二次方程;b 2-4ac=0,有两个相等的实根;b 2-4ac0,有两个不等的实根;b 2-4ac0) x1=(-b+sqrt(d)/(2*a) x2=(-b-sqrt(d)/(2*a

7、)else x1=(-b+sqrt(-d)i)/(2*a) x2=(-b-sqrt(-d)i)/(2*a)2、程序代码:#include “stdio.h”#include “math.h”void main()float a,b,c,x1,x2,d;printf(“请输入 ax2+bx+c=0 方程三系数值:”);scanf(“%f%f%f”,if (abs(a)1e-6)x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);|printf(“该方程的两个不等实根为:x1=%4.2f,x2=%4.2f”,x1,x2);else / sqr(b)-4*a*c=i;

8、k-)|ak=ak-1; /移位,准备插入新的整数ai=m; printf(“新数组为:”);for(i=0;iaj) t=ai;ai=aj;aj=t;void main() int a10,i;for(i=0;i10;i+) scanf(“%d“,printf(“输入的数值序列为:“);for(i=0;i10;i+) printf(“%4d“,ai);printf(“n“); fun(a,10);printf(“输入的数值序列为:“);for(i=0;i10;i+) printf(“%4d“,ai);二、输入任意两数 m,n 的值,输出下列表达式的值。S= !)(nm1、算法分析 编写一函数

9、 fac(n), 返回 n!的值。 编写主函数,从键盘输入 m,n 的值,调用上述 fac()函数,计算表达式的值,并将其输出。2、程序代码#include “stdio.h”long fac(int n)if (n=1) return 1;else return n*fac(n-1);void main()int m,n,t; float s;printf(“please input 2 integer numbers:”);|scanf(“%d%d”,if(mn) t=m;m=n;n=t;printf(“s=%f”,fac(m)/(fac(m-n)fac(n);【课后练习】1、 若正整数

10、A 恰好出现在其平方数的右侧,则称 A 为一个同构数。如:5,6,76。求 100以内的所有同构数。要求:(1)编写一子函数 int fun(int n),判断给定正整数 n 是不是同构数,若是,返回 1,否则,返回 0。(2)编写主函数,调用函数 fun(),寻找并输出 100 以内的所有同构数。(3)在输出同构数的同时,要输出其平方的值。2、 运用递归,求任一个字符串的长度。【实验分析与讨论】1、 被调函数的实现及调用过程。2、 简单递归问题的实现。实验七:指针及其应用 【目的与要求】 1、了解指针的定义与应用。2、掌握使用指针变量的程序设计。3、 了解使用函数指针的程序设计。4、 了解使

11、用指针数组的程序设计。【实现内容】一、设计一程序,将两个变量的值进行交换。1、 算法分析:(1)编写一个函数 swap(int *p,int *q),交换两个参数指针所指的数据。(2)编写主函数,调用函数 swap,将两个变量的值进行交换。2、 程序代码:#include “stdio.h”void swap(int *p,int *q);void main()int a,b;printf(“请输入两个整数:”);scanf(“%d%d”,printf(“两个数交换前顺序为:a=%d,b=%d”,a,b);swap(printf(“两个数交换后顺序为:a=%d,b=%d”,a,b);|void

12、 swap(int *p,int *q)int t;t=*p;*p=*q;*q=t;二、编程实现:运用指针将字符串 str2 连接到字符串 str1 后,构成新的字符串 str1。1、算法分析:本程序即实现字符串处理函数 strcat()的功能。两字符串 str1 和 str2 进行连接,要注意的是字符串的结束标志,并运用指向字符串的指针来实现。2、程序代码:#include “stdio.h“#include “string.h“void main()char str120 ,str210,*p=str1,*q=str2 ,j,len1,len2;printf(“请输入字符串 str1:“)

13、; gets(str1); len1=strlen(str1); p=p+len1-1;printf(“请输入字符串 str2:“); gets(str2); len2=strlen(str2);for( j=0;jlen2; j+)*(+p)=*(q+);str1len1+len2=0;printf(“新的字符串 str1 为:“); puts(str1);【课后练习】1、运用指向数组的指针,求一数组中所有元素之和。2、【实验分析与讨论】实验八:结构体及其应用 【目的与要求】 1、了解结构体类型的定义。2、掌握结构体类型变量的使用。【实验内容】有 10 个学生,每个学生包括学号、姓名、三门课的成绩,从键盘输入 10 个学生数据,要求输出三门课中每一门课的平均成绩,以及最高分学生的数据。1、算法分析:定义一个结构体类型,其中含有学号、姓名、三门课的成绩、总分数据;先后根据要求解决上述问题。2、程序代码:#include “stdio.h“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com