您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 《C语言程序设计Ⅰ》实验指导书
《C语言程序设计Ⅰ》实验指导书(2011—2012学年第一学期)班级:学号:姓名:教师:李金洋医药信息工程学院·计算中心2011年10月目录实验1、C语言编程环境和运行C程序的方法..........1实验2、简单的顺序结构程序设计...................3实验3、数据类型和表达式.........................5实验4、选择结构程序设计.........................8实验5、循环结构程序设计(1)...................12实验6、循环结构程序设计(2)...................15实验6、循环结构程序设计(2)...................16实验7、数组(1)...............................20实验8、数组(2)...............................22实验8、数组(2)...............................23实验9、函数(1)...............................25实验10、函数(2)..............................28实验11、函数(3)..............................30实验日期:2011年月日1实验1、C语言编程环境和运行C程序的方法一、实验目的1、熟悉VisualC6.0集成开发环境的使用方法;2、熟悉C语言程序从编辑、编译、连接到最后运行得到结果的过程及各过程的作用;3、了解C语言程序的结构特征与书写规则,能够编写简单的C程序;4、初步理解程序调试的思想,能找出并改正C程序中的语法错误。二、实验内容1、熟悉上机环境⑴参照教材附录A(P370~376)的内容,熟悉VC++6.0集成环境,重点是其中常用菜单、工具按钮的功能;⑵在D盘建立一个自己的工作文件夹,文件夹以班名+学号后两位+姓名来命名(如:应用1105张三);分别创建、编辑并运行教材第1章中的3个例题,初步熟悉C源程序的结构特点和运行方式。2、编程参照教材例题1.1编写一个程序实现分两行输出自己的姓名及联系电话。3、程序改错调试以下给定程序的功能是在屏幕上显示“WelcometoYou!”,其中存在3处错误,请指出错误所在,并调试程序使其能运行得到正确结果。#includestdio.hmian()//1{printf(WelcometoYou!\n)//2}出错行号及更正后的代码://1//2遇到的主要问题及分析:调试通过调试通过实验日期:2011年月日24、选做题⑴自学教材P47内容以及附录B中的字符与ASCII码对照表,编程输出以下图形:♥♥⑵编程输出如下通讯录功能菜单界面三、实验要求1、将每次实验所编辑的C源程序调试通过后分别保存在D盘上自己的文件夹中(备查!)及自己的U盘中;2、对调试过程中出现的问题和解决方法进行必要的记录,并予以简要分析四、实验小结结合本次实验简述C程序从编写到最终运行的一般过程,并简要说明其中每个步骤的作用及其生成的文件类型。调试通过调试通过实验日期:2011年月日3实验2、简单的顺序结构程序设计一、实验目的1、熟练掌握格式化输入函数scanf()、格式化输出函数printf()的使用;2、掌握简单的顺序结构程序的编写以实现简单的数据处理;3、进一步熟悉VC++环境下C程序的编辑、编译、连接和运行的过程。二、实验内容1、编程:由键盘输入两个整型变量a和b的值。编程计算并输出a与b的和、差、积、商、a除以b的余数、ab的值。输入输出参考示例如下:提示:用到C语言的运算符(参见P52)+、-、*、/、%、函数pow()(参见附录CP385)请输入a,b的值:a=3,b=2a+b=5a-b=1a*b=6a/b=1a%b=1a^b=92、编程:求一元二次方程ax2+bx+c=0的实根x1,x2,。a,b,c的值由键盘输入,设b2-4ac0。输入输出示例如下:请输入三个系数a,b,c的值:(提示:用到C语言的库函数sqrt()(参见附录CP385))a=1,b=3,c=2x1=-1.00x2=-2.00调试通过调试通过实验日期:2011年月日43、程序改错与调试:修改以下程序中的错误,并将调试的相关信息填入下表中。(特别提示:当程序在编译时发现很多错误,此时应从上到下改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。)1#includestdio.h2Main()3{4intx=1;y;56y=x++;7printf(y=%d,y)8intz;9z=++x;10print(z=%d\n,z);11}程序中存在的错误及其相关信息一览表行号错误类型错误提示信息错误的原因及修改方案4、(选做)编写一个程序,要求从键盘输入一个3位整数,然后将它们逆序输出。(比如:输入123,输出321。提示:关键是想办法分别提取百位、十位和个位上的数字!!)三、实验小结简单总结C语言程序的结构和书写规则;你在上机过程中主要遇到哪些问题?如何解决的?调试通过调试通过实验日期:2011年月日5实验3、数据类型和表达式一、实验目的1、理解C语言中基本数据类型,掌握整型、实型和字符型变量的定义、赋值及使用方法;2、掌握C语言常用算术运算符的功能,掌握C表达式的书写方法、求值规则以及表达式计算中的类型转换;3、掌握C语言中各种数据的输入/输出方法,能正确使用各种格式符;4、初步熟悉C程序的调试方法(单步执行方式)。二、实验内容1、分别在VC++6.0和Win-TC中运行以下程序,观察输出结果是否相同?并简要说明原因。说明:运算符sizeof()用于求解C语言中不同类型数据所占内存字节数(参见附录D)#includestdio.hmain(){inta=1;printf(char型占%d个字节;\n,sizeof(char));//1printf(int型占%d个字节;\n,sizeof(int));//2printf(longint型占%d个字节;\n,sizeof(long));//3printf(float型占%d个字节;\n,sizeof(float));//4printf(double型占%d个字节;\n,sizeof(double));//5printf(-----------------------------\n);printf(变量a的值的类型占%d个字节;\n,sizeof(a));//6printf(表达式(float)a的值的类型占%d个字节;\n,sizeof((float)a));//7printf(表达式2.0*a的值的类型占%d个字节;\n,sizeof(2.0*a));//8printf(表达式a+'a'-2.0的值的类型占%d个字节;\n,sizeof(a+'a'-2.0));//9printf(字符串Hello!占%d个字节;\n,sizeof(Hello!));//10}2、程序改错并调试:下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。公式为:C=)32(95F,输出取2位小数。程序中有5处错误,请修改并调试程序,使其实现所要求的功能。(编译连接无误后单步执行)#includestdio.hmain(){floatc,f;//1printf(请输入一个华氏温度:\n);//2scanf(%f,f);//3c==(5/9)*(f-32);//4printf(摄氏温度为:%5.2f\nc);//5}运行结果://1,//6//2,//7//3,//8//4,//9//5,//10简要说明:出错行号及其正确代码:程序修改正确后运行,若输入的华氏温度为120,对应的摄氏温度为:调试通过实验日期:2011年月日63、编写程序计算出下列表达式的值(输出格式符根据表达式值的可能类型自行给出)⑴54241200⑵5×22205⑶ln(103.5+2)⑷sin(45°)+e3⑸y+z%5*(int)(x+y)/2%4(其中x=2.7,y=4.5,z=8)⑹'Z'-'A'+'a'-'A'4、编辑并运行下面程序:#includestdio.hmain(){inta,b,c;a=getchar();b=getchar();c=getchar();printf(a=%db=%dc=%d\n,a,b,c);printf(a=%cb=%cc=%c\n,a,b,c);}5、编程⑴由键盘输入一个圆柱体的底面半径r和高度h的值,编程计算并输出该圆柱体的体积。(注意:体积=底面积*高,要求将圆周率定义为符号常量PI)⑴表达式为表达式的值为:⑵表达式为表达式的值为:⑶表达式为表达式的值为:⑷表达式为表达式的值为:⑸表达式为表达式的值为:⑹表达式为表达式的值为:运行程序后如果输入:1【Enter】ab【Enter】则程序的输出结果为:简要说明原因:如果要得到输出结果为a=1b=ac=b,则正确的输入方法是:调试通过实验日期:2011年月日7⑵编写一个程序,从键盘输入一个大写字母,输出该字母及其对应的ASCII码值,同时输出其小写字母及其对应的ASCII码的值。⑶(选做题)编写程序,从键盘输入两个数字字符并分别存放在字符型变量a和b中,要求通过程序将与这两个字符对应的数字相加后输出,例如,输入字符型数字7和5,输出的则是整型数12。(提示:通过“数字字符-‘0’得到对应数字”)。三、实验小结简要小结一下自己C语言学习的情况,主要存在哪些问题,什么原因?是否按老师的要求做了课前预习和课后复习?对老师的教学有什么建议?调试通过调试通过实验日期:2011年月日8实验4、选择结构程序设计一、实验目的1、熟悉关系表达式、逻辑表达式的书写和求值;2、掌握if语句的三种基本形、switch语句的结构及其应用;3、能综合运用if语句与switch语句实现多分支选择;4、熟悉并掌握程序的“单步执行”、“断点设置及跟踪”等调试方法。二、实验内容1、逻辑表达式验算:设已有定义inta=3,b=4,c=5;先自行计算下面各逻辑表达式的值,然后编写程序上机验证你分析的结果是否正确。⑴a+bc&&b==c⑵!(ab)&&!c||1⑶!(x=a)&&(y=b)&&0⑷!(a+b)+c-1&&b+c/2⑸(a=b+c,bc-1)&&(b+=c)||(b*2==a+c)⑹('c'-'a')/2+bc!=b-a;2、程序填空:以下程序的功能为:从键盘输入依次输入操作数、运算符、操作数,如果运算符是+、-、*、/之一,则进行相应的四则运算,否则输出运算符有误。在程序的空白处填入正确的语句,使得程序能正常执行并完成规定的功能。main(){inta,b,c;charop;printf(Pleaseinputaexpression:);scanf(%d%c%d,【1】);switch(op){case'+':c=a+b;printf(%d+%d=%d\n,a,b,c);break;case'-':c=a-b;printf(%d-%d=%d\n,a,b,c);break;case'*':c=a*b;printf(%d*%d=%d\n,a,b,c);break;case'/':if(【2】)printf(Divisoriszero\n);elseprintf(%d/%d=%f\n,a,b,(【3】)a/b);/*强制类型转换*/break;default:printf(输入的运算符有误!\n);}}分析的结果:⑴⑵⑶⑷⑸⑹上机的结果:⑴⑵⑶⑷⑸⑹【1】【2】【3】调试通过实验日期:2011年月日93、程序改错调试(请纠正程序中存在错误,使程序实现其功能)⑴下列程序的功能为:输入1个字母后,输出该字母的前序字母、该字母、该字母的后序字母,例如:输入d,则输出cde;输入a,则输出zab;输入P,则输出OPQ;输入Z,则输出YZA。#includestdio.hmain(){charch,c1
本文标题:《C语言程序设计Ⅰ》实验指导书
链接地址:https://www.777doc.com/doc-2864488 .html