ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:69.32KB ,
资源ID:7161131      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7161131.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计实验指导书tc版1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计实验指导书tc版1.docx

1、C语言程序设计实验指导书tc版 1实验一 C语言程序的编辑和运行一、实验目的1熟悉C语言的系统环境,学习编辑运行C语言程序的基本方法。2进一步认识程序的两种错误类型对程序结果的影响,加深对程序测试重要性的认识。3认识C语言程序的结构特点,学习程序的基本编写方法二、实验内容1 Turbo C 2.0集成环境的使用。使用Turbo C 2.0集成环境,编辑运行实现乘法运算的程序。乘法运算的源程序如下:#include stdio.hmain() int a,b; a=251; /* 使a具有值251 */ b=8; /* 使b具有值8 */ printf(%dn,a*b); /* 计算并输出表达式

2、a*b */2标识符和程序的逻辑错误。修改上面的程序,观察运行结果。 将程序中的表达式“a*b”的“a”改为“A”,然后运行程序。 将程序中的表达式“a*b”修改为“a-b”,然后运行程序。3编辑并运行能够对任意两个整数进行乘法运算的程序。下面是源程序清单:#include stdio.hmain() int a,b; printf(Input a,b:); /* 在屏幕显示提示信息Input a,b: */ scanf(%d,%d,&a,&b); /* 该语句的作用是实现数据的键盘输入 */ printf(a*b=%dn,a*b);/* 输出乘法运算的结果 */三、实验指导1Turbo C

3、2.0集成环境的使用。在主教材的第1单元,我们介绍了使用TC2.0上机实现一个C语言程序的一般步骤。按照所述步骤,操作如下: 启动TC 2.0。 使用“FileNew”命令或直接使用“Edit”命令,使TC 2.0进入编辑状态,录入编辑上面的源程序。 源程序录入完毕后,使用“CompleCompile to OBJ”对源程序进行编译,如果源程序存在语法错误,这时编译系统会把程序中的错误指示出来。发现错误后,需要立即修改源程序,然后重新编译。 编译无误后,使用“CompleLink EXE file”连接目标代码,生成可执行文件,这个文件将由运行命令“Run”运行。上面的、两个步骤,也可以使用“

4、CompleBuild all”或“F9”功能键一步完成。 连接完成后,使用“Run”命令,或者使用“Ctrl+F9”组合键运行程序。程序运行过程瞬间结束,要察看程序运行结果,需要切换到运行屏幕,用组合健“Alt+F5”实现。按Alt+F5后,将看到屏幕显示如下结果:2008按任意键,屏幕返回程序状态。对一个未经编译和连接的源程序,TC2.0也可以直接运行它,因此,运行一个C语言程序时,编译和连接的操作步骤可以省略,即编辑好一个源程序后,直接使用Run命令运行它。此时,并非编译、连接过程不存在了,而是“Run”命令运行程序时,因找不到当前程序的可执行文件,而自动启动编译命令和连接命令。只有当编

5、译、连接正常进行后,程序才会被运行。因此,上面的过程可以简化为两个操作步骤: 启动TC2.0,录入编辑源程序。 按“Ctrl+F9”组合键运行程序。特别提示: 保存源程序是一个重要的操作环节。在编辑源程序的过程中或源程序编辑完成后,及时保存源程序是十分必要的,但初学者往往忽视这一环节。操作步骤如下: 按“F2”功能键,出现图1-1所示屏幕。白色背景窗口显示了系统为当前程序设定的默认存储位置(D:TC,该存储位置因系统而异,可以改变)和默认文件名NONAME.C。图1-1 修改文件名窗口 输入新的文件名。为了操作方便,可以使用默认存储位置,指定文件名为mult.c。操作时只需将NONAME.C改

6、写为mult.c后回车确认即可。 使用Windows的记事本程序提高源程序编辑效率。尤其是编辑较大的程序时,这种方法更有效。下面是Windows的记事本程序和TC2.0相结合,编辑运行以上乘法程序的步骤。 启动Windows的记事本程序,录入编辑乘法源程序。 保存程序,如图1-2所示。选择合适的存储位置,如上面使用的TC2.0的默认程序目录D:TC;输入指定的文件名,如mult.c;选择保存类型为“所有文件”。图1-2 记事本程序文件存盘窗口 激活TC2.0,按“F3”功能键,屏幕窗口如图1-3所示。在“Load File Name”框中键入步骤使用的文件名mult.c,回车确认后将源程序调入

7、TC2.0系统,然后按组合键“Ctrl+F9”运行程序。图1-3 文件装载窗口2标识符和程序的逻辑错误。第一项内容用于验证C语言中标识符的特性,当用“A”取代“a”后,程序将不能运行,说明作为标识符“A”和“a”是不等价的。请读者自己进行类似的替换,然后察看程序的运行结果。如,将程序中的“printf”改为“PRINTF”,然后运行程序看结果。第二项实验内容说明了程序的逻辑错误情况。若把“a*b”误写为“a-b”,程序会顺利编译运行,但显然不是乘法运算的结果。3编辑并运行能够对任意两个整数进行乘法运算的程序。编辑该程序前,首先使用“FileNew”命令使TC2.0进入新程序编辑状态,然后编辑运

8、行该程序。程序运行后,屏幕将显示下面的提示信息:Input a,b:此时,应从键盘输入两个整数数据,然后回车确认。下面是一个输入实例:20,35 下面是程序的输出结果:a*b=700特别提示:程序的输入数据往往有格式规定,只有按照正确的格式输入数据,一个正确的程序才会得到正确的结果。运行上面的程序时,输入的两个数据必须以“,”分隔,否则将得不到正确的结果。这是程序要求的数据输入格式。请读者再次运行程序,对输入的两个数据以空格分隔,察看执行结果。例如:Input a,b:20 35 再次运行程序,然后输入两个很大的整数,察看运行结果。例如:Input a,b:20000,35000 显然,上面两

9、次运行的结果都是不正确的。这说明,既没有语法错误,也没有逻辑错误的程序,运行后也会得不到正确的结果。第一种情况出错,是因为输入数据时数据之间的分隔形式不符合程序的要求。第二种情况,输入数据的格式没有问题,但输入的数据超出了程序能够允许的整数范围。这项实验内容提醒读者,在上机实现一个C语言程序时,各种错误的情况都可能出现。即便是一个看上去很好的程序,仍然会有许多需要改进之处。从算法的角度理解,就是任何算法,都可能存在进一步完善的空间。四、思考题1选择一种较熟悉的C语言环境,编辑运行主教材1.3节的自然数累加程序。2进一步熟悉TC2.0集成环境的功能。实验二 顺序结构程序设计一、实验目的 1掌握p

10、rintf()、scanf()、putchar()、getchar()等基本输出、输 入函数的格式及其主要用法。2熟练掌握顺序结构的程序设计。二、实验内容 1基本输入输出函数的用法。编辑运行下面的程序,并根据执行结 果分析程序中各个语句的作用。#include main() int a, b; float d, e; char c1, c2; double f, g; long m, n; unsigned int p, q; a=61; b=62; c1=a; c2=b; d=5.67; e=-6.78; f=1234.56789; g=0.123456789; m=50000; n=-60

11、000; p=32768; q=40000; printf(a=%d,b=%dnc1=%c,c2=%cn,a,b,c1,c2); printf(d=%6.2f,e=%6.2fn,d,e); printf(f=%15.6f,g=%15.10fn,f,g); printf(m=%ld,n=%ldnp=%u,q=%un,m,n,p,q);2顺序结构程序设计。 已知圆柱体横截面圆半径 r,圆柱高h。编写程序,计算圆周长 l、圆面积s和圆柱体体积v,并输出计算结果。 编写一个程序,根据本金 a 、存款年数 n 和年利率 p 计算到 期利息。计算公式如下:到期利息公式为 a*(1+p) n a ab的计算

12、公式为 exp(b*ln(a) 三、实验指导1基本输入输出函数的用法。 运行所给出的源程序,对照结果分析各语句的作用。 将程序中的第二、第三个printf语句修改为如下形式,然后运 行程序,察看结果。 printf(d=%-6.2f,e=%-6.2fn,d,e); printf(f=%-15.6f,g=%-15.10fn,f,g); 将上述两个printf语句进一步修改为如下形式,然后运行程序, 察看结果。 printf(d=%-6.2fte=%-6.2fn,d,e); printf(f=%-15.6ftg=%-15.10fn,f,g); 将程序的第10-15行修改为如下语句:a=61;b=6

13、2;c1=a;c2=b;f=1234.56789;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,并分析结果。 修改中的程序,不使用赋值语句,而用下面的scanf语句为a、 b、c1、c2、d、e输入数据:scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e); 请按照程序原来中的数据,选用正确的数据输入格式,为上述 变量提供数据。 使用如下数据输入格式,为什么得不到正确的结果? 输入数据:61 62 a b 5.67 -6.78 进一步修改中使用的程序,使f和g的值用scanf()函数输入。 进一步修改上面的程序

14、,使其他所有变量的值都改用scanf() 函数输入。 参考程序#include void main() int a, b; float d, e; char c1, c2; double f, g; long m, n; unsigned int p, q; printf(Input(a,b,c1,c2,d):); scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e); printf(Input(f,g):); scanf(%lf%lf,&f,&g); printf(Input(m,n,p,q):); scanf(%ld%ld%u%u,&m,&n,&p,&q); pr

15、intf(a=%d,b=%dnc1=%c,c2=%cn,a,b,c1,c2); printf(d=%-6.2f,e=%-6.2fn,d,e); printf(f=%-15.6f,g=%-15.10fn,f,g); printf(m=%ld,n=%ldnp=%u,q=%un,m,n,p,q); 数据输入格式Input(a,b,c1,c2,d):61 62ab5.67 -6.78 Input(f,g):1234.567890 0.1234567890 Input(m,n,p,q):50000 -60000 32678 40000 修改中的程序,使c1、c2的数据用getchar()函数输入,用 p

16、utchar()函数输出。 可按照如下方法修改程序:将程序中的“scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e);”语 句用以下四个语句替换:scanf(%d%d% ,&a,&b);c1=getchar();c2=getchar();scanf(%f%f,&d,&e); 使用与相同的数据输入格式输入数据。 请分析:使用如下格式为a、b、c1、c2输入数据时会出现什么结果?运行程序验证所分析的结论。输入数据格式:61 62 a b 2顺序结构程序设计。 参考程序/* 计算圆周长、面积及圆柱体体积的程序 */#include #define PI 3.14159mai

17、n() float r,h,l,s,v; printf(r,h=); scanf(%f,%f,&r,&h); l=2*PI*r; s=PI*r*r; v=s*h; printf(L=%ftS=%ftV=%fn,l,s,v); 程序调试时要注意如下几点: 输入数据的格式要与程序中要求的格式一致。如上述程序要用“,”分隔数据。 根据程序运行情况,调整输入、输出数据的格式,使数据的输入输出格式更符合使用习惯。 运行程序,输入负数数据,察看程序的执行结果。 参考程序/* 计算存款利息的程序 */#include #include main() int n; float a,p,acc; printf(

18、a,n,p=); scanf(%f,%d,%f,&a,&n,&p); acc=a*exp(n*log(1.0+p)-a; printf(Accrual=%-10.2fn,acc);四、思考题:1在“基本输入输出函数的用法”内容中,e和g都是用“t”进行格式控制,但为什么没有显示在同一列的位置上?2改进实验内容2的参考程序,使得输入负数时不进行计算,并且显示相应的提示信息。实验三、选择结构程序设计一、实验目的1学会使用逻辑表达式表示条件的方法。2掌握if语句三种形式的用法。3掌握switch语句的用法。4学会设计有实际价值的分支结构程序。二、实验内容1简单if语句的用法。编写调试程序:从键盘输入

19、一个任意大小的实数x,如果x满足如下条件,则输出x及其绝对值。输出x的条件:-29.5x29.5 2if-else语句的用法。修改上面的程序,使得x满足-29.5x29.5时输出x及其绝对值,否则只输出x。3if-else if语句的用法。编写一个能够进行加减法运算的程序,要求:从键盘任意输入两个实数,然后输入一个运算符,当运算符为“+”时对两个数进行加法运算,为“-”时对两个数进行减法运算,其他符号时,只显示输入的符号不进行运算。4switch语句的应用。编写计算器程序。要求从键盘任意输入两个数值,然后输入一个四则运算符,自动完成运算后输出结果。三、实验指导1简单if语句的用法。 编程分析

20、正确表示条件,将数学不等式-29.5x29.5表示为如下逻辑表达式:x=-29.5&x=-29.5)&(x=29.5)也可以使用x的绝对值形式表示,如下:fabs(x)=-29.5&x=-29.5&x=29.5) printf(x=%ft|x|=%fn,x,fabs(x); else printf(x=%fn,x); 程序调试输入数据时,除考虑上面指出的三种情况的数据外,输入一个字符数据,观察会是什么结果。3if-else if语句的用法。 参考程序#include math.h#include stdio.hvoid main() float x,y; char op; printf(x,y

21、: ); scanf(%f,%f,&x,&y); getchar(); printf(operator: ); scanf(%c,&op); if(op=+) printf(%f+%f=%fn,x,y,x+y); else if(op=-) printf(%f-%f=%fn,x,y,x-y); else printf(operator:%cn,op); 程序调试运行程序时,应考虑如下问题: 参考程序中的“getchar();”语句的作用是什么?去掉该语句后,再运行程序,观察并分析运行的结果。 输入数据时必须要考虑到题目要求的三种情况。4switch语句的应用。 编程分析 四则运算共有加(+)、

22、减(-)、乘(*)、除(/)四种运算,要做出判断需使用switch语句。对上面的程序进行适当修改可得到本程序。 当输入符号为四则运算符之外的符号时,不进行任何运算,但应给出相应的提示信息。当使用提示信息是,switch语句应含有default子句。 参考程序#include stdio.hvoid main() float x,y; char op; printf(请输入运算数(两个运算数之间以“,”分隔):); scanf(%f,%f,&x,&y); printf(请输入运算符: ); getchar(); op=getchar(); switch(op) case +: printf(%f

23、+%f=%fn,x,y,x+y); break; case -: printf(%f-%f=%fn,x,y,x-y); break; case *: printf(%f*%f=%fn,x,y,x*y); break; case /: printf(%f/%f=%fn,x,y,x/y); break; default: printf(运算符输入不正确!n); 程序调试 参考程序中使用了中文提示信息,如果使用的C语言系统不支持汉字,应将这些提示信息换用英文信息。 调试程序时,+、-、*、/ 及非四则运算符的情况都应予以调试。四、思考题1在输入数值数据时,有时错误地输入了字符,导致程序运行后出现不正

24、常的结果。请读者考虑,如何改进程序,使得发生这种错误输入时能检查出来?2改进学生成绩分等程序,使得输入成绩数据时能正确处理如下情况: 实验考核成绩输入了小写字母。 实验考核成绩输入了等级以外的字符。实验三、分支循环结构程序设计一、实验目的1通过本实验,加深对循环控制结构有关概念的理解。2熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。3掌握二重循环结构程序的设计方法。二、实验内容1用while循环实现数据统计问题。数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数值的个数。2编写并调试程序,使用do-while循环控制

25、语句实现上面的数据统计问题。调试数据仍参照上面给出的几种情况设计使用。3编写并调试程序,使用for循环控制语句实现上面的数据统计问题。4阶乘累加问题。编写程序,求1+2!+3!+n!的值(习题5.9)。三、实验指导1用while循环实现数据统计问题。 编程分析由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法: 使用一个负数作为数据输入结束标志。 输入一个数据后通过进行询问的方式决定是否继续输入下一个数据。 参考程序l 参考程序一/* 使用负数作为数据输入结束标志的程序 */#incl

26、ude stdio.hvoid main() int m,counter=0; while(1) printf(请输入一个整数:); scanf(%d,&m); if(m0)break; if(m=0&m=100)counter+; printf(继续输入下一个数据?(Y/N); ask=getchar(); getchar(); if(ask!=y&ask!=Y)break; printf(n); printf(符合要求的整数个数为: %dn,counter); 程序调试这里只对“参考程序一”的调试数据进行设计。该程序输入数据时,应考虑多种数据组合,对每一组数据察看并分析结果。例如: 输入的

27、一组数据之间全部以空格分隔,只有最后一个数为负数,以回车键结束。如:16 35 7 10 输入的一组数据之间全部以空格分隔,在负数之后又有正数数据,最后一个数不为负数,以回车键结束。如:16 35 7 10 96 17 输入的一组数据之间全部以空格分隔,输入数据中有多个负数,以回车键结束。如:16 35 7 10 96 17 87 7 输入的数据中有大于100的整数。如:16 35 7 10 96 117 87 267 66 数据之间既用空格分隔,也用回车键分隔。如:76 35 376 22 717 96 67 96 17 87 719 66 98 2 -16 31 每输入一个数据后均按回车键。 输入的第一个数据即为负数。 在输入的数据中使用数值很大的整数。如:17 66778 98765 17 899 -109 87 在上面的“参考程序一”中,使用了常数“1”作为循环控制的条件,这是常用的循环控制方式。请修改上面的程序,不使用常数循环条件,仍然使用while语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1