《C语言程序设计》实验指导书_第1页
《C语言程序设计》实验指导书_第2页
《C语言程序设计》实验指导书_第3页
《C语言程序设计》实验指导书_第4页
《C语言程序设计》实验指导书_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐城纺织职业技术学院《C语言》实验指导书适用班级:机电1011、1012机电工程系计算机教研室殷士勇2012年2月实验一TurboC2.0集成开发环境一、实验目的及要求:1.了解TURBOC软件的窗口界面,熟练掌握TC的菜单命令及相应的键命令,并在TC环境下掌握如何编辑、编译、连接、运行一个C程序并如何保存和修改C语言的源程序。2.通过运行一个简单的C程序过程,逐步了解C程序的基本结构及特点。二、实验内容及步骤1.熟悉并掌握TC环境下的菜单功能及命令键的使用。如上图是用户进入TC后的主菜单界面,下面是常用的命令及功能键:①File菜单File的下拉菜单中有9个子命令,其功能是完成文件的创建、存、取、退出等。Load:该命令为装载命令,其功能是将已存盘的文件调入到当前所编辑的屏幕中。Pick:选择最近已编辑过的源程序文件。New:用于创建一个新的文件。Save:用于保存当前所编辑的文件。Writeto:可以将当前的文件以另外一个文件名存盘。OSshell:从TurboC切换到DOS提示符下,可用EXIT命令返回。Quit:退出TurboC,回到DOS提示符下。②常用的编辑键(在Edit状态下):<Del>:删除光标所在的字符。<Ins>:插入、改写转换键。<Home>:光标到行首。<End>:光标到行尾。<PgUp>:向上翻页<PgDn>:向下翻页<Ctrl>+N:插入一行<Ctrl>+Y:删除光标所在行<Ctrl>+KB:定义块首<Ctrl>+KK:定义块尾<Ctrl>+KV:块移动<Ctrl>+KC:块复制<Ctrl>+KY:块删除<Ctrl>+KH:块取消<Ctrl>+<Break>或<Ctrl>+C:中断程序的运行③常用热键的使用用<Alt>加上TurboC菜单栏上所对应的第一个大写字母,方可进入对应菜单●<Alt>+F:进入文件菜单、<Alt>+E:进入编辑菜单、<Alt>+R:进入运行菜单<Alt>+C:进入编译菜单等。●<Ctrl>+F9:运行程序(对应RUN菜单中的“Run”命令)●<Alt>+F5:从TC屏幕切换到用户屏幕(对应RUN菜单中的“Userscreen”命令)●F2:将当前所编辑的文件存盘(对应File菜单中的“save”命令)●F3:装入一个文件(对应File菜单中的“load”命令)●F1:显示当前位置的帮助信息。●F4:程序运行到光标所在行。(对应RUN菜单中的“Gotocursor”命令)2.进入TC环境后,编缉一个简单源程序程序如下:main(){printf(“Hello!Howareyou?”);}完成如下功能:a.利用TC的编辑菜单,输入该源程序,且进行保存(注意保存的路径)。b.对输入的源程序进行编译和运行,得到输出结果。一、实验目的:掌握在集成环境中编辑、编译、连接和运行C程序的方法实验二分支结构一、实验目的1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)2、 学会正确使用逻辑运算符和逻辑表达式3、 熟练掌握if语句和switch语句4、 结合程序掌握一些简单的算法5、 学习调试程序二、实验内容及步骤本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。(1).有一函数:用scanf函数输入x的值,求y值。参考程序如下:main()

{floatx,y;scanf(“%f”,&x);if(x<1)y=x;if(x>=1&&x<10)y=2*x-1;if(x>=10)y=3*x-11;printf(“y=%f”,y);}(2).给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81-89分为B,70-79分为C,60-69分为D,60分以下为E。(参考程序如下:main(){intg;scanf(“%d”,&g);switch(g/10){case10:case9:printf(“A\n”);break;case8:printf(“B\n”);break;case7:printf(“C\n”);break;case6:printf(“D\n”);break;default:printf(“E\n”);}}三、实验要求:1、考虑各种可能的情况。2、写出完整程序,进行调试,记录运行结果。实验三循环结构程序设计一、实验目的熟悉掌握用while语句,do-while语句、for语句实现循环的方法。掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。进一步学习调试程序。二、实验内容及步骤

1.程序填空以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请把该程序补充完整,并上机调试运行。main(){floatx,amin,amax;_______(1)_________amax=x;amin=x;while(______(2)______){if(x>amax)______(3)______if(_____(4)______)amin=x;scanf(“%f”,&x);}printf(“amax=%f,amin=%f”,____(5)_____);}结果:(1)scanf(“%f”,&x);(2)x>=0(3)amax=x(4)x<amin或x<=amin(5)amax,amin2.程序改错请指出下列程序中的错误,改正后上机调试、运行。#includestdio.hmain{inta,b;for(a=1,b=1;a≤100;a++){if(b>=20)break;if(b%3=1){b+=3;continue;}b-=5;}结果:#includestdio.hstdio.h改为”stdio.h”mainmain改为main(){inta,b;for(a=1,b=1;a≤100;a++)a≤100改为a<=100{if(b>=20)break;if(b%3=1)b%3=1改为b%3==1{b+=3;continue;}b-=5;}最后添加一个}3.编程编程判断一个正整数是否是回文数。所谓回文数是指左右数字完全对称的自然数。例如,121、12321、484等都是回文数。程序代码如下:main(){intm,n,x,z,i,a,b,c,d,e;z=1;scanf(“%d”,&m);for(i=0;;i++){b=(int)(m/z);z=z*10;if(b>0&&b<10){a=i+1;break;}}c=a-1;for(z=1;c!=0;c--)z=z*10;e=m;for(a=a-1,d=1,n=0;a>=0;a--){x=(int)(e/z);e=e-(int)(x*z);n=d*x+n;d=d*10;z=z/10;}if(m==n)printf(“shi”;elseprintf(“fou”);}三、实验要求:1、理解for,while,do-while的具体用法。2、写出完整程序并进行调试。实验四函数一、实验目的1.掌握函数定义(返回、函数名、参数、函数体),调用。2.掌握函数的声明二、实验内容及步骤1.函数声明的使用(1)输入下面程序,编译、连接,如果没有输错,应该提示成功。运行获得正确结果100。floatfun(floatf){returnf*f;}voidmain(){floatk;k=fun(10.0);printf("%f\n",k);}(2)把fun函数移到main()函数之后,再次编译,提示错误:(3)在main()函数前增加函数声明floatfun(floatf);,再次编译,提示成功并能正确运行获得结果。思考:在什么情况需要函数声明?2.编制函数fun,其功能是:删除一个字符串中指定的字符。源程序清单如下:#include<stdio.h>voidfun(char[],char);voidmain(){chars[100],c;gets(s);c=getchar();fun(s,c);puts(s);}voidfun(chars[],charc){inti,j;for(i=0;s[i]!='\0';i++){if(s[i]==c){for(j=i;s[j]!='\0';j++) s[j]=s[j+1];}}}测试运行:Iamateacher,youareastudent<CR>e<CR>Iamatachr,youarastudnt三、实验要求1、掌握函数声明的使用。2、要求:原始字符串在主函数中输入,处理后的字符串在主函数中输出。例如:输入“Iamateacher,youareastudent”和‘e’输出“Iamatachr,youarastudnt”。实验五数组一、实验目的1、理解一维数组和二维数组的概念2、掌握一维数组和二维数组的定义、初始、数组元素引用。3、掌握一维数组和二维数组的输入/输出。4、掌握与数组有关的算法。二、实验内容及步骤1、编制程序,求Fibonachi数列的前10项。提示:Fibonachi的第1,2项分别为1,1。其后任何一项满足ai=ai-2+ai-1。main(){intf[11]={0,1,1},n;for(n=3;n<=10;n++)f[n]=f[n-1]+f[n-2];for(n=1;n<=10;n++)printf("%d",f[n]);printf("\n");}程序结果:123456789101112131415162、编写找出1-100之间能被7或11整除的所有整数,存放在数组a中,并统计其个数。要求以每行排列5个数据的形式输出a数组中的数据。main(){intn=0,a[100],i;for(i=1;i<=100;i++){if(i%7==0||i%11==0){a[n]=i;n++;}}printf("n=%d\n",n);for(i=0;i<n;i++){printf("%d\t",a[i]);if((i+1)%5==0)printf("\n");}printf("\n");}程序结果:n=2271114212228333542444955566366707784889198993、设有4x4的方阵,其中的元素由键盘输入。求出(1)主对角线上元素之和;(2)辅对角线上元素之积;(3)方阵中最大的元素。提示:主对角线元素行、列下标相同;辅对角线元素行、列下标之和等于方阵的最大行号(或最大列号)-下标、行列号基于0。#include<stdio.h>#defineN4main(){inta[N][N],s1=0,s2=1,max=0,i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);max=a[0][0];for(i=0;i<N;i++)for(j=0;j<N;j++){if(i==j)s1+=a[i][j];if(i+j==N-1)s2*=a[i][j];if(a[i][j]>max)max=a[i][j];}printf("s1=%d,s2=%d,max=%d\n",s1,s2,max);}程序结果:1234<CR>5678<CR>9101112<CR>13141516<CR>s1=34,s2=3640,max=16三、实验要求1、编制源程序,对于程序3输入测试数据。2、在TurboC下完成程序的编辑、编译、运行。查看、分析程序结果。实验六结构体一、实验目的1、掌握结构类型的定义、结构变量的说明和引用2、掌握指针在结构中的应用二、实验内容及步骤1、编写程序:定义一个职工结构体类型,定义职工结构体变量,从键盘输入一名职工信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、工资)structworker{ charname[8];charid[18]; intyears; floatpay;};main(){ structworkerw1; scanf("%s%s%d%f",&,&w1.id,&w1.years,&w1.pay); printf("%s,%s,%d,%8.2f\n",,w1.id,w1.years,w1.pay);}测试运行:wubin101121800<CR>wubin,101,12,1800.002、编写程序:定义一个职工结构体数组,从键盘输入5位职工信息,打印输出最高的工资。#include<stdio.h>staticvoidforcefloat(float*p)/*补丁*/{floatf=*p;forcefloat(&f);}structworker{ charname[8]; charid[18]; intyears; floatpay;};main(){ structworkerw[5]; inti; floatmax; printf("inputname,id,years,pay:\n"); for(i=0;i<5;i++) {scanf("%s%s%d%f",w[i].name,w[i].id,&w[i].years,&w[i].pay); } max=w[0].pay; for(i=1;i<5;i++) {if(max<w[i].pay)max=w[i].pay; } printf("maxpay:%.2f\n",max);}测试运行:liu 104 3 800<CR>he1023820<CR>wu101121800<CR>li10361400<CR>hua10581600<CR>maxpay:1800.00三、实验要求1、加深对结构体变量的理解及应用。2、编制完整的程序。实验七指针一、实验目的1、进一步理解指针概念。2、掌握指针变量的定义、初始化以及通过指针变量对数据的访问。3、掌握指针与数组、指针与函数的关系。二、实验内容及步骤1、运行下面程序,理解指针的概念。main(){ inta[10]={1,2,3,4,5,6,7,8,9,10}; int*p; for(p=a;p<a+10;p++) { printf("address=%x\t",p); printf("value=%d\n",*p); } printf("%d\t",p); printf("%d\n",*p);}运行结果:address=-68value=1address=-66value=2address=-64value=3address=-62value=4address=-60value=5address=-58value=6address=-56value=7address=-54value=8address=-52value=9address=-50value=10-48-36观察指针变量值的变化规律以及指针变量指向的数据。提示:地址值,从小到大,相差2-一个整数占用两个字节。地址用10进制输出太难看!(1)修改指针变量值的输出格式,即把程序中的“pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论