C语言程序设计实验指南:从Windows安装DOS到TurboC20编程实践
文档的主要内容包括C语言编程实验的介绍和详细步骤,包括如何在Windows环境下安装DOS环境,以及对成功安装并运行C程序所得到的结果进行分析和判断。实验的目的是了解C语言程序的设计原理。和实现步骤,并在实践中提供建议 高编程能力 本实验使用多种学习工具和平台,如TurboC20集成开发环境,以便更好地完成程序编辑、编译和运行,并查看程序运行结果。小结 本实验的主要目的是理解和练习C语言程序。提高学生的逻辑思维能力和编程能力

计算机基础与应用(2)
«工艺中断计
实验说明
湖南师范大学工程学院编
目录
实验1 C程序运行环境及运行C程序1的方法
实验2 基本数据类型的使用4
实验 3 运算符和表达式 8
实验 4 顺序结构编程 11
实验5选择结构编程14
实验 6 循环结构编程 17
实验 7 多循环结构编程 21
实验8——维度群和二维群24
实验9 字符组和字符串26
实验10字母29
实验11 多文件程序的实现31
实验12编译预处理34
实验13指针37
实验14结构和联合40
实验15位算术43
实验16 文件操作 46
实验17 综合实验51
实验1 C程序的运行环境及运行C程序的方法
实验类型:验证实验时间:2小时实验日期:年月日实验结果:
1\实验目的
1、熟悉Windows环境下的DOS窗口,掌握一些常用DOS命令的操作。
2、熟悉C程序的实现流程和方法:
(1)掌握编辑、编译、连接、运行程序的过程和方法。
(2)了解两种常见的语法错误(Error/Warning)o
3.了解TurboC2.0集成开发环境。
2. 实验要求
1、根据《实验内容及步骤》完成TurboC2.0下程序的编辑、编译、运行,查看并运行
分析程序运行结果;如果程序有错误,记录编译和连接过程中遇到的错误信息。仔细思考错误的原因,
并纠正它。
2、源程序保存在D盘用户目录下,建议用户目录名称使用自己的学号或姓名的拼音缩写。
3、建议反复修改和补充实验方案。例如,故意纠正已经正常运行的程序中的错误。
观察并比较编译和运行结果。通过这个,你可以验证和测试所学的知识,熟练掌握程序调试技能,完成实际任务。
学习在经验所需的任务之外创造性地工作。
三、实验内容及步骤
1. 启动操作系统,找到TurboC集成开发环境的安装位置(路径),观察其子目录组。
并找到 TC.EXE 文件。
2、进入DOS窗口,切换到D盘,创建并进入用户目录。
(1)点击开始——程序——附件——命令提示符,进入DOS窗口;
(2)切换到D盘;
(3)创建一个用户目录,以您的学号或姓名的拼音缩写为目录名;
(4) 检查目录是否已经创建;
(5) 输入您的用户目录。
3. 启动并退出TurboC2.0进入开发环境。
(1)启动TurboC2.0进入开发环境。
方法一:在Windows环境下双击TurboC2.0快捷方式图标;
方法二:在DOS窗口中输入TurboC更改开发环境安装位置(路径),执行TC.exe
可执行文件。
(2)退出TurboC2.0并进入开发环境。
选择菜单FileQuit,退出TurboC2.0,进入开发环境。
(3) 重新启动TurboC环境。
4. TurboC环境下常用功能键及组合键的使用。
(1) 反复按F6键,观察当前活动窗口在编辑窗口和消息窗口之间切换。
(2) 反复按F5键,观察当前活动窗口在最大状态和正常状态之间切换。
(3) 先按F10,可以看到主菜单被激活。按1、1光标移动键,将依次激活主菜单的各项。
要激活,请尝试按 t 和 I 光标移动键打开相应的菜单。
重点浏览File(文件管理)、Run(程序执行控制)、Compile菜单(程序编译、连接)
菜单,尝试理解每个菜单项的含义。最后按ESC键将光标返回到编辑窗口。
(4) 主菜单中每一项的第一个字母为红色(高亮度)。可以按Alt+高亮字母直接激活
相应的菜单选项。例如,按 Alt+F 激活“文件”菜单,然后按 ESC 键将光标返回到编辑窗口。
(5) 观察当前源程序名称。 “NONAME.C”表示当前程序尚未命名。以后保存程序时,
系统会提示您输入源程序名称。
5. 按照以下步骤完成【任务1】
(1) 选择菜单“文件-新建”,新建一个源程序文件;
(2)进入菜单源程序,全屏编辑源程序;
(3) 选择菜单“文件—保存”保存源程序。保存到用户目录下,文件名为Ll".c.观察
编辑窗口中的源程序名称是否被修改。使用Windows资源管理器或DOS命令检查用户目录是否为
是否出现源程序文件名?
(4) 选择菜单“Compile-BuiIdall”,编译并连接源程序。如果有语法错误,请修改源码
再次编译链接程序,直到没有语法错误,系统提示成功。
编译连接成功后,使用Windows资源管理器或DOS命令检查是否有
具有相同文件名的目标文件 (*.obj) 和可执行文件 (*.exe)。
(5) 选择菜单“Run-Run”运行程序,使用Alt+F5切换到用户界面查看运行结果。对比
结果是否如预期。如果发现逻辑错误,即结果与预期不同,请找到错误并修改源程序,然后重试。
重复(4)-(5),保存、编译、运行程序,直到程序得到满意的结果。
6. 按照上面第 5 项列出的步骤完成[任务 2]。程序编辑完成后,文件名Ll_2.c保存在
在用户目录下。然后编译运行,观察分析结果。
7. 根据上面第 5 项列出的步骤完成[任务 3]。程序编辑完成后,文件名Ll_3.c保存在
在用户目录下。然后编译运行,观察分析结果。
四项任务要求及测试数据
【任务一】
从最简单的C程序开始学习C语言。编辑、编译并运行该程序。
参考代码
主要的()
铜
printf(这是我的第一个C程序!\n);
【任务2】
查看运行中存在致命语法错误的程序。关注并理解系统给出的错误提示。
参考代码
主要的()
因蒂=9
printf(i=%d\n”,i)
【任务3】
看一下运行时带有语法错误警告的程序。分析警告错误的原因。
参考代码
主要的()
inti=9,j,s;
s=i+j;
printf(s=%d\n,s);
五问记录及注意事项
要求:记录电脑使用过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因和
给出纠正问题的方法。
1.
2.
6 实验总结与思考
1. 您所使用的电脑上TurboC的安装目录在哪里?
2.写出一些常用的DOS命令的格式。
切换工作驱动:
创建用户目录:
进入用户目录:
目录列表:
执行可执行程序:
3、F5、F6、F10、光标移动键1、~、t、I、Alt+高亮度键的作用和作用是什么?
4、与C语言程序直接相关的几个文件及其扩展名是哪几个?
5.总结运行C语言程序的主要过程。
6、运行C语言程序时遇到的错误主要包括语法错误和逻辑错误。语法错误分为致命错误。
错误(Error)和警告错误(Warning),想想它们之间的区别。
实验2 基本数据类型的使用
实验类型:验证实验时间:2小时实验日期:年月日实验结果:
实验目的
1.掌握C语言基本数据类型(整数、实数、字符)的常量表示、变量的定义和
使用。
2、了解常用格式控制字符对输出结果的控制作用。
3.了解数据溢出错误和舍入错误(以整数和实数数据为例)。
4. 更加熟悉C程序的实现过程。
2. 实验要求
1、实验前仔细预习,阅读并分析四个程序的运行结果。实验时仔细对比程序的实际运行结果
水果。
2、根据《实验内容及步骤》完成TurboC2.0下程序的编辑、编译、运行,查看并运行
分析程序运行结果;如果程序有错误,记录编译和连接过程中遇到的错误信息。仔细思考错误的原因,
并纠正它。
3、在程序编辑过程中,建议经常使用菜单“文件-保存”或按热键F2保存源程序,以免出错。
如果发生死机、断电等情况,源程序数据将会丢失。
4、源程序保存在D盘用户目录下,建议用户目录名称使用自己的学号或姓名的拼音缩写。
5、建议反复修改和补充实验方案。例如,故意纠正已经正常运行的程序中的错误。
观察并比较编译和运行结果。通过这个,你可以验证和测试所学的知识,熟练掌握程序调试技能,完成实际任务。
学习在经验所需的任务之外创造性地工作。
6、认真思考,回答实验总结和思考题。
三、实验内容及步骤
首先,启动TurboC集成开发环境。
1.按要求完成【任务1】
(1) 输入程序并保存在用户目录下,文件名为L2".c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
2.按要求完成【任务2】
(1)进入程序并保存在用户目录下,文件名为L2_2.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
3. 按要求完成【任务3】
(1)进入程序并保存在用户目录下,文件名为L2_3.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
4. 按要求完成【任务4】
(1)进入程序并保存在用户目录下,文件名为L2_4.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
最后退出TurboC集成开发环境并关闭。
四、任务要求及测试数据
【任务一】
在计算机上编辑并运行一个程序来测试整数和字符数据的表示和输出。参考代码中的注释
这些点是为了帮助理解程序,不需要输入。
参考代码
主要的()
intx=010,y=10,z=0xl0;/*整数数据表示*/
,,
Charc1=M,c2=\x4d,c3=\l15,c4=77,c;/*字符数据表示*/
printf(x=%o,y=%d,z=%x\n,x,y,z);/*①输出整型数据*/
/*数据以原始基本形式输出。注意输出结果中是否有前导0或Ox*/
printf(x=%d,y=%d,z=%d\n,x,y,z);
/*②数据以十进制输出,转换为十进制,分析结果的准确性*/
/*字符数据的输出*/
printf(cl=%c,c2=%x,c3=%o,c4=%d\n,cl,c2,c3,c4);
/*③数据以原始基数形式输出,注意是否有前导0或Ox*/
printf(c1=%c,c2=%c,c3=%c,c4=%c\n,c1,c2,c3,c4);
/*④结果是什么字符?也就是说,人物可以有多少种自由的表现形式? */
printf(cl=%d,c2=%d,c3=%d,c4=%d\n,c1,c2,c3,c4);
/*⑤检查这些字符的十进制ASCII码值是多少? */
/*字符数据参与算术运算*/
c=cl+32;/*字符数据参与算术运算*/
printf(c=%c,c=%d\n,c,c);
/*⑥字符数据的两种输出形式*/
读取分析结果 实际运行结果
①
②
③
④
⑤
⑥
【任务2】
下面是一个程序,了解常见转义字符对输出的控制作用。编辑并在计算机上运行。
参考代码?
主要的()
inta,b,c;
a=5,b=6,c=7;
赫赫
printf(12345678123456781234567812345678\n);
/*①打印一个标尺检查输出结果*/
printf(%d\n\t%d%d\n%d%d\t\b%d\n,a,b,c,a,b,c);
/*②打印字符串*/
赫赫
printf(c:\\L2_2c);
/*③打印文件名*/
printf(\n);
读取分析结果 实际运行结果
①
②
【任务3】
以下是处理非结构化数据溢出错误的程序。在电脑上编辑并运行。
参考代码。
主要的()
因塔,b;
a=32767;
b=a+l;
氢
printf(a=%d,a+l=%d\n,a,b);/*①*/
a=-32768;
b=al;
氢
printf(a=%d,al=%d\n,a,b);/*②*/
getch();
/*getch()函数说明:获取暂停程序运行的键盘按键,目的是保留用户屏幕
屏幕,方便查看结果。 */
读取分析结果 实际运行结果
①
②
【任务4】
以下是帮助理解实际数据的舍入误差的程序。在电脑上编辑并运行。
参考代码
主要的()
浮动,b;
a=123456.789e5;
b=a+20;
nn/*①*/
printf(a=%f,b=%f\n,a,b);
n/*②*/
printf(a=%e,b=%e\n,a,b);
读取分析结果 实际运行结果
①
五、问题记录及注意事项
要求:记录电脑使用过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因和
给出纠正问题的方法。
1.
2.
6 实验总结与思考
(1)C语言中的中等长度数据和字符型数据可以用什么形式表示?
(2)简述转义字符的作用:\n,,,\b'?
(3)为什么C语言规定所有使用的变量必须“先定义,后使用”?这样做有什么好处呢?
(4) 使用计算机处理数据时可能会出现溢出错误和舍入错误。这对我们的编程有什么影响?
要求?
(5) 如果要编写一个演示字符数据溢出的程序,请考虑如何编程。
实验3 运算符和表达式
实验类型:验证实验时间:2小时实验日期:年月日实验结果:
1 实验目的
1.掌握C语言算术、赋值、自增、自减运算符及相应的表达式。
2.掌握不同类型数据之间的赋值规则。
3.了解强制数据类型转换以及运算符的优先级和结合性。
4. 学习如何根据表达式编写相应的程序来验证结果。
2. 实验要求
1.【任务1】、【任务2】、【任务3】要求对实验前的题目进行阅读分析,获得阅读分数。
分析结果。然后编写验证程序进行计算机测试。
2、【任务4】和【任务5】要求在实验前对程序结果进行分析,以便在使用计算机时可以比较结果。
3、实验过程中认真观察、记录、比较实验结果。如有不一致,请查明原因。
4、根据《实验内容及程序》完成TurboC2.0下程序的编辑、编译和运行,查看并运行
分析程序执行结果。
5、源程序保存在D盘用户目录下,建议用户目录名称使用自己的学号或姓名的拼音缩写。
3 实验内容及步骤
首先,启动TurboC集成开发环境。
1.按要求完成【任务1】
(1)输入自己编写的验证程序,保存在用户目录下,文件名为L3".c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
2.按要求完成【任务2】
(1)输入自己编写的验证程序,保存在用户目录下,文件名为L3_2.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
3. 按要求完成【任务3】
(1)输入自己编写的验证程序,保存在用户目录下,文件名为L3_3.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
4. 按要求完成【任务4】
(1)进入程序并保存在用户目录下,文件名为L3_4.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
5. 按要求完成【任务5】
(1)进入程序并保存在用户目录下,文件名为L3_5.c;
(2)编译运行,观察运行结果;
(3)与读数分析结果进行比较。
最后退出TurboC集成开发环境并关闭。
四、任务要求及测试数据
【任务一】
已知:a=2,b=3,x=3.9,y=2.3(a,b为类型变量,x,y为浮点变量),计算算术表达式
公式 (float)(a+b)/2+(int)x%(int)y 的值。在计算机上进行试编程和验证。
读取分析结果实验运行结果
【任务2】
已知:a=7,x=2.5,y=4.7(a为类型变量,x,y为浮点变量),计算算术表达式
x+a%3*(int)(x+y)%2/4 的值。在计算机上进行试编程和验证。
读取分析结果实验运行结果
【任务3】
已知:a=12,n=5(a、n为类型变量),通过以下表达式运算计算出a的值。计算机编程验证。
(l)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2)(6)a+=a- =a*=a
读取分析结果实验运行结果
(1)(2)(3)(1)(2)(3)
(4)(5)(6)(4)(5)(6)
【任务4】
阅读并分析以下程序的结果。并在电脑上验证。
主要的()
因蒂,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf(i=%d,j=%d,m=%d,i=%d\n,i,j,m,n);
读取分析结果实验运行结果
【任务5】
分别设置k为127,-128,128,-129,分析下面程序的结果。并在机器上验证。
主要的()
浮点=3.7,b;
因蒂,j=5;
intk=127;/*分别用127,-128,128,-129进行测试*/
未签名U;
长L;
字符C;
我=a;
printf(%d\n,i);/*浮点型赋值*/
b=j;
printf(%Rn”,b);/*类型赋值为浮点数*/
U=k;
printf(%d,%u\n,U,U);/*相同长度的类型之间赋值*/
L=k;
printf(%ld\n,L);/*类型赋值给long类型,short类型赋值给long类型*/
C=k;
printf(%d\n,C);}/*类型赋值给字符类型,长类型赋值给短类型*/
k=127k=-128k=128k=-129
结果行 读取分析实验 运行 读取分析实验 运行实际运行 实验运行 实际运行实验 运行
结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果结果
五、问题记录及注意事项
要求:记录电算化过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因和
给出纠正问题的方法。
1.
2.
6 实验总结与思考
1. C语言中,4是否四舍五入为5?或者截断和四舍五入?
2.总结不同类型数据的赋值和转换原理。
3、在这个实验中,我学会了编写一个程序来测试表达结果。这对我们使用C语言有什么启发呢?
实验4 顺序结构编程
实验类型: 实验时间: 2 小时 实验日期: 年、月、日 实验结果:
1\实验目的
1. 使用标准输入/输出函数掌握常见数据类型的输入/输出方法。
2、初步培养绘制流程图、编写源程序、准备测试数据、实际调试程序的独立编程能力。
2. 实验要求
1、实验前的准备:按照【任务1】和【任务2】的要求画流程图,编写源程序,准备测试
数据。
2、根据《实验内容及步骤》完成TurboC2.0下程序的编辑、编译、运行,查看并运行
分析程序执行结果。
3、源程序保存在D盘用户目录下,建议用户目录名称使用自己的学号或姓名的拼音缩写。
三、实验内容及步骤
首先,启动TurboC集成开发环境。
1.按要求完成【任务1】
(1) 进入源程序,保存在用户目录下,文件名为L4".c;
(2)编译运行,观察分析结果。
2.按要求完成【任务2】
(1)进入源程序,保存在用户目录下,文件名为L4_2.c;
(2)编译运行,观察分析结果。
3. 按要求完成【任务3】
(1)根据题意画出流程图;
(2)根据流程图直接在TurboC集成开发环境中编程并保存,文件名为L4_3.c
在用户目录中;
(2)编译运行,观察分析结果。
最后退出TurboC集成开发环境并关闭。
四、任务要求及测试数据
【任务一】
编译程序:根据商品原价和折扣率,计算出商品的实际售价。要求产品原价、折扣率等。
从键盘输入,计算结果精确到小数点后2位)。
[流程图] [源程序]
测试数据
产品原价:128.00,折扣率:0.7
【任务2】
编程:根据圆柱的半径和高度计算周长、圆面积、圆柱表面积和圆柱体积。
结果精确到小数点后 3 位。要求使用scanf输入数据并输出计算结果。
[流程图] [源程序]
测试数据
花园半径r=1.5,圆柱高度h=3
【任务3】
编译程序:求方程ax?+bx+c=0的根。 a、b、c是从键盘输入的,设bMaoO。
五、问题记录及注意事项
要求:记录电脑使用过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因和
给出纠正问题的方法。
1.
2.
注意事项:
1、C语言变量先定义后使用。变量名称区分大小写。
2、向scanf输入数据时,变量应使用地址运算。
3、scanf函数格式字符串中的普通字符必须按原样输入,否则会出错。
6 实验总结与思考
,,
1. 如果 scanf(价格=%f,折扣=%f,价格,折扣);如何输入两个数据?
2、仔细分析程序中变量的类型。考虑是否可以使用其他数据类型。
实验5 选择结构编程
实验类型: 实验时间: 4 小时 实验日期: 年、月、日 实验结果:
实验目的
1.了解C语言中逻辑量的表示方法。
2.学会正确使用逻辑运算符和逻辑表达式。
3.掌握if语句和switch语句的使用。
3.了解TurboC程序调试的基本方法。
2. 实验要求
1、根据《实验内容及步骤》完成TurboC2.0下程序的编辑、编译、运行,查看并运行
分析程序运行结果;
2、源程序保存在D盘用户目录下,建议用户目录名称使用自己的学号或姓名的拼音缩写。
三、实验内容及步骤
首先,启动TurboC集成开发环境。
1、按照要求并按以下步骤完成【任务1】
(1)根据题意,将阅读分析结果填写在表格中;
(2)根据题意,编辑程序,保存在用户目录下,文件名为L5".c;
(3)编译运行,观察分析结果,并与读取分析结果进行比较;
(4)尝试跟踪程序运行情况。使用 F7 或 F8 键单步执行程序,并使用 Ctrl+F7 检查变量。