资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C 语言程序设计实验指导书 C 语言程序设计实验指导书 实验一:语言的运行环境及运行 C 程序的方法(2 学时) 一、实验目的和要求:一、实验目的和要求: (1)了解所用的计算机操作系统的基本操作方法,学会使用该系统。 (2)了解在该系统上如何利用程序开发环境,编辑、编译、连接和运行一个 C 程序。 (3)通过运行简单的 C 程序,初步了解 C 程序的特点。 二、实验内容:二、实验内容: (1)检查所用的计算机系统。 (2)进入 Visual C+6.0 的工作环境,并熟悉 Visual C+6.0 集成环境。 (3)利用 Visual C+6.0 集成环境,编辑,调试运行几个简单的 C 程序。 三、实验步骤、过程:三、实验步骤、过程: (1)打开 Visual C+6.0 开发环境。 点 击 桌 面 开 始 所 有 程 序 Microsoft Visual C+6.0Microsoft Visual C+6.0 Tools (2)建立工程,调试 C 程序的步骤。 1、在下图中先点击 close 关闭 tip of the day 对话框: 2、点击菜单 file,如下图: 3、在 file 子菜单中点击 new,如图: 4、在 new 对话框中点击 Win32 Console Application,如图: 5、在 new 对话框中的 Project name 中写文件名,名字自定,如 101。 6、在 new 对话框中的 Location 中选择文件路径,实验室中统一写,例如 s:20100306,后面的 20090306 为学号,每个同学根据自己的学号去写。 7、写好上面两项后点击 OK 按钮。 8、 出现 Win32 Console Application Step1 对话框, 默认选择 An empty project, 点击 Finish按钮。 9、在 New Project Information 对话框中点击 OK 按钮。 10、出现如下环境: 11、点击 project 菜单,在其子菜单中单击 add to project 及右箭头,点击 new。 12、弹出 new 对话框,在 new 对话框中选 C+ Sourse File 栏。 13、同时在 File 下面的空白栏起名字,如:first。 14、点击 OK 按钮,出现如下编程环境: 15、在编辑栏处写代码,如下图: 16、编好代码后,点击工具栏中按扭,编译链接程序,在结果输出栏中出现如下结果,即 0 error(0),0 warning(s)。 17、点击工具栏中,执行程序,出现如下结果图: 18、如果接着做第二道题,需要按以上步骤重新建一个工程。如下图所示,已经建好一个101 工程,并在里面编写了一个源程序 one.c,编译运行通过,生成 one.exe 文件。 19、接下来准备编写第二个源程序 two.c,two.c 文件中会出现另外一个主函数 main(),这时必须另建一个工程,新建方法如上,假设第二个工程起名 103,如下图所示: 20、然后设置该工程为当前工程,方法:鼠标选中 103files,点击鼠标右键,在弹出的菜单中选中子菜单:设置为当前工程。 21、在该工程中,编写第二个源程序 two.c,方法如工程 101 中的 first.c. (3)调试完成以下三个程序题(1_1.c, 1_2.c,1_3.c) 。 (见下面源程序清单) (4)提高编程序题。 (由教师根据学生情况布置,供学有余力的同学做) 注意事项: a、必须顺序完成程序编辑、编译连接、运行的各个过程。没有正确编译成功的程序是不可能运行的! b、请注意经常保存 C 源程序,以免发生意外时,源程序丢失。 c、Error 错误致命错的程序不能产生目标程序、执行程序,必须修改程序,并重新编译,直到成功。 d、Warning 错误警告错的程序可以产生目标程序、可执行程序,还是修改吧,警告错一般也意味着程序有毛病, 尽管这种程序可以强行编译连接为可执行程序, 但结果可能会有问题。 e、一个当前工程中只能有一个主函数(切记! ! ! ! ) 。 四、源程序清单、测试数据、结果:四、源程序清单、测试数据、结果: (1)最简单的 C 程序。(要求文件名:1_1.c) #include void main() printf(“Hello world!n”); (2)一个具有致命语法错的程序,请修改。(要求文件名:1_2.c) #include void main() int i=9 printf(“i=%dn”,i) (3)一个具有警告语法错的程序。(要求文件名:1_3.c) #include void main() int i=9,j,s; s=i+j; printf(“s=%dn“,s); 五、实验小结和思考五、实验小结和思考 (1)C 语言程序调试运行的过程? 答:分为编辑、编译、连接、运行四个阶段。首先,在 VC 开发环境中写程序代码,编辑完成后,进行编译连接,然后运行程序。 (2)C 语言程序主要的错误类型? 答:C 程序的错误类型分为语法错误和逻辑错误。 ? 语法错误:编译系统可以协助查找出来的语法上的错误。语法错误包括致命错误Error 和警告错误 Warning。致命错误必须修改,警告错误可以不修改,但警告错误常常暗示程序存在某些问题。 ? 逻辑错误:可以运行,但运行结果与预期结果不符,与程序算法逻辑相关的错误。实验二:数据类型、运算符和表达式(2 学时) 一、实验目的和要求:一、实验目的和要求: (1)掌握 C 语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。 (2)掌握不同的类型数据之间赋值的规律。 (3)学会使用 C 的算术运算符,以及包含这些运算符的表达式,特别是自增+和自减-运算符的使用。 (4)进一步熟悉 C 程序的编辑、编译、连接和运行的过程。 二、实验内容:二、实验内容: (1)进一步熟悉 Visual C+6.0 集成环境。 (2)输入并运行几个 C 程序,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。 (3)输入并运行几个 C 程序,掌握不同的类型数据之间赋值的规律。 (4)输入并运行一个 C 程序,熟悉自加和自减运算符的使用方法。 三、 实验步骤、过程:三、 实验步骤、过程: (1)启动 Visual C+6.0 集成开发环境。 (方法与实验 1 相同) (2)完成或选做以下 5 个程序题。 (编辑、编译连接、运行程序,步骤与实验 1 相同) (3)退出 Visual C+6.0 集成开发环境,关机。 四、源程序清单、测试数据、结果。四、源程序清单、测试数据、结果。 (1)调试下面程序,学习整型、字符型数据的定义输出方法,验证程序结果。 (要求文件名:2_1.c) #include void main() int x=010,y=10,z=0x10; /* 整型数据表示 */ char c1=M,c2=x4d,c3=115,c4=77,c; /* 字符型数据表示 */ /* 以下是整型数据的输出 */ printf(“x=%o,y=%d,z=%xn“,x,y,z); /* 请思考,输出结果为什么是 x=10,y=10,z=10 */ printf(“x=%d,y=%d,z=%dn“,x,y,z); /* 请思考,输出结果为什么是 x=8,y=10,z=16 */ /* 以下是字符型数据的输出 */ printf(“c1=%c,c2=%x,c3=%o,c4=%dn“,c1,c2,c3,c4); /* 请思考,输出结果为什么是 c1=M,c2=4d,c3=115,c4=77*/ printf(“c1=%c,c2=%c,c3=%c,c4=%cn“,c1,c2,c3,c4); /* 请思考,输出结果为什么是 c1=M,c2=M,c3=M,c4=M */ printf(“c1=%d,c2=%d,c3=%d,c4=%dn“,c1,c2,c3,c4); /* 请思考,输出结果为什么是 c1=77,c2=77,c3=77,c4=77 */ /* 字符型数据参与算术运算 */ c=c1+32; printf(“c=%c,c=%dn“,c,c); /* 请思考,输出结果为什么是 c=m,c=109 */ 参考结果: x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109 (2)整型数据的溢出错误。(要求文件名:2_2.c) 在 VC 中,整型(int 型)的数据范围是-21474836482147483647,以下程序会出现什么结果?为什么? #include void main() int a,b; a=2147483647; b=a+1; printf(“b=%dn“, b); a=-2147483648; b=a-1; printf(“b=%dn“, b); 参考结果: b = -2147483648 b = 2147483647 (3)实型数据的舍入误差。(要求文件名:2_3.c) 实型变量只能保证 7 位有效数字,后面的数字无意义。 #include void main() float a,b; a=123456.789e5; b=a+20; printf(“a=%f,b=%fn“,a,b); printf(“a=%e,b=%en“,a,b); 参考结果: a=12345678848.000000,b=12345678848.000000 a=1.234568e+010,b=1.234568e+010 (4)已知:a=2,b=3,x=3.9,y=2.3(a,b 是整型,x,y 是浮点型) ,计算算术表达式(float)(a+b)/2+(int)x%(int)y 的值。试编程上机验证。 (要求文件名:2_4.c) 提示编程要点: a、先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用 r 存放结果; b、程序先给几个条件变量赋初值,然后将表达式赋值给变量 r; c、最后输出变量 r 的值就是表达式的值。 参考程序: #include void main() int a=2,b=3; float x=3.9,y=2.3; float r; r=(float)(a+b)/2+(int)x%(int)y; printf(“%fn“,r); 参考结果: 3.500000 思考:为什么是这个结果? (5)分析下面程序结果,并上机验证。 (要求文件名:2_5.c) #include void main() int i,j,m,n; i=8; j=10; m=+i; n=j+; printf(“i=%d, j=%d, m=%d, i=%dn“,i,j,m,n); 参考结果: i=9, j=11, m=9, i=10 实验三:简单的程序设计及逻辑结构程序设计(2 学时) 一、实验目的和要求:一、实验目的和要求: (1)掌握 C 语言中使用最多的一种语句赋值语句的使用方法。 (2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 (3)了解 C 语言表示逻辑量的方法。 (4)学会正确使用逻辑运算符和逻辑表达式。 (5)熟练掌握 if 语句和 switch 语句。 二、实验内容:二、实验内容: 可选做以下题目: (1)掌握各种数据类型的正确使用方法。 (2)编程序,用 getchar 函数读入两个字符给 c1、c2,然后分别
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号