《实验一C程序运行环境及简单程序的运行33005.docx》由会员分享,可在线阅读,更多相关《实验一C程序运行环境及简单程序的运行33005.docx(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、广西科技大学实验报告 C语言程序设计 成绩GuangxiUniversity of Science and TechnologyC语言程程序设计计实验报报告院 (系): 计算机机学院 专 业: 通信信工程 班 级: 通通信1332班学生姓名: 王王睿 学 号: 2201330044020042 上 课 时时 间:20113-20014(1) 指 导 老老 师: 王王智文 86广西科技大学实验报告 C语言程序设计 实验一 C程程序运行行环境及及简单程程序的运运行一、实验目目的(1)了解解所用的的计算机机系统的的基本操操作方法法,学会会独立使使用该系系统。(2)了解解在该系系统上如如何编辑辑、编译
2、译、连接接和运行行一个CC 程序序。(3)通过过运行简简单的CC 程序序,初步步了解CC 程序序的特点点。二、实验内内容1.下列程程序的功功能为:计算xx*y的的值并将将结果输输出,程程序中有有8处错错误,尝尝试改正正并上机机调试之之(程序序以文件件名syy1_22.cppp存盘盘)。#inclludee void maiin iint x=22;y=3;aaA=x*yyprintt (a=%d,a);prinntf(nn);2.下列程程序的功功能为:输入圆圆的半径径,计算算圆面积积并将结结果输出出;程序序中有99处错误误,尝试试改正并并上机调调试之(程程序以文文件名ssy1_3.ccpp存存
3、盘)。#inclludee sttdioo.h; int mmiann();floatt rr; aareaa; pprinntf(innputt rr:n); sscannf(%f,r);area=3.1141559r*r;printtf(r=%f , aareaa=%ffn,arrea);3.编写一一个程序序实现输输入三个个整数,显显示出其其中的最最大值。三、实验分分析与总总结 总结程序的的结构和和书写规规则。 阅读:附件AA-在VVisuual C+环境下下运行CC程序的的方法。特别提示:当程序序在编译译时发现现很多错错误,此此时应从从上到下下逐一改改正,或或改一个个错误,就就重新再再编
4、译,因因为有时时一个错错误会引引起很多多错误信信息。四、相关实实验程序序列表1#inclludee void maiin() iint x=22,y=3,aa;a=x*yy;printtf (a=%d,a);prinntf(nn);2#inclludee ; int mmainn()floaat r, areea; pprinntf(innputt rr:nn); sscannf(%f,r);area=3.1141559*rr*r;printtf(r=%f , aareaa=%ffn,arrea);3#inclludeeint mmainn()int mmax(intt x,intt y,in
5、tt z);int aa,b,c,dd;scanff(%d,%d,%d,&a,&b,&c);d=maxx(a,b,cc);printtf(maxx=%ddn,d);returrn 00;int mmax(intt x,intt y,intt z)int w;if(xxy)w=xx;elsee w=y;int q;if(wwz)q=ww;elsee q=z;retuurn(q);五、实验心心得通过这次学学习,我我学会了了编辑、编编译、连连接和运运行一个个C 程程序,初步了了解了C 程程序的特特点,我我感到很很高兴,我我会努力力把基础础学好。实验二基本本数据类类型、运运算和表表达式一、实验目目的(
6、1)掌握握C 语语言数据据类型,熟熟悉如何何定义一一个整型型和实型型的变量量,以及及对它们们赋值的的方法。(2)掌握握不同的的类型数数据之间间赋值的的规律。(3) 学学会使用用C 的的有关算算术运算算符,以以及包含含这些运运算符的的表达式式,特别别是自加加(+)和自自减(-)运运算符的的使用。(4)进一一步熟悉悉C 程程序的编编辑、编编译、连连接和运运行的过过程。二、实验内内容1.变量量定义,按按要求完完成程序序下面给出一一个可以以运行的的程序,但但是缺少少部分语语句,请请按右边边的提示示补充完完整缺少少的语句句。#inclludee sstdiio.hhmain(); /*定定义整型型变量a
7、a 和bb*/; /*定定义实型型变量ii 和jj*/a=5;b=6;i=3.114; j=ii*a*b;printtf(a=%d,bb=%dd,i=%f,j=%fnn, a, b, i, j);具体操作作步骤(1)将代代码补充充完整;(2)在VVC+上运行行通过并并写出运运行结果果。2.在显显示屏上上显示指指定字符符要求编写一一个程序序,在显显示屏上上显示如如下内容容(全为为半角字字符,且且不包含含空格):C:ABCC.TXXT提示 注意转转义字符符在程序序中的使使用。3.赋值值表达式式与赋值值语句,写写出程序序运行结结果阅读下面程程序,写写出运行行结果:#inclludee sstdiio
8、.hhmain() flooat a;int bb, cc;char d, e;a=3.55;b=a;c=3300;d=c;e=1141;printtf(%f,%d,%d,%c,%c, aa,b,c,dd,e);运行结果为为:提示赋赋值语句句具有类类型转换换的功能能,但可可能会改改变数据据。4. 基基本运算算,写出出程序运运行结果果阅读下面程程序,写写出运行行结果:#inclludee sstdiio.hhmain() intt a, b, c;floatt d=15, e, f;a=35%7;b=15/10;c=b+;e=15/10;f=d/110;printtf(%d,%d,%d,%f,%
9、f,%f, aa,b,c,dd,e,f);运行结果为为:提示除除法分整整除与普普通除法法之分。三、实验分分析与总总结 总结如如何定义义程序序的数据据类型,运运算符的的优先级级别,赋赋值表达达式的作作用。程序4中中的b+改写写为+b后的的结果会会变化吗吗?四、相关实实验程序序列表1#inclludee sstdiio.hhint mmainn()int aa=5;int bb=6;floatt i=3.114;floatt j=i*aa*b;printtf(a=%d,bb=%dd,i=%fn, a, b, i);printtf(j=%fnn,jj);returrn 00;2#inclludee
10、sstdiio.hhint mmainn()prinntf(C:AABC.TXTT);3#inclludee sstdiio.hhmain() flooat a;int bb, cc;char d, e;a=3.55;b=a;c=3300;d=c;e=1141;printtf(%f,%d,%d,%c,%c, aa,b,c,dd,e);4#inclludee sstdiio.hhmain() intt a, b, c;floatt d=15, e, f;a=35%7;b=15/10;c=b+;e=15/10;f=d/110;printtf(%d,%d,%d,%f,%f,%f, aa,b,c,dd
11、,e,f);五、实验心心得通过这次学学习我学学会了整整型和实实型的变变量,以以及对它它们赋值值的方法法和使用CC 的有有关算术术运算符符,以及及包含这这些运算算符的表表达式,我会巩固所学到的知识,继续努力。实验三基本本输入与与输出一、实验目目的(1)熟练练掌握pputccharr、geetchhar、pprinntf、sscannf 函函数的使使用方法法。(2)掌握握各种类类型数据据的输入入输出的的方法,能能正确使使用各种种格式转转换符。二、实验内内容1.字符符的输入入与输出出编程实现由由键盘输输入一个个字符后后,在屏屏幕上输输出该字字符。参考程序:#inclludee sstdiio.hhm
12、ain() chaar cch;ch = gettchaar();putchhar(ch);2.加法法计算编程实现由由键盘输输入一个个加法式式,输出出正确的的结果。(两两个加数数均为整整数)。参考程序:#inclludee sstdiio.hhmain() intt a, b;scanff(%d%*c%dd, &a,&b);printtf(%d, aa+b);3.求圆圆的面积积由键盘输入入圆半径径r,请请计算该该圆的面面积。(注注:取3.141159,结结果保留留两位小小数位;另外,程程序只要要能对rr 在00 到1100000 范范围的情情况输出出正确答答案即可可)。参考程序:#incllu
13、dee sstdiio.hhmain() flooat areea,rr;scanff(%f,&r);area=3.1141559*rr*r;printtf(%0.2f,arrea);运行结果为为:4. 计计算摄氏氏温度值值从键盘输入入一个华华氏温度度值,要要求按格格式输出出其对应应的摄氏氏温度值值,精确确到小数数点后两两位。数学公式描描述为:参考程序:#inclludeemain() flooat f,cc;scanff(%f,&f);c=5.00/9*(f-32);printtf(%.22f,c);运行结果为为:三、实验分分析与总总结各实验运运行结果果及分析析。 程序22中%*cc的含义是
14、是什么?(3) 程程序4中中c=55.0/9*(f-332),为什么么要用55.0,如如果改为为5,运运行结果果将会是是什么?四、相关实实验程序序列表1#inclludee sstdiio.hhint mmainn() chaar cch;ch = gettchaar();putchhar(ch);putchhar(nn);2#inclludee sstdiio.hhmain() intt a, b;scanff(%d%*c%dd, &a,&b);printtf(%dn, a+b);3#inclludee sstdiio.hhmain() flooat areea,rr;scanff(%f,&
15、r);area=3.1141559*rr*r;printtf(%0.2fn,areea);4#inclludeemain() flooat f,cc;scanff(%f,&f);c=5.00/9*(f-32);printtf(%.22fnn,cc);五、实验心心得通过这次学学习,我我熟悉了了puttchaar、ggetccharr、prrinttf、sscannf 函函数的使使用方法法以及各种种类型数数据的输输入输出出,能够正确使使用各种种格式转转换符,我我感受到到了学习习c语言言的乐趣趣。实验四顺序序结构程程序设计计一、实验目目的(1)熟练练掌握顺顺序结构构程序设设计的设设计方法法。(2)掌
16、握握各赋值值语句的的正确使使用方法法。(3)学习习进一步步调试程程序。二、实验内内容1.siizeoof运算算符的使使用方法法以下程序用用于测试试C中不不同类型型数据所所占内存存字节数数,运行行并体会会sizzeoff运算符符的使用用方法。/sizzeoff运算的的结果为为一个iint型型的整数数,表示示其求解解对象的的存储所所占的内内存字节节数。#inclludee void maiin()intt a=1;prinntf(Siize of chaar iis %dnn, sizzeoff(chhar); prinntf(Siize of shoort is %dn, siizeoof(ss
17、horrt);prinntf(Siize of intt iss %ddn, ssizeeof(intt);prinntf(Siize of lonng iis %dnn, sizzeoff(loong);prinntf(Siize of flooat is %dn, siizeoof(ffloaat);prinntf(Siize of douublee iss %ddn, ssizeeof(douublee);prinntf(Siize of boool iis %dnn, sizzeoff(boool);prinntf(-nn); priintff(SSizee off a is %dn,
18、 siizeoof(aa);/变变量的类类型所占占内存字字节数prinntf(Siize of 2.00*100 iss %ddn, ssizeeof(2.00*100);/表表达式运运算结果果的类型型所占字字节数Size of char is 1Size of short is 2Size of int is 4Size of long is 4Size of float is 4Size of double is 8Size of bool is 1-Size of a is 4Size of 2.0*10 is 8size of Liu Dehua is 10Press any key
19、to continueprinttf(sizze oof LLiu Dehhua is %dn, siizeoof(Liuu Deehuaa);/字符串串所占内内存字节节数参考结果2.分析析程序的的输出结结果阅读并分析析以下程程序的输输出结果果,上机机调试,对对比实际际的输出出与分析析的结果果是否一一致。#inclludee void maiin()chaar cch=665;int aa=12234; lonng gg=12234556788;floaat ff=1223.44567789; douublee d=9.88765543221E55;prinntf(%dd,%cc,%55d,%
20、3cnn,cch,cch,cch,cch); prinntf(%008d,%0+8d,%8dd,%oo,%77x,%10lld,%ld n,a,a,aa,a,g,gg); prinntf(%0010.3f,%-110.33f,%10.3f,%f,%e,%gn,f,ff,f,f,ff,f); prinntf(%00+155.5llf,%-155.5llf,%15.5lff,%llf,%len,d,dd,d,d,dd);prinntf(%110sn%220sn%-10.3sn%ssn,HHelllo,wworlld!,HHelllo,wworlld!,HHelllo,wworlld!,HHelll
21、o,wworlld!);参考结果65,A, 65, A00001234,+0001234, 1234,2322, bc614e, 12345678,2367460000123.457,123.457 , 123.457,123.456787,1.234568e+002,123.457+00987654.32100,987654.32100 , 987654.32100,987654.321000,9.876543e+005Hello,world!Hello,world!HelHello,world!3.程序序修改下列程序的的功能为为:按下下列公式式计算并并输出xx的值。其其中a和和b的值值由键
22、盘盘输入。 x=22ab/(a+b)22请纠正程序序中存在在的错误误,使程程序实现现其功能能。 #inccludde voidd maain() intt a,b; flloatt x; sccanff(%d,%d,a,bb);x=ab/(a+b)(a+bb); prinntf(x=%dn,x);4. 编编写与调调试程序序写一个程序序测试一一下把带带小数的的flooat和和douublee型数据据用prrinttf函数数输出时时,小数数部分是是截断还还是四舍舍五入?三、实验分分析与总总结 各实验验运行结结果及分分析。 程序11中Liuu Deehuaa的sizzeoff的值为为什么是是10还还
23、不是99?四、相关实实验程序序列表1#inclludee void maiin()intt a=1;prinntf(Siize of chaar iis %dnn, sizzeoff(chhar); prinntf(Siize of shoort is %dn, siizeoof(sshorrt);prinntf(Siize of intt iss %ddn, ssizeeof(intt);prinntf(Siize of lonng iis %dnn, sizzeoff(loong);prinntf(Siize of flooat is %dn, siizeoof(ffloaat);prin
24、ntf(Siize of douublee iss %ddn, ssizeeof(douublee);prinntf(Siize of boool iis %dnn, sizzeoff(boool);prinntf(-nn); priintff(SSizee off a is %dn, siizeoof(aa);/变变量的类类型所占占内存字字节数prinntf(Siize of 2.00*100 iss %ddn, ssizeeof(2.00*100);/表表达式运运算结果果的类型型所占字字节数printtf(sizze oof LLiu Dehhua is %dn, siizeoof(Liu
25、u Deehuaa);/字符串串所占内内存字节节数2#inclludee void maiin()chaar cch=665;int a=112344; lonng gg=12234556788;floaat ff=1223.44567789; douublee d=9.88765543221E55;prinntf(%dd,%cc,%55d,%3cnn,cch,cch,cch,cch); prinntf(%008d,%0+8d,%8dd,%oo,%77x,%10lld,%ld n,a,a,aa,a,g,gg); prinntf(%0010.3f,%-110.33f,%10.3f,%f,%e,%
26、gn,f,ff,f,f,ff,f); prinntf(%00+155.5llf,%-155.5llf,%15.5lff,%llf,%len,d,dd,d,d,dd);prinntf(%110sn%220sn%-10.3sn%ssn,HHelllo,wworlld!,HHelllo,wworlld!,HHelllo,wworlld!,HHelllo,wworlld!);3#inclludee voidd maain() innt aa,b; flloatt x; sccanff(%d,%d,&a,&b); x=(flloatt)a*b/(a+b)*(a+b); prrinttf(x=%fnn,x
27、x); 4#inclludee int mmainn()floaat aa=1.5555555555555;doublle bb=1.5555555555555;printtf(%f,%fn,a,bb);returrn 00;五、实验心心得通过这次学学习,我我基本掌掌握了顺序结结构程序序设计的的设计方方法以及及各赋值值语句的的正确使使用方法法,我会努努力熟悉悉他们以以便更好好地设计计程序。实验五选择择结构程程序设计计一、实验目目的(1)了解解C 语语言表示示逻辑的的方法(以以0 代代表“假”,以非非0 代代表“真”)。(2)学会会正确使使用逻辑辑运算符符和逻辑辑表达式式。(3)熟练练掌握iif
28、 语语句和sswittch 语句。(4)结合合程序掌掌握一些些简单的的算法。二、实验内内容1.判断断点是否否在圆上上由键盘输入入一个点点的坐标标,要求求编程判判断这个个点是否否在单位位圆上,点点在圆上上输出YY,不在在圆上输输出N。使使用小数数点后33位精度度进行判判断。提示(11)平面面上的点点与圆的的关系分分为在圆圆内、在在圆上、在在圆外三三种,本本题要求求判断是是否在圆圆上;(22)判断断两实数数相等采采用判断断这两实实数的差差的绝对对值小于于规定误误差精度度(本题题为0.0011)的方方法实现现。参考程序:#inclludee sstdiio.hh#inclludee mmathh.h
29、main() flooat a,bb;scanff(%f,%f,&a,&b);if(faabs(a*aa+b*b-11)9999999999) pllacee=9;else if(n9999999999) pplacce=88;else if(n99999999) pllacee=7;else if(n9999999) plaace=6;else if(n999999) pplacce=55;else if(n9999) pllacee=4;else if(n999) plaace=3;else if(n99) pplacce=22;else plaace=1;printtf(%lddn,pl
30、lacee);3.程序序修改下列程序的的功能为为:输入入1个字字母后,输输出该字字母的前前序字母母、该字字母、该该字母的的后序字字母,例例如:输输入g,则则输出ffgh;输入aa,则输输出zaab;输输入M,则则输出LLMN;输入ZZ,则输输出YZZA。#inclludee void maiin() ccharr chh,c11,c22; priintff(EEnteer aa chharaacteer:); cch=ggetccharr(); iif(ch=aa)|(cch=AA & aa=Z) a=a+332;putchhar(a);现在,题目目要求处处理5 个字符符,怎么么做呢?请自己己
31、思考5. 简简单计算算器下面程序是是实现一一个简单单的运算算器(保保留两位位小数点点),如如果由键键盘输入入10+50,计计算机可可以输出出结果660.000;如如果输入入866,计算算机输出出48.00;如果输输入200/4,计计算机输输出5.00;如果输输入8-6,计计算机输输出2.00,请请在空处处填上适适当的代代码,运运行通过过后并提提交。#inclludee sstdiio.hhmain() flooat a,bb,c;char op;scanff(%f%cc%f, );switcch (op) casse +: ;case -:;case *:;case /: ;defauult:
32、 prrinttf(errror);returrn ;printtf(ressultt= , cc);6. 编编写与调调试程序序输入三角形形的三边边长a、b、c,求其面面积三角角形的面面积公式式为:Areea=,其中S=(a+b+cc)/22。(要要求判断断边长值值的合法法性与三三角形的的可构成成性)。参考程序:#inclludee sstdiio.hh#inclludee mmathh.h /数学学函数库库头文件件void maiin()doubble a,bb,c,s,aareaa; pprinntf (请请输入三三角形三三边长:n);scanff(%lf,%lff,%llf,&a,&b,
33、&c);if(aa=00|bb=00|ccc & b+cca & a+ccb) /任任意两边边之和对对于第三三边s=(a+b+cc)/22;arrea=sqrrt(ss*(ss-a)*(ss-b)*(ss-c); /dooublle ssqrtt(dooublle xx):求求平方根根值prrinttf(areea=%lfn,areea);elsseprrinttf(不能构构成三角角形!n);三、实验分分析与总总结 各实验验运行结结果及分分析。 程序11中误差差精度(设设置为00.0000011),怎怎样修改改程序?程序4中中要求反反序输出出大写字字母,怎怎样修改改程序?四、相关实实验程序序列
34、表1#inclludee sstdiio.hh#inclludee mmathh.hmain() flooat a,bb;scanff(%f,%f,&a,&b);if(faabs(a*aa+b*b-11)11e-33)printtf(Ynn);else priintff(NNn);2#inclludee main() intt n,plaace;scanff(%ld,&nn);if(n9999999999) pllacee=9;else if(n9999999999) pplacce=88;else if(n99999999) pllacee=7;else if(n9999999) plaac
35、e=6;else if(n999999) pplacce=55;else if(n9999) pllacee=4;else if(n999) plaace=3;else if(n99) pplacce=22;else plaace=1;switcch(pplacce)case 9:pprinntf(%lldnn);breeak;case 8:pprinntf(%lldnn);breeak;case 7:pprinntf(%lldnn);breeak;case 6:pprinntf(%lldnn);breeak;case 5:pprinntf(%lldnn);breeak;case 4:pprinntf(%lldnn);breeak;case 3:pprinntf(%lldnn);breeak;case 2:pprinntf(%lldnn);breeak;case 1:pprinntf(%lldnn);breeak;defauult:(eenteer ddatee errrorr!nn);3#inclludee void maiin() ccharr chh,c11,c22; priintff(EEnteer aa chharaacteer:); cch=ggetccharr(); iif(chh=b)&(ch=B)&(ch=YY) c1=ch-1; cc2=cch+11;
限制150内