1、c语言实验报告1实验名称:熟悉C程序的运行环境一、 实验目的和要求了解Turbo C+ 3.0的基本操作方法,学会独立使用该系统编辑、编译、连接和运行一个C程序通过运行简单的C程序,初步了解C源程序的特点二、 实验内容和原理1. 输入并运行一个简单、正确的程序 # include void main( ) printf (This is a c programn); 2. 输入一个有错误的程序,修改错误,直到程序能正确运行,分析程序运行结果。# include void main ( ) int a, b, sum a=123; b=456; sum=a+b printf(sum is %dn
2、, sum); 3. 输入并运行一个需要在运行时输入数据的程序,输入数据,观察运行结果。 # include void main( ) int max (int x, int y);int a, b, c; scanf(%d, %d, &a, &b); c=max(a, b); printf(max=%d,c) ; int max (int x, int y) int z; z=y; if (xy) z=x; return (z); 三、 实验环境1. 硬件:PC机;2. 软件:Windows操作系统、TurboC+ 3.0 。四、 算法描述及实验步骤1. 内容1(1)启动TC+3.0,新建一
3、个C文件;(2)输入程序1;(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功,再次保存文件;(5)连接程序、运行程序,观察运行结果。2. 内容2(1)启动TC+3.0,新建一个C文件;(2)输入程序2;(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序,观察运行结果。3. 内容3(1)启动TC+3.0,新建一个C文件;(2)输入程序2;(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入数据,观察运行结果。五、 调试过
4、程1输入后,按Alt+F9编译,出现如下信息:成功编译。2输入后,按Alt+F9编译,出现如下信息:经分析是由于int a, b, sum与sum=a+b俩句未加;导致。3. 输入后,按Alt+F9编译,出现如下信息:经分析是由于int a, b, c句未加;导致。修改后编译结果如下:六、 实验结果1.2.3输入123,654运行结果如下:输入1989,1988运行结果如下:七、 总结经过本次上机实验,我基本了解Turbo C+ 3.0的操作方法,学会在该系统上编辑、编译、连接和运行一个C程序。同时也明白在编译过程中应留心一些细节问题(如一个语句结束要加“;”),也学会通过编译错误信息找出错误
5、,并修正错误。实验名称:数据类型、函数和表达式八、 实验目的和要求掌握C语言数据类型,熟悉如何定义整型、字符型和实型变量并赋值掌握不同类型数据之间赋值的规律学会使用C的有关算法运算符及表达式,特别是自加(+)和自减(-)运算符的使用进一步熟悉C程序的编辑、编译、连接和运行的过程九、 实验内容和原理2. 输入并运行下面程序,分析运行结果。 # include void main( ) char c1, c2; c1=a; c2=b; printf (%c%c, c1, c2) 3. 输入并运行下面程序,分析运行结果。# include void main ( ) char c1=a,c2=b,c
6、3=c,c4=101,c5=116; printf(a%c b%ctc%ctabcn,c1,c2,c3); printf(tb%c %c,c4,c5); 4. 输入并运行下面程序,分析运行结果。 # include void main( ) int a, b; unsigned c,d; long e,f; a=100; b= -100; e=50000; f=32767; c=a; d=b; printf(%d, %dn, a, b); printf(%u, %un, a, b); printf(%u, %un, c, d); c=a=e; d=b=f; printf(%d, %dn, a,
7、 b); printf(%u, %un, c, d); 5. 输入并运行下面程序,分析运行结果。# include void main( ) int i,m,n; i=8; j=10; m=+i; n=+; printf(%d,%d,%d,%d,i,j,m,n); 一十、 实验环境1. 硬件:PC机;2. 软件:Windows操作系统、TurboC+ 3.0 。一十一、 算法描述及实验步骤(1)启动TC+3.0,新建一个C文件;(2)输入程序;(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序,观察分析运行结果。一十二、 调试过程
8、1.经分析错误是由于printf (%c%c, c1, c2)后未加;导致。修改后运行如下:2成功运行3.printf(%u, %un a, b);改成printf(%u, %un, a, b); 成功运行4成功运行。一十三、 实验结果1.2.3.4.一十四、 总结通过这次上机实验我掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型变量并对它们赋值的方法,学会使用C的有关算法运算符及表达式,特别是自加(+)和自减(-)运算符。并进一步熟悉C程序的编辑,编译,连接和运行的过程。实验名称:顺序结构程序设计一十五、 实验目的和要求掌握赋值语句的使用方法掌握各种类型数据的输入输出方法,能正确使用各
9、种格式控制符一十六、 实验内容和原理6. 输入并运行下面程序,分析运行结果。 # include void main( ) int a, b; float d,e; char c1,c2; double f,g; long m,n; unsigned int p,q; a=61; b=62; c1=a; c2=b; d=3.56; e= -6.87; f=3157.890121; g=0.; m=50000; n=-60000; p=32768; q=40000; printf(a=%d, b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn, a, b,c1,c2,d,e);
10、printf(f=%15.6f, g=%15.12fnm=%ld,n=%ldnp=%u,q=%un, f,g,m,n,p,q); 7. 编程序求一个圆的周长、面积,圆球表面积和圆柱体积。用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。8. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。9. (选作)有自学或有兴趣同学可以编写程序判断一个年份是否为闰年。一十七、 实验环境计算机及Turbo C+ 3.0。一十八、 算法描述及实验步骤1.(1)启动TC+3.0,新建一个C文件;(2)输入程序1;(3)
11、保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序,观察分析运行结果。2. (1)启动TC+3.0,新建一个C文件;(2)输入事先设计好的程序(见附录);(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入测试数据,检查程序执行结果是否正确。3. (1)启动TC+3.0,新建一个C文件;(2)输入事先设计好的程序(见附录);(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入测试数据,检查程
12、序执行结果是否正确。一十九、 调试过程1.long m,n后加;printf(a=%d, b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn, a, b,c1,c2,d,e); 少了” 无错误,成功运行。2. 经分析为定义常量时使用=错误导致,修改后成功运行。3.无错误,成功运行。二十、 实验结果12.输入123,456,结果如下:输入2,6,结果如下:3. 输入ac结果如下:二十一、 总结经过本次上机实验,我已基本掌握赋值语句的使用方法,也掌握各种类型数据的输入输出方法,能正确使用各种格式转换符,同时更进一步了解C程序的运行环境。附录:2#define pi 3.#inclu
13、de void main() float r,h; float result; printf(Please input r,h:n); scanf(%f,%f,&r,&h); result=2*pi*r; printf(circle zhouchang =%6.2fn,result); result=pi*r*r; printf(circle mianji=%6.2fn,result); result= 4*pi*r*r; printf(ball biaomianji=%6.2fn,result); result=4*pi*r*r*r/3; printf(ball tiji=%6.2fn,re
14、sult); result=pi*r*r*h; printf(zhuti tiji=%6.2fn,result);3.#include void main() char c1,c2; printf(Please input two char:n); c1=getchar(); c2=getchar(); printf(Putchar result :n); putchar(c1); putchar(c2); printf(nPrintf result:n); printf(%cn,c1); printf(%cn,c2); 实验四:逻辑结构程序设计二十二、 实验目的和要求了解C语言表示逻辑量的方
15、法正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句结合程序掌握一些简单算法,并学习调试程序二十三、 实验内容和原理1. 有一函数: x (x1) y = 2x-1 (1x10) 3x-11 (x10)写一程序,用scanf函数输入x,输出y值。 2. 编程实现:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8189分为B,7079分为C,6069分为D,60分以下为E。3. 给一个不多于5位的正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打印出各位数字,例如原数为321,应输出123。二十四、 实验环境1. 硬件:PC机;2. 软件:Wind
16、ows 2000、TurboC+ 3.0 。二十五、 算法描述及实验步骤1(1)启动TC+3.0,新建一个C文件;(2)输入事先设计好的程序(见附录);(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入测试数据,检查程序执行结果是否正确。2(1)启动TC+3.0,新建一个C文件;(2)输入事先设计好的程序(见附录);(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入测试数据,检查程序执行结果是否正确。3(1)启动TC+3.0,新建一个C文件;(
17、2)输入事先设计好的程序(见附录);(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入测试数据,检查程序执行结果是否正确。4(1)启动TC+3.0,新建一个C文件;(2)输入事先设计好的程序(见附录);(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;(5)连接程序、运行程序;(6)输入测试数据,检查程序执行结果是否正确。二十六、 调试过程1.无错误,出现如下信息:2.3.没有给indiv先定义,修改后成功运行。二十七、 实验结果1. 输入0,运行结果如下:输入5,运行结果如下:
18、输入13,运行结果如下:2. 输入94,运行结果如下:输入86,运行结果如下:输入74,运行结果如下:输入61,运行结果如下:输入52,运行结果如下:输入-70时结果:3. 输入18795运行结果如下二十八、 总结通过本次上机实验我了解C语言表示逻辑量的方法,能正确使用逻辑运算符和逻辑表达式,基本掌握了if语句和switch语句和一些简单的算法,并大体上学会了调试程序。附录:1. #include void main () int a,b; printf(Please input a:n); scanf(%d,&a); if (a1) printf(b= %d,a); else if(1=a=
19、10) b=3*a-11; printf(b= %d,b); 2.#include void main()float score; char grade; printf(please input scores:); scanf(%f,&score); while(score100|score0) printf(nWrong!); scanf(%f,&score); switch(int)(score/10) case 10: case 9: grade=A;break; case 8: grade=B;break; case 7: grade=C;break; case 6: grade=D;
20、break; case 5: case 4: case 3: case 2: case 1: case 0: grade=E; printf(score:%5.1f,grade:%c n,score,grade); 3.#include #include void main()long int num; int indiv,ten,hundred,thousand,ten_thousand,place; printf(please input a number:); scanf(%ld,&num); if(num9999) place=5; else if(num999) place=4; e
21、lse if(num99) place=3; else if(num9) place=2; else place=1; printf(place=%dn,place); printf(Each number:); ten_thousand=num/10000; thousand=(int)(num-ten_thousand*10000)/1000; hundred=(int)(num-ten_thousand*10000-thousand*1000)/100; ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10; swi
22、tch(place) case 5: printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(nChanged number:); printf(%d,%d,%d,%d,%dn,indiv,ten,hundred,thousand,ten_thousand); break; case 4: printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(nChanged number:); printf(%d,%d,%d,%dn,indiv,ten,hundred
23、,thousand); break; case 3: printf(%d,%d,%d,hundred,ten,indiv); printf(nChanged number:); printf(%d,%d,%dn,indiv,ten,hundred); break; case 2: printf(%d,%d,ten,indiv); printf(nChanged number:); printf(%d,%dn,indiv,ten); break; case 1:printf(%d,indiv); printf(nChanged number:); printf(%dn,indiv); break
24、; 实验名称:循环结构程序设计二十九、 实验目的和要求熟悉掌握用while语句、do-while语句和for语句实现循环的方法掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等)进一步学习调试程序三十、 实验内容和原理1. 输入两个正整数m和n,求其最大公约数和最小公倍数。 2. 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。3. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少桃子。
25、三十一、 实验环境1. 硬件:PC机;2. 软件:Windows操作系统、TurboC+ 3.0 。三十二、 算法描述及实验步骤见附录三十三、 调试过程1没有给“P”定义改为2没有加“”和“;”改为3无错误,见附录。三十四、 实验结果123三十五、 总结通过本次上机实验,我基本熟悉掌握while语句,do-while语句 和for语句实循环的方法,掌握在程序设计中用循环的方法实现一些常用算法,并进一步学习调试程序。但是总是忘记对变量进行定义和添加符号(如“;”)。附录:实验1:#include void main()int p,r,n,m,temp;printf(please input tw
26、o numbers:);scanf(%d,%d,&n,&m);if(nm) temp=n; n=m; m=temp; p=n*m;while(m!=0) r=n%m; n=m; m=r; printf(The big:%dn,n); printf(the small:%dn,p/n);实验2:#include void main()char c; int letters=0,space=0,digit=0,other=0; printf(please input a line:n); while(c=getchar()!=n) if (c=a&c=A&c=0&c=9) digit+; else
27、 other+; printf(letter:%dn space:%dn digit:%dn other:%dn,letters,space,digit,other); 实验3:#includevoid main() int day,x1,x2; x1=1; for(day=9;day0;day-) x2=(x1+1)*2; x1=x2; printf(total=%d,x2); 实验名称:数组三十六、 实验目的和要求掌握一维数组、二维数组的定义、赋值和输入输出掌握字符数组和字符串函数的使用结合程序掌握一些简单算法三十七、 实验内容和原理1. 用选择法对10个整数排序。10个整数用scanf函数输入。2. 有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值。如果该数不在数组中,则输出“无此数”。 3. (选做)找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。4. 将两个字符串连接起来,不要用strcat函数。三十八、 实验环境1. 硬件:PC机;2. 软件:Window
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1