二级C语言上机实验手册(基础版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

博汇教育内部资料咨询——15179096974博汇教育1实验一熟悉C语言实验要求:1、能够熟练使用VC6.0开发环境;2、理解C语言顺序结构;熟练掌握printf函数和scanf函数的使用方法。特别要求:在实验中遇到困难时,切忌不要动不动就问老师,而是应该先思考。如果确实不能解决困难,先与坐在旁边的同学讨论,而无论这个同学在以前是否认识。如果有同学问你问题,无论你是否能解决这个问题,都应该和他讨论。如果讨论了仍然不能解决问题,就一起问老师。讨论问题的好处在于能够深刻的理解问题,记住问题。实验内容:一、熟悉VC开发环境,详见教材第1页,认真完成上面的求2数之和的练习。二、理解顺序结构前面通过最简单的例子熟悉了VC的开发环境,接下来的任务是熟练掌握printf函数和scanf函数。1、练习printf函数(1)练习printf中的格式控制字符串。新建一个文件,在TC中输入下面的程序代码:main(){inti=2000;floatj=2.71828;printf(i=%d,j=%f,j*10=%f\n,i,j,j*10);}查看程序的运行结果,将其记录下来:①我们将程序中printf函数那一行改为:printf(j*10=%d,i=%f,j=%f\n,i,j,j*10);运行程序,记录下运行结果:②再将其改为:printf(iis%d,jis%f,j*10is%f\n,i,j,j*10);运行程序,记录下运行结果③最后将其改为printf(%d,%f,%f\n,i,j,j*10);运行程序,记录下运行结果④看看这四个结果有什么相同点和不同点,想想在printf函数的格式控制字符串(即双引号引起来的部分)中的i和j有什么作用。结论:在格式控制字符串中出现的变量名,仅仅起一个提示的作用,它将被原样输出到屏幕上。其有无以及正确与否,均不影响后面值的输出。(2)练习整数的不同格式控制符。新建一个文件,在VC中输入下面的程序代码:main(){inta=32767;博汇教育内部资料咨询——15179096974博汇教育2printf(%d\n,a);printf(%o\n,a);printf(%x\n,a);}运行程序,看看相同的变量,在不同格式控制符的控制下,向屏幕输出不同的结果。(3)练习printf函数对整型数据输出宽度的控制。新建一个文件,在TC中输入下面的程序代码:main(){inta=5732;printf(%d\n,a);printf(%6d\n,a);printf(%3d\n,a);}看看程序的运行结果,记住printf函数对整型数据输出宽度的控制规律。(3)练习printf函数对实型数据输出宽度的控制。新建一个文件,在TC中输入下面的程序代码:main(){floata=3.14159;printf(p=%10f\n,a);printf(p=%4f\n,a);printf(p=%.2f\n,a);printf(p=%.4f\n,a);printf(p=%2.4f\n,a);printf(p=%10.4f\n,a);}根据本实验记住printf函数对实型数据输出宽度的控制规律,注意对小数位数的舍弃情况。(4)验证整型数据的存储结构。新建一个文件,在TC中输入下面的程序代码:main(){inta=-1;printf(%d\n,a);printf(%u\n,a);}用笔把-1在两个字节中的补码计算出来,在与程序第二个输出结果进行比较,想想为什么。2、练习scanf函数(1)练习使用scanf函数从键盘输入整型数据。新建一个文件,在TC中输入下面的程序代码:main(){inta;scanf(%d,&a);printf(%d\n,a*10);}运行程序,此时程序将停止在scanf函数中,等待用户的数据输入。因此,用户看到的是一个黑色的屏幕,光标在上面一闪一闪。如果不输入数据,则无论敲多少个回车键,程序均不能结束,也就是不能回到TC的界面。在屏幕上输入45,再回车。程序运行结束,按Alt+F5查看运行结果。这是会发现在屏幕上输出了数字450,这就是我们要求程序输入的东西。多运行几次程序,每次输入不同的数字,看看运行结果。想想用scanf函数给变量赋值和直接给变量赋值有什么不同。(2)练习使用scanf函数获取长整型数据。将上一个例子改为如下:main()博汇教育内部资料咨询——15179096974博汇教育3{longa;scanf(%ld,&a);printf(%d\n,a*10);}注意,%ld中的l是字母l,不是数字1。运行程序,输入数据,看看程序的运行结果,然后将scanf函数中的格式控制符%1d改为%d,即将scanf函数改为:scanf(%d,&a);运行程序,看看结果,想想为什么。结论:使用scanf函数输入长整型数据时,必须使用%ld,不得省略字母l。(3)练习使用scanf函数获取单精度实型数据。新建一个文件,在TC中输入下面的程序代码:main(){floata;scanf(%f,&a);printf(%f\n,a*10);}运行程序,输入数据,查看程序运行结果。(4)练习使用scanf函数获取双精度实型数据。将上一个例子改为如下:main(){doublea;scanf(%lf,&a);printf(%f\n,a*10);}运行程序,输入数据。然后去掉%lf中的字母l,再运行程序,输入相同数据,查看程序运行结果。比较两次结果,想想为什么。结论:使用scanf函数输入双精度实型数据时,必须使用%lf,不得省略字母l。(5)练习printf和scanf配合使用。新建一个文件,在TC中输入下面的程序代码:main(){inta;printf(Inputanumber:\n);scanf(%d,&a);printf(%d\n,a);}运行程序,输入数据,看看程序的运行结果。将程序第三行“printf(Inputanumber:\n);”删除,再运行程序,输入相同数据,再看看程序的运行结果,想想为什么。结论:scanf函数前面的printf函数仅仅起到提示作用,其有无或具体是什么内容,均不影响后面的scanf函数。(6)同时输入多个数据。新建一个文件,在TC中输入下面的程序代码:main(){inta;floatb,c;scanf(%d%f%f,&a,&b,&c);printf(a=%d,b=%f,c=%f\n,a,b,c);}注意在scanf函数中%d和两个%f之间均无其它符号。运行程序,输入3个数据。注意这3个数据之间只能以空格、制表符号或回车符隔开,不能以逗号或其它符号隔开。博汇教育内部资料咨询——15179096974博汇教育4实验二选择结构循环结构实验要求:1、熟悉选择结构的语法;2、熟悉循环结构的语法,能编写简单的程序;3、学习单步调试程序。实验内容:一、选择结构(1)新建一个文件,输入以下程序代码:main(){inta;scanf(%d,&a);if(a=60)printf(Pass!\n);elseprintf(Fail!\n);}将程序多运行几遍,每次输入0~100之间不同的数据,看看程序的运行结果。(2)新建一个文件,输入以下程序代码:main(){inta;scanf(%d,&a);if(a=90)printf(A\n);elseif(a=80)printf(B\n);elseif(a=70)printf(C\n);elseif(a=60)printf(D\n);elseprintf(E\n);}将程序多运行几遍,每次输入0~100之间不同的数据,看看程序的运行结果。(3)新建一个文件,输入以下程序代码:main(){inta=4,b=3,c=5,t;if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}printf(%d%d%d\n,a,b,c);}运行程序,看看程序的运行结果。再将上面的程序改为:main()博汇教育内部资料咨询——15179096974博汇教育5{inta=4,b=3,c=5,t;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;printf(%d%d%d\n,a,b,c);}注意两个程序的区别,运行程序,看看程序的运行结果,比较一下两次结果的不同之处,分析一下原因。二、循环结构在编写循环结构程序的时候,往往由于忘记了对循环变量的值进行改变,从而变成了死循环。其症状是屏幕一直停留在DOS界面,不能做任何响应,这时候就需要强制将程序结束。按组合键Ctrl+C可以强制结束程序。(1)求出1~100之间的和。新建一个文件,输入以下程序代码:main(){inti=0,s=0;while(i=100){s+=i;i++;}printf(%d\n,s);}运行程序,查看程序的运行结果。将循环判断条件改为i100,再运行程序,看看程序的运行结果,分析一下原因。试着将上面的程序改为do-while循环结构和for循环结构,分别运行程序,查看程序运行结果。(2)新建一个文件,输入以下程序代码:main(){inti=1,sum=1;while(i=5){sum=sum*i;i++;}printf(%d,sum);}运行程序,查看程序的运行结果,分析程序实现的功能。再将上面的程序改为do-while循环和for循环。(3)新建一个文件,输入以下程序代码:main(){inta;do{scanf(%d,&a);if(a=60)printf(Pass!\n);elseprintf(Fail!\n);}while(a!=0)}运行程序,输入数据,看看程序的运行结果。当输入数据0时,结束程序的运行。博汇教育内部资料咨询——15179096974博汇教育6(4)利用公式π/4=1-1/3+1/5-1/7+1/9-……求π的近似值,直到最后一项的绝对值小于10-4为止。新建一个文件,输入以下程序代码:#includemath.hmain(){inti=1,a=1;floatpi=0,s=a*1.0/i;while(fabs(s)=1e-4){pi+=s;a=-a;i+=2;s=a*1.0/i;}pi*=4;printf(%f\n,pi);}说明:fabs是求绝对值的函数,调用fabs函数必须包含头文件math.h。运行上面的程序,查看运行结果,思考并验证下面的几个问题:1、变量a起什么作用;2、如果将表达式s=a*1.0/i写为s=a/i,结果会怎样;还可以写出那些与这个表达式等价的表达式;3、如果要提高π值的精度,应如何修改程序。4、试着编写程序,求e的值。e≈1+!11+!21+!31+!41+…+!1n课后练习题:1、编写程序,任意输入一个正整数,然后把它转换为小时,分钟,秒表示。如3700,则为1小时1分40秒.2、编写程序,读入3个整数给a,b,c,然后把它们的值交换,把a的值给b,把b的值给c,把c的值给a。3、(提高题)编写程序,输入你的生日,然后再输入当前的日期,程序将输出你的年龄,并输出你在这个世界上存在了多少天。4、写一个程序计算1到100的和,并改进可以计算任意2个整数之间的和。博汇教育内部资料咨询——15179096974博汇教育7实验三函数实验要求:1、熟悉字符型数据的输入输出函数;2、理解函数,能编写简单的函数;复习前面学习过的内容;3、熟悉全国计算机等级考试上机考试题型。实验内容:一、字符型数据(1)新建一个文件,输入以下程序代码:main(){chara;scanf(%c,&a);printf(%c%d\n,a,a);}运行程序,输入一个字符,看看运行结果。然后将程序改成使用getchar()函数和putchar()函数进行输入和输出:main(){chara;a=getchar();putchar(a);}(2)编写程序,输出小写字母的ASCII码表。新建一个文件,输入以下程序代码:main(){inti;chara;for(i=0;i26;i++){a='a'+i;pri

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功