九江学院实验报告参考_第1页
九江学院实验报告参考_第2页
九江学院实验报告参考_第3页
九江学院实验报告参考_第4页
九江学院实验报告参考_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告实验1熟悉C语言程序的运行环境,掌握数据描述班级学号实 验 室专业姓名成绩评定所用软件计算机号教师签名1.1实验目的1了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。2通过运行简单的C语言程序,初步了解C语言程序的结构特点。U3掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。1.2实验预习1熟悉Turbo C的启动和退出及Turbo C中的编辑、编译、连接和运行命令。2了解下列命令及函数:include、main、printf、scanf。3熟悉Turbo C环境下每个菜单项的功能及相关命令对应的操作。4各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含

2、义。int、short (int)、long (int)、unsigned (int)、float、double、char、void5各类运算符的优先级和结合规则。6常量与变量的区别和联系。表1-1 Turbo C主菜单项功能表菜单项功能菜单项功能File文件操作Project工程(项目)Edit编辑操作Option选项Run运行Debug调试Compile编译Break/watch中断/监视表1-2 Turbo C提示行功能表菜单项功能菜单项功能F1帮助F8单步执行程序F5窗口的缩放F9编译连接F6窗口的切换F10激活主菜单表1-3 Turbo C快捷操作表菜单项功能菜单项功能Alt+F1查

3、看最后一次的帮助信息Ctrl+F1查看与光标所在位置内容相关的帮助信息Alt+F3选择文件装入Ctrl+F2取消单步执行Alt+F5查看运行结果Ctrl+F8设置断点Alt+X退出TCCtrl+F9编译、连接并运行4熟悉Turbo C环境下的块操作。表1-4 基本光标命令功能操作表功能默认键功能默认键字符左Ctrl+S或Left上滚Ctrl+W字符右Ctrl+D或Right下滚Ctrl+Z字左Ctrl+A上一页Ctrl+R或PgUp字右Ctrl+F下一页Ctrl+C或PgDn上行Ctrl+E或Up下行Ctrl+X或Down表1-5 快速光标移动命令功能操作表功能默认键功能默认键行头Ctrl+Q

4、S或Home文件头Ctrl+QR行尾Ctrl+QD或End文件尾Ctrl+QC窗口头Ctrl+QE块头Ctrl+QB窗口底Ctrl+QX块尾Ctrl+QK上次光标位置Ctrl+QP表1-6 插入与删除命令功能操作表功能默认键功能默认键插入模式Ctrl+V或Ins左边字符Backspace插入行Ctrl+N删除光标处字符Ctrl+G或Del删除行Ctrl+Y删除光标右边字符Ctrl+T删除至行尾Ctrl+QY上次光标位置Ctrl+QP删除光标Ctrl+H或表1-7 块操作命令功能操作表功能默认键功能默认键标记块首Ctrl+KB块取消Ctrl+KH标记块尾Ctrl+KK块移动Ctrl+KV标记单个

5、字Ctrl+KT读块Ctrl+KR复制块Ctrl+KC写块Ctrl+KW删除块Ctrl+KY表1-8 其他命令功能操作表功能默认键功能默认键异常结束操作Ctrl+U或Ctrl+Break查找Ctrl+QF制表Ctrl+L或Tab查找并替换Ctrl+QA自动缩进Ctrl+OI查找标记Ctrl+QN定界符配对Ctrl+Q或Ctrl+Q退出编辑Ctrl+KQ1.3实验任务1输入下列程序,记录在Turbo c 下的操作方法。#include main()printf(“I am a student!”);环境的启动操作:我的电脑磁盘(各机房磁盘目录有所不同)Turbo C文件夹tc。Exe。程序的编译

6、方法:快捷键是Alt+F9 ;菜单操作是Compilecompile to OBJ程序的保存方法:快捷键是F2;菜单操作是File-Save程序的运行方法:快捷键是Ctrl+F9;菜单操作是Run运行结果的查看:快捷键是Alt+F5 ;菜单操作是RunUser Screen 环境的退出操作:快捷键是Alt+X;菜单操作是File-Quit2. 预测结果并上机验证人工分析结果实验运行结果#include main()printf(“*n”);printf(“I am a student!n”);printf(“*n”);*I am a student!*3运行程序输入5,-5;预测结果并上机验证

7、人工分析结果实验运行结果#include#includemain()int a,b,sum;scanf(“%d,%d”,&a,&b);sum=a+abs(b);printf(“a and b is %d”,sum);a and b is 104现欲将编好的上例程序以文件名my.c保存至当前目录下,请阐述方法;当重新进入TC对其进行简单修改后欲将其另存至C盘SY文件夹下(SY文件夹请自行创建),叙述方法。File菜单下单击Save as,输入C:SYmy.c5试编写程序实现下列输出(选做)* * * * * * *main()printf(“*n”);printf(“* *n”);printf(

8、“* * *n”);printf(“* * * *n”);6预测结果并上机验证(1) main()int a,b;a=b=3;printf(“a=%d,b=%d”,a,b);(2)若将以上程序进行改写,编辑如下:main()int a,b;a=3;b=3.1;printf(“a=%d,b=%d”,a,b);题号人工分析结果实验运行结果(1)a=3,b=3(2)a=3,b=3由此知,若赋值号左右数据类型不一致时,c语言将按赋值号左边变量类型为准。7现有程序如下,分析填空:人工分析结果实验运行结果1main()23int a=1,b=2;4printf(“%d”,(a=a+b,b=b+a);55若

9、将以上程序第4行进行改写,编辑如下:printf(“%d”,a=a+b,b=b+a);3对比以上两程序,结果不同的原因在于输出列表原程序为逗号表达式,所以输出b=b+a的值,而修改后的仅有一个格式控制符,只能对应输出第一个表达式a=a+b。8若有以下程序段,分析c2的值:人工分析结果实验运行结果int c1=2,c2;c2=1.0/c1*c1;1若将程序段改为:c2=1/c1*c1;0分析c2所得结果,其中的关键在于除号两端如果都是整型数据,则所得结果截断取整9现有程序如下:main() int a=7, b=10;a=a+b; b=a-b; a=a-b;printf(“%d,%dn”, a,

10、 b );程序运行的功能是:交换a、b两数的值注:可修改a、b两数的值仔细观察。10. 现有程序如下,分析填空:人工分析结果实验运行结果main() int a=0;a+=(a=8);printf(%dn,a);1611. 现有程序如下,分析填空:人工分析结果实验运行结果main()int a=2,b=5;int m=3,n;double c=2.1,d=4.5;n=a/m+b*c-d/m;printf(“%d”,n);912.现有程序如下,分析填空:人工分析结果实验运行结果main () int x=1;printf(“%d %dn”,+x,x+);3 113.现有程序如下,分析填空:人工分

11、析结果实验运行结果main() int x,y,z=0;x=y=1;z+=x+=y;x=z+;y=+x;z=x+y;printf(“x=%d,y=%d,z=%d”,x,y,z);x=4,y=3,z=614.改错题(以下程序有多处错误,上机调试。将正确的程序记录在下方。要求不能删减已有内容。)源程序正确的程序应改为:#include #define STA 30main()int a,b=3;A=3*PI*SIN(b);STA=3*STA;printf(“%dn”,2a);printf(“%d”,b);#include #define STA 30#define PI 3.14main()int

12、 a,b=3;a=3*PI*sin(b);b=3*STA;printf(“%dn”,2*a);printf(“%d”,b);1.4 实验心得实验2顺序结构程序设计与调试班级学号实 验 室专业姓名成绩评定所用软件计算机号教师签名2.1实验目的1熟悉C语言的表达式语句、空语句和复合语句。2熟悉函数调用语句,尤其是各输入输出函数的调用语句。3熟悉顺序结构程序中语句的执行过程。4熟悉程序的跟踪调试和变量值的监视。5能设计简单的顺序结构程序。2.2实验预习1熟悉下列函数:putchar、getchar、printf、scanf2了解顺序结构程序的执行过程。3了解程序的跟踪调试和变量值的监视并能够熟练操作

13、。单步跟踪调试(逐条语句跟踪调试):(1)可按功能键F7进行,要监视某变量的值时,就按CtrlF7键,然后输入相应的变量名,就可以在监视消息窗口中查看到该变量的值。(2)也可逐段运行程序,即每次运行若干条语句。首先利用CtrlF8键在各行光标处设置若干断点,然后按CtrlF9键从程序的第一条语句运行到设置的第一个断点,再按CtrlF9键从设置的第一个断点运行到设置的第二个断点。4了解顺序结构程序的一般构成。2.3实验任务1有程序如下;实验运行结果分析原因是main()unsigned int a=65536;int b,c=-2;printf(“a=%dn”,b=a) ;printf(“c=%

14、on”,c) ;a=0溢出c=%o为无符号输出,将符号位的1变为数值2若有程序main() int i,j;scanf(i=%d,j=%d,&i,&j);printf(i=%d,j=%dn ,i,j);要求给i赋5,给j赋10,则应该从键盘输入i=5,j=103华氏温度,要求输出摄氏温度,公式为:C= 。要求输出结果保留到小数点后两位。已知程序段中有三处错误,由注释语句提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。错误原因是正确语句是#include main() float f,c;clrscr();scanf(%d,f);c=5/9(f-32);printf(f=%f,c=%

15、fn,c,f);Scanf语句中是地址列表scanf(%d,&f);缺少运算符c=5/9*(f-32);输出表列用英文逗号分隔printf(t=%.2f,f=%.2fn,c,f);4. 已知程序功能是通过用户输入三角形三边,求取三角形面积。填空,将程序补充完整。求取公式为;S=(a+b+c)/2area=sqrt(s*(s-a)*(s-b) *(s-c)人工填空上机填空#include (1)main() float a,b,c,s,area;clrscr();scanf(%f,%f,%f,&a,&b,&c);(2);area=sqrt(3);printf(area=%fn,area);#in

16、clude S=(a+b+c)/2(s*(s-a)*(s-b) *(s-c)5.单步跟踪下面程序的执行,每执行一条语句就查看各变量的值。运行时输入一个三位的整数。单步跟踪程序时填写下表,同时分析程序的功能。#include”stdio.h”void main()int n,x1,x2,x3,y;printf(“please input number n”);scanf(“=”,&n);x1=n/100;x2=n/10;x3=n;y=x3*100+x2*10+x1;printf(“y=”,y);nX1X2X3y程序的功能是:将输入的3位整数逆序排列6.编辑程序,输入学生语、数、英三门课程成绩(考

17、虑数据类型),并输出其总分。main()float c,m,e,sum;scanf(%f,%f,%f,&c,&m,&e);sum=c+m+e;printf(“c=%f,m=%f,e=%fnsum=%f”,c,m,e,sum);2.4 实验心得实验3选择结构程序设计与调试班级学号实 验 室专业姓名成绩评定所用软件计算机号教师签名3.1实验目的1理解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。2学会正确使用逻辑运算符和逻辑表达式、关系运算符和关系表达式。3学会运用逻辑表达式或关系表达式等表达条件。4熟练掌握if语句和switch语句。5学习跟踪调试程序,针对具体程序组织输入测试数据

18、,观察程序运行能否得到预期的输出结果。6熟悉选择结构程序段中语句的执行过程。3.2实验预习1熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。2熟悉下列语句:if、if-else、switch、break。3.3实验任务1阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果#include main() int x=0;if(x=0)printf(x=%dn,x);else printf(x=%dn,x+1);x=0#include main() int x=0;clrscr();if(x=0)printf(x=%dn,x);elseprintf(x=%dn,x+1);x=1以上两题告

19、诉了你什么:1) c中的赋值号与等于运算符应区分。2)若判断表达式值为0,表示假,执行else分支2阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果实验告诉我们main()int a=4,b=3,c=5,t=0;if(ab)t=a;a=b;b=t;if(abc);printf(%dn,d);0关系运算符无论有多少,总是一个个运算得结果然后参与下一个运算的。4.若从键盘输入58,判断以下程序输出的结果。人工分析结果实验运行结果main() int a;scanf(%d,&a); if(a50) printf(%d,a); if(a40) printf(%d ,a);if(a30) pr

20、intf(%d ,a);5858 585. 阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果main() int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+; case 2: a+;b+;printf(“a=%d,b=%dn ”,a,b);a=2,b=16. 阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果main() int a=13,b=21,m=0;switch(a%3) case 0:m+;break;case 1:m+;switch(b%2) default:m+;case 0:m+;break;printf(“m=%d

21、n”,m);m=37. 阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果实验告诉我们main() int i=1,j=1,k=2;if(j+|k+)&i+);printf(%d,%d,%dn,i,j,k);2,2,2逻辑运算符不是所有的符合都可以参与运算的8. 阅读程序,并回答问题main() int a,b,max,min;scanf(%d%d,&a,&b);if(ab)max=a;elsemax=b;printf(max=%dn,max);问题:a、此程序的功能是输出两数中的最大数b、请用条件表达式语句(?:)修改程序使之完成相同的功能,其语句是printf(“max=%dn”,

22、ab?a:b);9. 有一函数x-1(x1)y =2(x-1)(1=x=10)编程求当分别输入x的值为0.3,3.9,11时,y的值。main() float x,y;scanf(%f,&x);if (x1)y=x-1;else if(x0)printf(x100);else if(b0) printf(10x100);e=e/10;else printf(xb)e=a;a=b;b=e;if(ac)e=a;a=c;c=e;if(bc)e=b;b=c;c=e;printf(%d,%d,%d,a,b,c);3.4 实验心得实验4循环结构程序设计与调试班级学号实 验 室专业姓名成绩评定所用软件计算机

23、号教师签名4.1 实验目的1掌握用while语句、do-while语句和for语句实现循环的方法。2理解循环结构程序段中语句的执行过程,进一步练习程序的跟踪调试技术。3. 掌握在程序设计中用循环的方法实现各种算法(如穷举法、迭代、递推等)。4. 理解break语句和continue语句的功能和执行过程。4.2 实验预习1熟悉语句:while、do-while、for 、break、continue。2熟悉三种循环语句之间的关系和区别。4.3 实验任务1. 实验指导书P33上机题1,完成下表:填空位置人工填空语句实验填空语句(1)11(2)00(3)N=100N=a&ch=A&ch=Z) upp

24、er+;printf(“大写字母个数=%d,小写字母个数=%d”,upper,lower);5. 预测结果并上机验证人工分析结果实验运行结果#include main() int x=15;while(x10&x50) x+;if(x/3)x+;break;else continue;printf(“%dn”,x);17176. 预测结果并上机验证人工分析结果实验运行结果#include main() int i=0,a=0; while(i20) for(;) if(i)=0) break;else i-; i+=11; a+=i;printf(%dn,a); 32327. 编程实现九九乘法

25、表。main() int i,j;for(i=1;i=9;i+) for(j=1;j=i;j+)printf(“%d*%d=%d”,j,i,i*j);printf(“n”);8.利用循环嵌套实现如下图形输出。A1AB21ABC321ABCD4321main()int i, n,j;for(i=1;i=i;j-)printf(“ ”);for(j=0;j0;j-)printf(“%d”,j);printf(“n”);9.求3150之间的所有素数。#include #include main()int s=0,i,n,flag;clrscr();for(i=3;i=150;i+)flag=0;fo

26、r(n=2;(2);(3))if(i%n=0)flag=1;break;if(flag=0)s=s+i;printf(s=%dn,s);填空位置人工填空语句实验填空语句实验运行结果1标志清02n=sqrt(i)n=sqrt(i)3n+n+10.以下程序的功能是输出100以内能被3整除且个位数为6的所有整数,请填空补充完整。main()int i,j;for(i=0;_;i+)j=i*10+6;if(_) continue;printf(“%d ”,j);填空位置人工填空语句实验填空语句实验运行结果1i10i106 36 66 962j%3!=0j%3!=04.4 实验心得实验5函数定义、调用与

27、编译预处理班级学号实 验 室专业姓名成绩评定所用软件计算机号教师签名5.1 实验目的1掌握定义函数的方法。2掌握函数实参与形参的对应关系,以及“值传递”的方式。3了解函数的嵌套调用和递归调用。4掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。5理解宏的概念,掌握宏定义。6了解文件包含的概念。5.2 实验预习1函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,函数的嵌套调用和递归调用。2宏定义和文件包含等编译预处理指令。5.3 实验任务1. 预测结果并上机验证人工分析结果实验运行结果#include fun(int x, int y, int z) z=x*x+y

28、*y; main() int a=31; fun(5,2,a); printf(“%d”,a); 31312.预测结果并上机验证人工分析结果实验运行结果#include int a, b;void fun() a=100; b=200; main( ) int a=5, b=7; fun();printf(“%d%d n”, a,b); 575 73.预测结果并上机验证人工分析结果实验运行结果#include int f(int n) if(n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;i3;i+) j+=f(i);pr

29、intf(“%dn”,j);334.预测结果并上机验证人工分析结果实验运行结果#include int ff(int n) static int f=l;f=f*n;return f; main() int i;for(i=1;i=5;i+ )printf(“%dn”,ff(i);12624120126241205.预测结果并上机验证人工分析结果实验运行结果#include #define N 10#define s(x) x*x#define f(x) (x*x)main() int i1,i2;i1=1000/s(N);i2=1000/f(N);printf(“%d %dn”,i1,i2)

30、;1000 101000 106.程序填空(1) strlen函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。请填空实现该函数功能。strcen(char a, char b) int num=0,n=0; while(*(a+num)!=(1) num+; while(bn)*(a+num)=bn; num+;(2) return(num);填空位置人工填空语句实验填空语句实验运行结果1002n+n+(2)定义两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。#include int f1(int m,int n) int

31、 z;for(z=m;z=m*n;z+) if(z%m=0)&(z%n=0)return z; main()int m,n,t,s,q;_;scanf(m=%d,n=%d,&m,&n);if(mn)t=m;m=n;n=t;s=f1(m,n);printf(min=%dn,s);q=f2(m,n);printf(max=%dn,q);_ f2(int m,int n)int z;_;填空位置人工填空语句实验填空语句实验运行结果1求m,n的最小公倍数2int f1(int m,int n)int f1(int m,int n)3intint4return f1(m,n)/mreturn f1(m,

32、n)/m(3)定义函数long f(int x)求x!。要求用函数递归调用的方法。#include long f(int x)main()int n;long t;scanf(n=%d,&n);t=f(n);printf(t=%ldn,t);函数体部分输入数据实验运行结果fongp;if(x=0|x=1)p=1;else p=f(x-1)*x;return p;037. 编程实现:编辑函数求水仙花数。要求通过main函数控制数值范围(即求出某范围内的水仙花数)。shui(int n,int m)int i,a,b,c;for(i=n;i=m;i+)a=i;b=i/10;c=i/100;if(i

33、=a*a*a+b*b*b+c*c*c)printf(%d,i);5.4 实验心得实验6数组定义与使用班级学号实 验 室专业姓名成绩评定所用软件计算机号教师签名6.1 实验目的1掌握一维数组和二维数组的定义、数组元素的引用形式和数组的输入输出方法。2了解与数组有关的非数值计算方法,如查找、插入、删除和排序法(直接插入排序、直接选择排序和冒泡排序)。3了解与数组有关的数值计算方法,如矩阵运算、线性方程求解等。4掌握字符数组和字符串函数的使用。5掌握函数调用时,数组元素和数组作为函数参数的传递。6.2 实验预习1熟悉循环语句与数组处理语句结合的方法。2复习一维数组、二维数组、字符数组的定义、初始化和

34、数组元素的引用。3复习数组的应用:批量处理数据、查找、排序和矩阵的处理。4复习字符串的含义、存储和字符串函数的功能。5复习函数调用时数组作为参数的传递过程。6.3 实验任务1.预测结果并上机验证人工分析结果实验运行结果#include main() char s=abcdef;s3=0;printf(%sn,s);abcabc2.预测结果并上机验证人工分析结果实验运行结果#include main()int a44=1,2,-3,-4,0,-12,-13,14 ,-21,23,0,-24,-31,32,-33,0;int i,j,s=0;for(i=0;i4;i+) for(j=0;j4;j+

35、)if(aij0) continue;if(aij=0) break;s+=aij;printf(%dn,s);58583.预测结果并上机验证人工分析结果实验运行结果#include main()char ch35=AAAA,BBB ,CC; char s=141141abct;printf (%sn,s);printf(%sn,ch1); 141aabc“BBB”141aabc“BBB”4.预测结果并上机验证人工分析结果实验运行结果#include main() char a=a,b,c,d,e,f,g,h,0;int i,j;i=sizeof(a);j=strlen(a);printf(“

36、%d,%db”i,j);9,89,85程序填空(1)在有序数据序列中插入一个数据,插入后仍然保证数据序列的有序性。原始数据序列为:5,8,12,15,26,78,92,93,102,需要插入的数据值为25。算法思想:(1)通过比较,确定需要插入的位置。(2)从插入位置开始,所有数据依次右移(后移)1位,然后将数据插入到确定的位置上。#include #define N 10int aN=5,8,12,15,26,78,92,93,102;main() int i,j,k,data=25;clrscr();for(i=0;iN-1;i+)if(data=k;j-)_;_;for(i=0;i=N-

37、1;i+)printf(,ai);填空位置人工填空语句实验填空语句1找到数据位置推出循环找到数据位置推出循环2aj+1=ajaj+1=aj3aj=dataaj=data实验运行结果5,8,12,15,25,26,78,92,93,102(2) 函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下11 11 2 11 3 3 11 4 6 4 1其构成规律是:(1) 第0列元素和主对角线元素均为1(2) 其余元素为其左上方和正上方元素之和(3) 数据的个数每行递增1请将程序补充完整。#define N 6void yanghui(int xNN) int i,j;x00=1;for(i=1;iN;i+) xi0=(1)=1;for(j=1;ji;j+)xij=(2);填空位置人工填空语句实验填空语句1xiixii2xi-1j-1+xi-1jxi-1j-1+xi-1j实验运行

温馨提示

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

评论

0/150

提交评论