1、实验一 C 调试程序基础及顺序结构程序设计一、实验目的 (1) 熟悉在 Visual C+ 6.0 环境中调试 C 程序的步骤和方法。 (2) 熟悉 C 程序调试的一般方法。 (3) 掌握 C 语言中各种运算符的运算规则和表达式的求值规则。(4) 掌握格式化输入/ 输出函数和字符输入/ 输出函数的使用方法。(5) 熟悉顺序结构程序设计的方法。二、实验准备 1、C 语言程序的上机操作C 是编译型语言,设计好一个 C 源程序后,需要经过编译生成目标文件( 扩展名.obj) 、连接生成可执行文件(扩展名.exe),然后执行。一个 C 程序的具体开发步骤如下:(1) 启动 VC+ 6.0:“开始” “
2、程序”“Microsoft Visual C+ 6.0”(2) 新建文件:“文件”“新建”在“新建”对话框中选择“文件”标签列表框中选“C+ Source File”,在右边指定文件名和保存位置。(3) 编辑:录入或修改源程序并保存(Ctrl+S)(4) 调试运行:编译(Ctrl+F7)连接(F7)运行(Ctrl+F5) ,若有错需修改源程序后再调试程序(5) 关闭工作区:“文件”“关闭工作空间” ,一个程序调试结束后需关闭当前工作空间,再从第(2)步开始下一个程序的调试2、C 程序的调试调试即是在源程序中查找错误并修改错误的过程。程序的错误一般分为两类:语法错误和逻辑错误。 语法错误:指不符
3、合 C 语言语法规则而产生的错误。语法错误系统能检测出来并告之原因及位置,设计者可参考修改。 逻辑错误:指程序的运行结果与预期的结果不符而产生的错误。这类错误拔除难度较大,一般需祥细分析算法或在程序运行过程中设置断点、追踪程序的运行来纠错。(1)语法错误调试案例(建立程序名为 ex1-1.c)# include void main()int i=0printf(“i=%dn“,i);调试并查找以上程序的语法错误并分析原因并改正。(2)逻辑错误调试案例(建立程序名为 ex1-2.c)# include void main()int n;double sum=0;for(n=1;sumvoid m
4、ain()short int a,b;a=32767;b=a+1;printf(“a=%d,b=%dn“,a,b);任务:记录以上程序的运行结果并分析原因(2)浮点型数据的舍入误差(建立程序文件名为 sy1-2.c)# include void main()float a,b;a=123456.789e5;b=a+20;printf(“a=%ftb=%fn“,a,b);任务:记录以上程序的运行结果并分析原因(3)字符型数据和整型数据的混合使用(建立程序文件名为 sy1-3.c)# include void main()char c1,c2;c1=65; c2=66;printf(“%c %cn
5、“,c1,c2);任务:记录以上程序的运行结果并分析原因扩展思考: 在上面程序的 printf 语句后增加语句“printf(“%d %dn“,c1,c2);”,程序的运行结果是什么? 在上面程序的 printf 语句后增加语句“printf(“%d %dn“,c1+32,c2+32);”,程序的运行结果是什么? 若将“char c1,c2;”改为“int c1,c2;”,程序的运行结果是什么?为什么? 若将“c1=65; c2=66;”改为“c1=A; c2=B;”, 程序的运行结果是什么?为什么? 若将“c1=65; c2=66;”改为“c1=“A“; c2=“B“;”,结果会怎么样? 若
6、将“c1=65; c2=66;”改为“c1=321; c2=322;”, 程序的运行结果是什么?为什么?(4)算术表达式的求值(建立程序文件名为 sy1-4.c)# include void main()int a,b;float x,y,r,s;a=7; x=2.5; y=4.7;r=x+a%3*(int)(x+y)%2/4;a=2; b=3; x=3.5; y=2.5;s=(float)(a+b)/2+(int)x%(int)y;printf(“r=%.2f s=%.2fn“,r,s); 任务:记录以上程序的运行结果并分析原因(5)复合赋值表达式的求值(建立程序文件名为 sy1-5.c)
7、)# include void main()int x,y,z,t;x=1,y=2,z=3,t=4;printf(“%dn“,x+=y+=z*z);printf(“%dn“,t+=t-=t*t);任务:记录以上程序的运行结果并分析原因(6)自增、自减运算求值(建立程序文件名为 sy1-6.c)# include void main()int i,j,m,n;i=8,j=10;printf(“%d %dn“,i+,+j);printf(“%d %dn“,i,j);printf(“%d %dn“,-i+,-+j);printf(“%d %dn“,i,j);任务:记录以上程序的运行结果并分析原因2、
8、顺序结构程序设计(1)编写程序 sy1-7.c,要求从键盘输入一个字符,输出其前后相邻的两个字符,并另起一行在对应位置输出相应的 ASCII 码值。(2)编写程序 sy1-8.c,设圆半径 r=1.5,圆柱高 h=3,计算圆周长(l=2*3.14*r) 、圆面积(s=3.14*r*r) 、圆球表面积(sq=4*pi*r*r) 、圆球体积(vq=4.0/3*pi*r*r*r ) 、圆柱体积(vz=pi*r*r*h) 。用 scanf函数输入半径和高的数据,输出计算结果。输入有提示,输出要有文字说明,结果取 2 位小数。(3)编写程序 sy1-9.c,要求输入一个华氏温度,要求输出摄氏温度。其计算
9、公式为 ,输入有提示,输出有文字说明,结果取 2)32(95Fc位小数。四、实验报告填写要求:1、第一页用攀枝花学院实验报告纸,其后用实验报告附页纸。2、第一页填写项目:实验课程:计算机基础 2-C 语言 实验项目: 本次实验名称 实验日期:本次实验日期系: 班级: 姓名: 学号:指导教师:3、实验报告正文要求:实验目的:(抄写本次实验目的)实验仪器设备:PC 机一套实验步骤(内容):(要求完成以上第三部分内容,分析结果项目要求抄录原题及程序,并在每道题的下方记录程序运行结果及分析原因;编程题要求抄写题目并写出程序源代码,并记录程序的运行结果)实验结论:(分析通过本次实验掌握的知识或是还有什么遗留问题)4、实验报告写好后将完成的实验报告纸订(或粘)在一起,于下一次上课前交给指导老师。