高级程序设计语言(C语言)
实验指导书
信息管理与信息系统
2004.07
程序设计(C语言)实验指导书
目 录
使用说明 1 实验一 C语言程序初步 2 实验二 选择结构 实验三 循环结构 实验四 数组、函数 实验五 指 针 实验六 链表 实验七 文件 实验八 *综合应用举例(一) 附录一: Turbo C 程序设计上机指导 Turbo C 程序设计初步 Turbo C 常用的编辑命令 Turbo C 程序的调试 Turbo C编译、连接和运行时的常见错误 附录二:C语言程序设计调试技术 C语言程序设计调试技术(一)—— 运行错误的判断与调试 C语言程序设计调试技术(二)——基本调试手段 C语言调试技术(三) -Turbo C 集成环境的调试功能 C语言调试技术(四)--图形程序运行的条件 附录三: 《C语言》课程教学大纲 一、本课程的地位与任务 二、本课程的基本要求与基本内容 三、本课程的教学要求: 四、学时分配 五、教材和参考书
7 9 12 14 18 19 20 27
27 30 31 33
36 36 36 37 38 40 40 40 41 42 42 使用说明
本实验指导书为信息管理与信息系统专业程序设计语言(C语言)课程的专业使用。综合实验课学生可以自行选择。
信息管理与信息系统专业
2004-07-17
实验一 C语言程序初步 一、目的和要求
1、 熟悉C语言运行环境;
2、 掌握C语言程序的书写格式和C语言程序的结构; 3、了解数据类型 ;
4、 掌握C语言上机步骤,了解运行一个C程序的方法。 二、实验内容
实验1、 C语言上机步骤: (A)、进入系统所在的目录
H:\\tc>tc 回车 或者H:\\tc>tc 文件名(回车)(H是假设C语言系统软件所在的目录的逻辑盘符)
然后进行编辑源程序->编译->连接->执行程序->显示结果 (B)、常用命令 编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
实验2、下面的程序试图计算由键盘输入的任意两个整数的平均值: #include
int x,y,a;
scanf(―%x,%y,&x,&y); a=(x+y)/2;
printf(―The average is :‖a); }
实验3、编写一个C语言程序,测试下列各表达式 i , j
i + 1,j + 1 i + + ,j + + + + i, + + j i + + + + + j
+ + i + + + + + j + +
要求在各表达式中i 和j都分别有相同的初值。在实验中注意下列问题:
(1) 哪些表达式是错误的?为什么?
(2) 理解+,++,++i,i++的意义和优先级别。 请调试上述程序。
实验4、输入并编辑下面的程序 main() {
int a,b; float c,d; long e,f;
unsigned int u,v; char c1,c2;
scanf(―%d,%d‖,a,b); scanf(―%f,%f‖,c,d); scanf(―%ld,%ld‖,e,f); scanf(―%o,%o‖,u,v); scanf(―%c,%c‖,c1,c2); printf(―\\n‖);
printf(―a=},b=}\\n‖,&a,&b);
printf(―c=.2f,d=.2f\\n‖,&c,&d); printf(―e=17ld,f=ld\\n‖,&e,&f); printf(―u=%o,d=%o\\n‖,&u,&v); printf(―c1=%c,d=%c\\n‖,&c1,&c2); 这个程序有语法错误吗?为什么? 实验5、(1)调试上述程序无语法错误后,用下面的测试数据,对程序进行测试:
a=123,b=456,c=17.6,d=71837.65,e=70000,f=2174506,u=62000,v=58765,c1=’a’,c2=’b’ 分析运行结果。特别注意输入c1,c2的值是什么?什么原因? (2)将输入e和f的语句改为: scanf(―%d,%d‖,&e,&f);
再用上述测试数据测试并分析结果。 (3)将输入u、v的语句改为: scanf(―%d,%d‖,&u,&v);
再用上述测试数据测试并分析结果。 (4)将输出e ,f 的语句改为: printf(―e=d,f=d\\n‖,e,f);
再用上述测试数据测试并分析结果。
(5)将输出u、v的语句改为: printf(―u=%u,v=%u\\n‖,u,v); 或
printf(―u=%d,v=%d\\n‖,u,v);
再用上述测试数据测试并分析结果。
(6)请读者自己修改程序和改变数据输入的形式,分析各种情况下的输入与输出。
(7)在scanf(―%c,%c‖,&c1,&c2);语句之前加一个语句: getchar();
(8)验证转义字符\\n 与 \\r的意义有何不同
三、实验步骤
1、在编辑状态下照原样键入上述程序。
2、编译并运行上述程序,记下所给出的出错信息。
3、再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为
止。
4、对于实验2,下面给出6组测试用例,你认为哪几组较好?为什么?
(1)0, 0 (2)0, 99 (3)20,50
(4)33000,20