华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)

华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)

ID:20094494

大小:452.43 KB

页数:65页

时间:2018-10-10

华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)_第1页
华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)_第2页
华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)_第3页
华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)_第4页
华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)_第5页
资源描述:

《华中科技大学c语言实验与课程设计上机实验报告汇总(1~8全部)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、华中科技大学C语言实验与课程设计实验报告CS1408赵晓雁华中科技大学C语言实验与课程设计实验报告计算机科学与技术学院指导老师:65华中科技大学C语言实验与课程设计实验报告CS1408赵晓雁目录1表达式和标准输入输出实验········32流程控制实验··············113函数程序与结构实验···········204编译预处理实验·············285数组实验················356指针实验················427结构与联合实验·············528文件实验················6165华中科技大学

2、C语言实验与课程设计实验报告CS1408赵晓雁1表达式和标准输入与输出实验1.1实验目的(1)熟练掌握各种运算符的运算功能,操作数的类型,运算结果的类型及运算过程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符,逗号运算符等;熟记运算符的优先级和结合性。(2)掌握scanf和printf函数的用法。(3)掌握简单C程序(顺序结构程序)的编写方法。1.2实验内容及结果1.2.1.源程序改错下面给出了一个简单C语言程序例程,用来完成以下工作:(1)输入华氏温度f,将它转换成摄氏温度C后输出;(2)输入圆的半径值r,计算并输出圆的面积s;(3)输入短整数k、p

3、,将k的高字节作为结果的低字节,p的高字节作为结果的高字节,拼成一个新的整数,然后输出;在这个例子程序中存在若干语法和逻辑错误。要求参照2.1.3和2.1.4的步骤对下面程序进行调试修改,使之能够正确完成指定任务。程序代码:#include#definePI3.14159;voidmain(void)65华中科技大学C语言实验与课程设计实验报告CS1408赵晓雁{intf;shortp,k;doublec,r,s;/*fortask1*/printf(“InputFahrenheit:”);scanf(“%d”,f);c=5/9*(f-32);prin

4、tf(“%d(F)=%.2f(C)”,f,c);/*fortask2*/printf("inputtheradiusr:");scanf("%f",&r);s=PI*r*r;printf("Theacreageis%.2f",&s);/*fortask3*/printf("inputhexintk,p:");scanf("%x%x",&k,&p);newint=(p&0xff00)

5、(k&0xff00)<<8;printf("newint=%x",newint);}【分析及改正】本程序共存在9处错误,分析如下:(1)#definePI3.

6、14159;错误原因:宏定义在预处理时会将后续程序中的标示符展开为对应全部字符串,而PI不需要分号。改正:去掉其后分号(2)voidmain(void){错误原因:函数返回值与函数名之间应加空格,C90标准建议main函数应返回一个int作为状态值改正:intmain(void){(3)shortp,k;错误原因:后续用到了newint变量但并未声明改正:shortp,k,newint;(4)scanf(“%d”,f);错误原因:应该把要读入的变量的地址传递给scanf才能正确写入改正:scanf("%d",&f);(5)c=5/9*(f-32);错误原因:5和9是整型

7、常数,相除会截断小数部分,应该将其中任意一个输表示为或转换为浮点数类型改正:c=5.0/9*(f-32);(6)scanf("%f",&r);错误原因:double类型对应的占位符是%lf改正:scanf("%lf",&r);(7)printf("Theacreageis%.2f",&s);65华中科技大学C语言实验与课程设计实验报告CS1408赵晓雁错误原因:要输出s的值应该将s作为参数传递给printf,不应传递其地址改正:printf("Theacreageis%.2f",s);(8)scanf("%x%x",&k,&p);printf("

8、newint=%x",newint);错误原因:k,p为short类型,对应十六进制占位符应为%hx改正:scanf("%hx%hx",&k,&p);printf("newint=%hx",newint);(9)newint=(p&0xff00)

9、(k&0xff00)<<8;错误原因:要求将k的高字节作为结果的低字节,应该将k的高字节提取出后右移至低字节改正:newint=(p&0xff00)

10、(((k&0xff00)>>8)&0x00ff);1.2.2源程序修改替换下面的程序利用常用的中间变量法实现两数交换,请改用不使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。