ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:232.76KB ,
资源ID:3884125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3884125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言实验指导书新.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言实验指导书新.docx

1、C语言实验指导书新C语言程序设计实验指导书电气与电子工程学院 重要说明: 上机实验目的和要求一 实验报告要求每次实验,提交一份实验报告。具体格式见“实验报告格式范文”将代码和运行截图粘贴到“C改革实验指导书24学时”word的相应位置。如下图,程序运行的截图如下:二 上机实验的目的上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下:1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件

2、),再遇到其他的系统时便会触类旁通,很快学会。3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。三 上机实验前的准备工作1 了解所用的计算机系统的性能和使用方法;2 复习和掌握与本实验有关的教学内容;3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序;4 准备好调试和运行时所需的数据。四 上

3、机实验的步骤1 调出C语言编译系统,进入C语言工作环境;2 输入自己编制好的程序;3 检查输入是否有错,及时更正;4 进行编译和连接;5 运行程序,分析结果。 实验一 C语言上机基础特别声明:为了教学的便捷以及学生自学的方便,我们选择了便于下载和安装的Microsoft Visual C+ 6.0软件作为编译环境。但在实际工作中使用的编译环境应该是visual studio系列软件(如visual studio 2010)。所以同学们课下必须自己XX(visual studio 2010使用手册),学习visual studio的基本用法!PS: 输入法必须切换成英文输入法!一 实验目的1 熟

4、悉C语言运行环境Microsoft Visual C+ 6.0中文版。2 掌握语言程序的书写格式和语言程序的结构,初步了解C源程序的特点。3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。二 实验内容1 C语言上机步骤 开机,启动Microsoft Visual C+ 6。 建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输

5、入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 建立C+源文件:在“工程”菜单中选择“添加到工程”“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C+ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 输入源程序:在弹出的文件编辑窗口中输入下面的源程序:#include void main() printf(Hello,World!n); printf(Welcome to the C language world!n); printf(Everyone has been waiting for.n);

6、编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:表示已通过编译,生成了目标程序sy11.obj。 调试:接下来进行调试,操作如下图所示。完成调试后,生成可执行程序文件sy1.exe。 运行:最后用“编译”菜单的“!执行sy1.exe”命令项运行可执行程序文件sy .exe。运行结果如下:(8)程序可能出错,要学会调试修改,详见VC+6.0使用方法中的7.调试程序 PS: 输入法必须切换成英文输入法!2 完成下面程序的运行2) 输

7、入并运行下面的程序,运行后记录并分析结果。#include main() char c1,c2; /* 第2行 */ c1=97;c2=98; /* 第3行 */ printf (%c %cn,c1,c2);在此基础上: 在程序最后增加一个语句,再运行,并分析结果。printf (%d %dn, c1, c2);/a c 97 98 将第2行改为:int c1,c2;再次运行,并分析结果。a c 97 98 再将第3行改为:c1=305;c2=340; /1 t 305 340 N位二进制转成8位的char 再使之运行,分析运行结果。2 输入并运行下面的程序#include main() ch

8、ar c1=a,c2=b,c3=c,c4=101,c5=116; printf(a%c b%ctc%ctabcn,c1, c2, c3); printf(ttb%c%cn, c4, c5);在上机前先用人工分析程序,写出应得结果,上机后将二者对照。三 案例项目1.输出你自己的生日,姓名拼音的首字母,用浮点型数输出你的年龄(如:20.8)实验二 基本数据类型、运算符和表达式一 实验目的:1练习使用基本类型的变量进行编程2练习使用C的运算符二实验内容: 1实验要求 :熟练使用运算符 (%,+,-) 2分析与设计 : 求余运算符要求两个操作数都必须是整数;+和- 要看清是先使用还是先自增(减)3源代

9、码:程序1:取出一个三位整数的各个位,并输出 main()/ 缺少#include int x=123; char c1,c2,c3; c1=x%10;c2=x/10%10;c3=x/100;printf(“%d,%d,%dn”,c3,c2,c1);/“”,输入法错误运行结果为:1,2,3程序2:练习自增和自减运算符的使用#include main() int i,j,m,n; i=8;j=10; m=+i; /* 第5行 */ n=j+; /* 第6行 */ printf(%d,%d,%d,%dn,i,j,m,n);运行程序,注意i、j、m、n各变量的值;然后分别作以下改动并运行: 将第5、

10、6行改为如下以后再运行:m=i+;n=+j; 将程序改为:#include main() int i,j; i=8;j=10; printf(%d,%dn,i+,j+); /* 第5行 */ 在的基础上,将第5行printf语句改为:printf(%d,%dn,+i,+j); 再将printf语句改为:printf(%d,%d,%d,%dn,i,j,i+,j+);/先执行所有的i输出操作,再执行i+1 将程序改为:#include main() int i,j,m=0,n=0; i=8;j=10; m+=i+;n-=- -j; printf(i=%d,j=%d,m=%d,n=%dn,i,j,m

11、,n);三案例项目(参考 附1:c语言函数库)1.随机生成2个099之间的正整数,作为你2门课的成绩。平均成绩(如果结果是整数,要求转换成浮点数),计算所有成绩的标准差。要求必须用数学库函数rand(),sqrt。标准差公式如下: 2.用数学库函数实现你学过的数学公式,使用的库函数越多,考核分数越高实验三 输入、输出函数的使用一 实验目的:熟练使用格式输出函数printf()和格式输入函数scanf() 二实验内容:1. 实验要求: 格式输入函数scanf()和格式输出函数printf()的使用2分析与设计: 输入函数中的普通字符需要原样输入,并注意分隔符的使用;输出函数中的格式控制符和输出项

12、数要一一对应。3源代码:程序1:为使得a=1,b=2,c=A,d=5.5,在键盘上如何输入?#include main()int a,b;char c;float d;scanf(“a=%d b=%d”,&a,&b);scanf(“%c %en”,&c,&d);程序在运行时,输入:a=1 b=2A 5.5 0程序2:判断下面程序的运行结果。 main()int x=3,y=2,z=1;printf(“%d,%dn”,(+x,y+),z+2);运行结果:2,3分析得到此结果的原因。 程序3: 以下程序的功能是从键盘输入一个整型数,一个实型数和一个字符型数,并把他们在屏幕上输出。完成以下填空,并把

13、程序调通,写出当输入为45,34.5,A时程序的运行结果。#include main() int a; float b; char c; scanf(%d,%f,%c, &a, &b, &c ); printf(a= %d n,a); printf(b= %f n,b); printf(c= %c n,c); 程序4:指出以下程序的错误并改正,并上机把程序调通。#include main() int a; scanf(%f,a);/ scanf(%d,a); printf(a=%f, a);/ printf(a=%d, a); char c; c=A;/ c=A; printf(%f,c)/

14、printf(%c,c);三案例项目 1.用scanf, printf进行如下的输入和输出:1)输入自己的生日,姓名拼音的首字母,年龄(如:20.8),然后输出。 注意使用fflush(stdin)函数清除缓存区域,pp89,例4-6第15行2)输入自己上学期所有课程的成绩(不一定跟真实成绩一模一样),计算平均成绩和标准差,将其输出。3)输出“学生管理系统”的菜单,如下: 实验四 选择结构程序设计一 实验目的:1熟练掌握分支结构if语句及其嵌套 2掌握分析具体问题的方法二实验内容:1实验要求 : 利用if语句和scanf函数模拟简单的ATM取款机界面2分析与设计: 用户先输入密码,密码正确后,

15、可以进行帐户的操作,如查询,取款等。3源代码:模拟ATM取款机界面#include /#include main()int password,op,number=0,count=1000,n=0;printf(please input password:);scanf(%d,&password);while(password!=1234)/*有三次输入密码的机会*/n+; if(n=3)printf(you have input 3,can not input again!n); getch();return;printf(password error!please input again:)

16、;scanf(%d,&password);loop:printf(nwelcome! Please choice one operate:(1,2,3)n);printf(1:countn2:get moneyn3:returnn);scanf(%d,&op); /*输入一种操作*/switch(op)case 1:printf(nyour count is %d.n,count);goto loop;/*帐户查询*/case 2:printf(n please input count that you want to get:); scanf(%d,&number); if(numberco

17、unt|number0)printf(nerror); else printf(nnow ,you can take money!);count-=number; goto loop; /*取款*/case 3:break;/*返回*/default:printf(n operate error!);goto loop;三案例项目1. 输入3门课的成绩,并输出所有成绩中最大的一门课。用逻辑,关系运算判断:如果所有成绩中至少有一门课大于90,则输出good;2. 先输入一个学生A的姓名和生日,再输入一个学生B的姓名和生日。用逻辑,关系运算判断:如果A,B的姓名,生日都是正确的,则输出yes,否则

18、 输出no。3. 根据实验二中的“学生管理系统”的菜单,如果输入1,则输出“显示所有学员信息”;如果输入2则输出“查询学员信息”;如果输如3,则。用switch()语句完成,运行效果图如下:实验五 循环结构程序设计一 目的和要求1 掌握在设计条件型循环结构时,如何正确地设定循环条件,以及如何正确地控制计数型循环结构的次数。2 熟悉用while语句,do-while语句和for语句实现循环的方法。3 掌握在程序设计中用循环的方法实现各种算法(如穷举、选代、递推等)。4 掌握选择结构与循环结构的嵌套。二 实验内容1 程序分析下面是一个计算e的近似值(使误差小于给定的)的程序。#include ma

19、in() double e=1.0,x=1.0,y,delta; int i=1; printf(请输入给定的误差:); scanf(%lf,&delta); y=1/x; while(y=delta) e=e+y;i+;x=x*i;y=1/x; printf(计算结果是:%12.10lfn,e); 阅读上面的程序,写出程序所依据的计算公式。1+1/(1*2)+1/2*3+1/6*4 当输入的delta是什么值时,能分别使程序按下面的要求运行: 不进入循环;delta1 只循环一次;delta1/2 只循环两次;1/2delta1/6 进入死循环(程序将永远循环下去)。Delta=0 为了能知

20、道程序循环了多少次,应该在程序中增加一条什么样的语句?printf(%dn,i); 原程序中while语句中的y=delta,分别换成ydelta,y=delta,ydelta,y=detax观察程序运行将会有什么变化。 把程序中的while结构改写成do-while结构,再运行程序,说明两种结构的区别。 将程序改成用for循环结构,计算前50项,并运行程序,写出运行结果。2 有一数列:2/1,3/2,5/3,8/5,求出这个数列的前10项之和。#include main() int n,t; float a=2,b=1,s=0; for(n=1;n=10;n+) s=s+a/b;t=a;a=

21、a+b;b=t; printf(%fn,s);要求:跟踪执行,观察s、t、a、b的变化。方法:使用功能键F10单步跟踪执行程序,可以在监视窗口设置要观察的变量或表达式。三案例项目1.输入3门成绩,用for循环求平均值。提示:每次循环输入一门成绩,并将其加入总和。2,用do-while编写一个循环程序,用户不停的进行“学生管理系统”菜单的选择,直到用户输入数字0。运行效果图如下:实验六 数组一 实验目的1 掌握一维数组和二维数组的定义、赋值和输入输出的方法;2 掌握字符数组和字符串函数的使用;3 掌握与数组有关的算法(特别是排序算法)二、实验内容编程序并上机调试运行。1 调试下列错误程序,使之具

22、有如下功能:输入12个整数,按每行3个数输出这些整数,最后输出12个整数的平均值。写出调试过程。#include #define N 12main() int i,aN,av;/av=0 for(i=0;iN;i+) scanf(%d,ai);/&ai for(i=0;iN;i+) printf(%d,ai);if(i%3= =0) printf(n);/ if(i+1)%3= =0) printf(n) for(i=0;i!=N;i+) av+=ai;/av/=N; printf(av=%fN,av); /printf(av=%d,av)上面给出的程序有错误和缺陷,请找出程序中的错误并改正。

23、2. 按照下面算法编一个程序,将两个字符串连接起来,不能用strcat函数。 定义整型变量i、j,字符串s1、s2 输入字符串s1、s2 当字符串s1尚未结束,改变字符串s1的下标,使之到s1结束处 当字符串s2尚未结束,将字符串s2逐个字符连接到字符串s1的后面 为字符串s1添加结束标志 输出连接后的字符串3案例项目1. 输入3门成绩,并用数组记录. 在输入前显示提示文字“请输入第i门课成绩”。 然后用数组与循环语句求成绩的均值,并输出均值,每门课的成绩2.用二维数组记录3个同学的所有成绩,并输出所有人的成绩3.用数组记录学生A姓名的字符串,并输出。再输入一个学生B的姓名字符串,与A的姓名字

24、符串比较,如果一样则输出yes,否则no4 (选做) 用数组存放4个学生的学号,用冒泡排序法将学号升序放置在原数组中,并输出数组数据实验七 简单函数一实验目的:1理解函数的概念和应用。2. 掌握无参无返回函数的使用。3. 掌握无参有返回函数的使用。2案例项目1. 完成主函数中的下列自定义函数: 1)无参无返回的函数inputInfo( ):/输入一个学生的信息(name,number,score 3) 2)无参无返回的函数OutputInfo();/输出一个学生的信息(name,number,score 3) 3) 无参有返回的函数Average(): 求成绩的均值. 4) 无参有返回的函数M

25、ax(): 求成绩的最大值. 5) 无参有返回的函数Standar():求成绩的方差. 6) 无参无返回的函数Sort():对成绩进行排序2.用上述自定义函数完成主函数的编写void main() /输入学生A的信息(name,number,score 3) /输出学生A的信息(name,number,score 3) /求成绩的均值,并输出/求成绩最大值,并输出/求成绩方差,并输出/对成绩进行排序,并将排序后的成绩输出 /输入学生B的信息(name,number,score 3) /输出学生B的信息(name,number,score 3) /求成绩的均值,并输出/求成绩最大值,并输出/求成

26、绩方差,并输出/对成绩进行排序,并将排序后的成绩输出 实验八 高级函数一实验目的:1理解函数形参和实参的概念和应用。2. 掌握有参无返回函数的使用。3. 掌握有参有返回函数的使用。3案例项目1.定义一个带参数并有返回值的函数Average( int score3),计算学生成绩score3的均值,并将其返回。然后在主程序中调用Average()求均值,并输出均值。2.用一个数组Student1000,记录N个学生的学号。定义一个函数AddStudent(int number),向Student数组中添加一个学生的学号。然后用该函数添加3个学生的学号,并输出所有学号。3.用一个数组Student

27、1000,记录N个学生的学号。定义一个函数modify(int i,int number),修改Studenti的学号为参数number,用主程序输入i和number,调用modify()函数,并输出4.用一个数组Student1000,记录N个学生的学号。定义一个函数del(int i),删除Studenti的学号,并把Student1000数组中的后续数据前移。用主程序输入i,调用del()函数,并输出删除后的所有学号。实验九 指针一 实验目的1 了解指针的概念,学会定义和使用指针变量。2掌握函数的值调用和引用调用的含义3掌握简单变量、数组和指针作为函数参数进行传递的形式2、实验内容1.

28、运行下列程序,写出运行结果。#include stdio.hmain() int a5,*p,j; for(j=0;j5;j+) aj=j+1; p=a; for(j=0;j5;j+) printf(*(p+%d)=%dn,j,*(p+j);/ *(p+j)改为 pj 2. 想使指针变量pt1指向a和b中的大者,pt2指向小者,以下程序能否实现此目的?swap(int *p1,int *p2) int *p; p=p1;p1=p2;p2=p;/ int a; a=*p1;*p1=*p2;*p2=a;main() int a,b; int *pt1,*pt2 ; scanf(%d,%d,&a,&b); pt1=&a; pt2=&b ; if(ab) swap(pt1,pt2); printf(%d,%d n,*pt1,*pt2) ;上机调试此程序。如果不能实现题目要求,指出原因并修改之。1编写自定义函数:进行两个数据之间的交换。分析与设计:使用两种参数传递方法,进行数据的交换,比较下

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

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