学生实验指导(1).doc_第1页
学生实验指导(1).doc_第2页
学生实验指导(1).doc_第3页
学生实验指导(1).doc_第4页
学生实验指导(1).doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级语言程序设计实验指导学 院:信息科学与技术学院专 业: 学 期:20132014学年第二学期教 师: 邵小兵 I目录实验0 实验准备10.1 实验预备知识10.2 实验内容及步骤2实验1 熟悉C语言程序开发环境51.1 实验目的51.2 实验预习51.3 实验任务5实验2 数据描述72.1 实验目的72.2 实验预习72.3 实验任务72.4 实验心得12实验3 顺序结构程序设计133.1 实验目的133.2 实验预习133.3 实验任务133.4 实验心得17实验4 选择结构程序设计184.1 实验目的184.2 实验预习184.3 实验任务184.4 实验心得20实验5 循环结构程序设计215.1 实验目的215.2 实验预习215.3 实验任务215.4 实验心得26实验6 函数与编译预处理276.1 实验目的276.2 实验预习276.3 实验任务276.4 实验心得32实验7 数组337.1 实验目的337.2 实验预习337.3 实验任务337.4 实验心得37实验8综合实验388.1 实验目的388.2 实验预习388.3 实验任务38实验9 指针419.1 实验目的419.2 实验预习419.3 实验任务419.4 实验心得44实验10 结构体数据类型与链表4510.1 实验目的4510.2 实验预习4510.3 实验任务4510.4 实验心得47实验11 共用体数据类型4811.1 实验目的4811.2 实验预习4811.3 实验任务4811.4 实验心得49实验12 文件5012.1 实验目的5012.2 实验预习5012.3 实验任务5012.4 实验心得52实验13 综合实验5313.1 实验目的5313.2 实验预习5313.3 实验任务5356实验0 实验准备院(系):信息科学与技术学院 课程名称: 高级语言程序设计 教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩0.1 实验预备知识1双击桌面Visual C+快捷方式进入Visual C+,或通过执行“开始程序Microsoft Visual Studio 6.0 Microsoft Visual C+6.0”或执行文件C:Program FilesMicrosoft Visual StudioCOMMONMSDev98BinMSDEV.EXE。2单击“文件”菜单的“新建”命令。3在打开的“新建”对话框中选择“文件”标签。4选择C+ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。如图所示:5在源窗口中输入源程序,如图所示。6编译程序:按“Ctrl+F7”或通过“编译”菜单中的“编译”命令,或使用工具栏中的相应工具进行编译编译连接运行若程序有错则找到出错行修改程序。7连接:若程序没有语法错误,则可按功能键或执行“编译”菜单中的“构件”命令或通过工具栏中的相关工具(编译工具右边工具),进行连接生成可执行文件。8运行程序:按组合键“Ctrl+F5”,或通过“编译”菜单中的执行命令,或通过工具栏中的“!”工具运行程序。0.2 实验内容及步骤1理解并体会C语言程序开发步骤图请在以下程序的调试运行过程中去体会如下图1-6所示的C语言的开发步骤。无开始编辑编译源程序hello.c有错?有执行机器语言目标程序hello.obj可执行目标程序hello.exe库函数和其他目标程序不正确正确结果正确?结束连接图1-6 C程序的开发步骤2输入下列程序并运行,观察程序的输出结果。人工分析结果实验运行结果#include/*预处理命令*/void main( )/主函数定义printf(用户登录n);printf(-n);printf(请输入用户名:n);printf(-n);printf(请输入您的密码:n);思考:将程序中的“n”去掉,观察程序的运行结果,并和源程序的运行结果对照比较后,分析产生不同结果的原因。答:小锦囊:(1)“/*预处理命令*/”和“/主函数定义”是注释部分。在Visual C+ 6.0开发环境中,注释的标志有两种:一种是“/*/”,另一种是以“/”引导注释内容。(2) stdio.h是头文件,C提供了多个头文件,#include是预处理命令,将各头文件用#include命令包含在程序的首部就可直接使用了,它不是C语句,其后不能加“;”。3以下程序是一个简单的员工工资管理系统软件的首页,请按原程序输入并运行,观察所显示的内容。#includevoid main( )printf(*n);printf(欢迎使用学生成绩管理系统!n);printf($ $n);printf($1:用户身份验证 $n);printf($ $n);printf($2:增加/删除学生子系统 $n);printf($ $n);printf($3:成绩处理子系统 $n);printf($ $n);printf($4:查询子系统 $n);printf($ $n);printf($5:退出系统 $n);printf(*n);4请按源程序输入并运行程序,观察输出结果。#includevoid main( )int a=3,b=4;/定义整型变量a,b,值分别是3和4printf(%d,%dn,a,b);/按要求格式输出数据printf(a=%d,b=%dn,a,b); /按要求格式输出数据程序的输出结果为:思考:(1)删除“,b=4”,再编译程序,阅读错误提示,并根据错误提示进行修改。作为程序设计者,应该具备根据错误提示或程序运行结果,查找并修正程序中错误的能力。(2)删除“=4”,编译并运行程序,观察程序的运行结果,并思考其原因。小锦囊:(1) printf()函数所要显示的信息不仅可以是一个字符串,而且还可以是变量的值或数据。更有趣的是,它可以按照用户定义的某种格式输出。(2) 在进行程序设计时,应该注意养成良好的程序设计风格。 一般一个语句占一行。 在程序中添加适当的注释。 按照缩进格式书写程序。5模仿以上实验中的程序,编写一个程序,要求可以在屏幕上分行显示出自己的姓名、学号、所在院系、所学课程和E-mail地址,发挥想象,使显示形式美观而不单调。答:#includevoid main()printf($ $ $ $ $ $ $n);printf($ $ $ $ $ $ $n);printf($ $ $ $ $ $n);printf($ $ $ $ $ $ $n);printf($ $ $ $ $ $ $n);printf($ 王俊茗 27号 $n);printf($ 所学课程见“www.jjiangxuyuan.xinxiA1321课程表.com $n);printf($ 信息科学与技术 $n);printf($ E:1572393398 $n);6编写程序,输出一个由“*”组成的菱形。#includevoid main()printf(* * * * * *n); printf(* *n);printf(* *n);printf(* *n);printf(* *n);printf(* * * * * *n);温馨提示:如果你是第一次接触计算机软件编程,不要期望立即写出一个实用的程序,也不必惧怕自己不会写程序,编程本就是一个循序渐进的过程,程序设计不是听会的,也不是看会的,而是自己上机练会的。请根据教师的引导,独立自主、大胆地进行所要求的实验工作。动手才能找到感觉,动手才能找到自信,动手才能有成就感。实验1 熟悉C语言程序开发环境院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩1.1 实验目的1了解和掌握C语言的主要特点。2熟悉C语言的程序开发环境,掌握C语言的上机步骤。3熟练掌握源程序的建立、编辑、编译、保存和运行的基本方法。4学习动态调试程序的方法,熟练掌握单步执行程序和设置断点执行程序的操作。1.2 实验预习1熟悉VC+的启动和退出以及VC+中的编辑、编译、连接和运行命令。2了解下列命令及函数:include、main、printf、scanf。3熟悉Visual C+环境下每个菜单项的功能及相关命令对应的操作。1.3 实验任务1. 预测结果并上机验证。源程序人工分析结果实验运行结果#include main()printf(“*n”);printf(“I am a student!n”);printf(“*n”);2实验指导书P61【上机题】,在VC+环境下建立以下C语言源程序。#include stdio.hmain()int a,b,c;printf(请输入数据:n);scanf(%d %d,&a,&b);c=a+b;printf(c=%dn,c);键盘输入格式为:_程序运行结果为:_3实验指导书P64【上机题】,在VC+环境下建立以下C语言源程序,学习调试程序的方法。#include stdio.hmain()int n,s;n=s=0;while(s500)+n;s+=n;printf(1+2+.+%d=%dn,n-1,s-n);程序运行结果为:_4在VC+环境下建立以下C语言源程序,学习调试程序的方法。#include#includemain()int a,b,sum; scanf(“%d,%d”,&a,&b); sum=a+abs(b); printf(“a add b is %d”,sum);键盘输入格式为:_程序运行结果为:_实验2 数据描述院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩2.1 实验目的1认识C语言,熟悉C语言的语法结构。2掌握C语言中4种基本数据类型的特点、数据类型变量的定义及使用。3掌握不同数据类型运算时,数据类型的转换规则。4熟练掌握赋值语句。5掌握C语言中表达式语句以及不同运算符的运算规则和优先级。2.2 实验预习1各种数据类型变量的定义形式;熟悉下列标识符的含义。int、short (int)、long (int)、unsigned (int)、float、double、char、void2各种数据类型的取值范围。3各类运算符的优先级和结合规则。4常量与变量的区别和联系。2.3 实验任务1实验指导书P22【上机题2】。在提示/*blank*/下面填上合适的内容编写程序实现在屏幕上显示以下结果。#include stdio.hvoid main()/*blank*/_;/*blank*/_;/*blank*/_;2实验指导书P22【上机题3】。输入并运行以下程序,分析程序运行结果。#include stdio.hvoid main()int a,b,he,ca,ji,sh,yu;a=25;b=4;he=a+b;ca=a-b;ji=a*b;sh=a/b;yu=a%b;printf(%d+%d=%dn,a,b,he);printf(%d-%d=%dn,a,b,ca);printf(%d*%d=%dn,a,b,ji);printf(%d/%d=%dn,a,b,sh);printf(%d%d=%dn,a,b,yu);表2-1 实验结果记录表人工分析结果实验运行结果思考:如果要求最后一行的输出结果为:25%41,则输出语句应改为?答:3实验指导书P24【上机题8】。输入并运行以下程序。#include stdio.hvoid main()int a1,a2;float b,c;b=23.52,c=67.54;a1=(int)(b+c);a2=(int)b+(int)c;printf(%d,%dn,a1,a2);人工分析结果:_实验运行结果:_思考:变量a1,a2的值不同的原因是?答:4分析程序,并上机验证运行结果。#include void main()int a=10,x=5,y=6; a+=a*=6; x=y+; y=+x; a=x+y; printf(%d,%d,%dn,a,x,y);人工分析结果:_实验运行结果:_5实验指导书P25【上机题12】。输入并运行以下程序。#include stdio.hvoid main()int a=78,b=34;int c,d;c=(ab)?a:b);d=(ab)?a:b);的功能答:6预测结果并上机验证(1) main() int a,b; a=b=3; printf(“a=%d,b=%d”,a,b);(2)若将以上程序进行改写,编辑如下:main() int a,b; a=3; b=3.1; printf(“a=%d,b=%d”,a,b);题号人工分析结果实验运行结果(1)(2)由此知,若赋值号左右数据类型不一致时,c语言将 7现有程序如下,分析填空:人工分析结果实验运行结果1 main() 2 3 int a=1,b=2; 4 printf(“%d”,(a=a+b,b=b+a); 5 若将以上程序第4行进行改写,编辑如下: printf(“%d”,a=a+b,b=b+a);人工分析结果实验运行结果对比以上两程序,结果不同的原因在于 8若有以下程序段,分析c2的值: int c1=2,c2;c2=1.0/c1*c1;人工分析结果实验运行结果若将程序段改为:c2=1/c1*c1;人工分析结果实验运行结果分析c2所得结果,其中的关键在于 9现有程序如下:main() int a=7, b=10;a=a+b; b=a-b; a=a-b;printf(“%d,%dn”, a, b );程序运行的功能是: 注意:可修改a、b两数的值仔细观察。10. 现有程序如下,分析填空:人工分析结果实验运行结果main() int a=0; a+=(a=8);printf(%dn,a);11. 现有程序如下,分析填空:人工分析结果实验运行结果main() int a=2,b=5; int m=3,n; double c=2.1,d=4.5; n=a/m+b*c-d/m; printf(“%d”,n);12.现有程序如下,分析填空:人工分析结果实验运行结果main() int x=1,y=2; printf(“%d %dn”,+x,y+);13.思考题:改错题(以下程序有多处错误,上机调试。将正确的程序记录在下方。要求不能删减已有内容。)源程序正确的程序应改为:#include #define STA 30main()int a,b=3; A=3*PI*SIN(b); STA=3*STA; printf(“%dn”,2a); printf(“%d”,b);2.4 实验心得实验3 顺序结构程序设计院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩3.1 实验目的1熟悉printf函数及printf函数的各种格式控制符。2熟悉scanf函数及scanf函数的各种格式控制符,比较printf函数和scanf函数格式控制符的相同点和不同点。3掌握顺序结构程序设计方法及执行过程。4掌握一些简单的算法。5能设计简单的顺序结构程序。3.2 实验预习1熟悉下列函数:putchar、getchar、printf、scanf。2了解顺序结构程序的执行过程。3了解程序的跟踪调试和变量值的监视并能够熟练操作。4了解顺序结构程序的一般构成。3.3 实验任务1实验指导书P28【上机题4】。阅读程序,写出运行结果并上机调试。main() int a; float b; printf(“Enter a and b:”); scanf(“%d%f”,&a,&b); printf(“na=%d,b=%fn”,a,b);运行程序,若输入为“11 23”,则输出结果为_将输入语句改为“scanf(“%3d%5f”,&a,&b);”,运行程序,若输入”1 123.4”,则输出结果为_在上题的前提下,运行程序,若输入“123457”,则输出结果为_2实验指导书P28【上机题6】。调试程序并分析程序运行结果,每个空格用一个|_| 来表示。#include stdio.hvoid main()int x=123;float y=123.567;printf(%d,%5dn,x,x);printf(%f,%13f,%e,%15e,%g,%6gn,y,y,y,y,y,y);printf(%9.5f,%8.2f,%.0f,%-10.2fn,y,y,y,y);printf(%.5sn,abcdefgh);表3-1 实验结果记录表人工分析结果实验运行结果3输入一个华氏温度,要求输出摄氏温度,公式为:C=。要求输出结果保留到小数点后两位。已知程序段中有三处错误,由注释语句/*found*/提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。源程序错误原因正确语句#include main()float f,c;/*found*/scanf(%d,f);/*found*/c=5/9(f-32); /*found*/printf(f=%f,c=%fn,c,f); 实验运行结果为:_ 4实验指导书P30【上机题12】。在提示/*blank*/下面填写合适的内容完成程序设计。编写程序:从键盘输入两个实数a和x,按公式计算并输出y的值,。要求a和x从键盘输入。当a=6.4,x=3.4时,y=_。#include #include main()float a,x,y;/*blank*/ scanf(_,_,&a,&x); /*blank*/ y=_; printf(y=%fn,y);5在提示/*blank*/下面填写合适的内容完成程序设计。已知a=3.5,b=5.4,c=4.3,编程求以a,b,c为边长的三角形的面积Area=_。提示:,其中。#include /*blank*/_/*需要添加头文件*/main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);/*blank*/ _;/*blank*/ area=sqrt_;/*库函数sqrt的含义是开平方*/ printf(area=%fn,area);6.单步跟踪下面程序的执行,每执行一条语句就查看各变量的值。运行时输入一个三位的整数。单步跟踪程序时填写下表,同时分析程序的功能。#include”stdio.h”void main()int n,x1,x2,x3,y;printf(“please input number n”);scanf(“%3d”,&n);x1=n/100;x2=n/10%10;x3=n%10;y=x3*100+x2*10+x1;printf(“y=%3d”,y);nX1X2X3y程序的功能是: 7. # include void main( ) char ch;ch=getchar();putchar(ch); 运行时如果从键盘输入数据98,你预测的输出结果是 实际的输出结果为 原因在于 8.#include void main()int a,b,c;scanf(%d,%o,&a,&b);c=a*b;printf(%d,%on,c,c);运行时如果输入数据:12,12你预测的结果是 ,实际的输出结果是 。9.#include void main()int x,n1,n2,n3,y;scanf(%3d,&x);n1=x/100;n2=x/10%10;n3=x%10;y=n3*100+n2*10+n1;printf(%dn,y);上述程序在运行时如果从键盘输入数据8265,则x的值为_输出的结果为_ , 在变量n1、n2、n3中,_是x的百位数,_是x的十位数,_是x的个位数。10.编辑程序,输入学生语、数、英三门课程成绩(考虑数据类型,整型和实型),并输出其总分和平均分。3.4 实验心得实验4 选择结构程序设计院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩4.1 实验目的1掌握C语言的逻辑运算符和逻辑表达式,学会表示逻辑值的方法。2掌握正确使用关系运算符和关系表达式。3熟练掌握条件语句,学习选择结构程序设计的方法及应用。4熟悉多分支选择的switch语句。5进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程。4.2 实验预习1熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。2熟悉下列语句:if、if-else、switch、break。4.3 实验任务1输入并运行以下程序,分析程序运行结果。#include void main() int a,b; scanf(%d,&a); /*输入a*/ if(a%2!=0) /*如果a为奇数*/ b=a*a; printf(b=%dn,b); 表4-1 实验结果记录表输入数据人工分析结果实验运行结果34562阅读程序,上机调试并记录程序结果。源程序人工分析结果实验运行结果#include main( ) int x=0; if(x=0) printf(x=%dn,x); else printf(x=%dn,x+1); #include main( ) int x=0; if(x=0) printf(x=%dn,x); else printf(x=%dn,x+1); 思考:以上两题告诉了你什么: 3阅读程序,上机调试并记录程序结果。源程序人工分析结果实验运行结果main()int a=4,b=3,c=5,t=0; if(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; printf(%d %d %dn,a,b,c);main()int a=4,b=3,c=5,t=0; if(ab) t=a;a=b;b=t; if(abc); printf(%dn,d);5.若从键盘输入58,判断以下程序输出的结果。源程序人工分析结果实验运行结果main() int a; scanf(%d,&a); if(a50) printf(%d,a); if(a40) printf(%d ,a); if(a30) printf(%d ,a); 6. 阅读程序,上机调试并记录程序结果。源程序人工分析结果实验运行结果main() int x=1,a=0,b=0;switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(“a=%d,b=%dn ”,a,b);7. 阅读程序,上机调试并记录程序结果。源程序人工分析结果实验运行结果实验告诉我们main() int i=1,j=1,k=2; if(j+|k+)&i+); printf(%d,%d,%dn,i,j,k);8. 阅读程序,并回答问题main( ) int a,b,max,min; scanf(%d%d,&a,&b); if(ab) max=a; else max=b; printf(max=%dn,max);问题:a、此程序的功能是 b、请用条件表达式语句(?:)替换if语句,修改程序使之完成相同的功能,程序语句是?9.编写程序:(1)输入两个整数a和b,若a=b时,求其积c并显示;若a=90时,输出字符A;a=80时,输出字符B;a=70时,输出字符C;a=60时,输出字符D;a=90分时,等级为A;成绩80=x90分时,等级为B;成绩70=x80分时,等级为C;成绩60=x70分时,等级为D;x60分时,等级为E。main() _ x; printf(Enter a mark:); scanf(%d,&x); printf(x=%d:,x); switch(_) case 10: case 9: printf(An);break; case 8: printf(Bn);break; case 7: printf(Cn);break; case 6: printf(Dn);break; _: printf(En); 4.4 实验心得实验5 循环结构程序设计院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:班级学号实验室专业姓名计算机号所用软件实验成绩5.1 实验目的1熟练掌握while、do-while和for语句实现循环的方法。2掌握循环程序设计中一些常用算法(如穷举、迭代、递推等)。3掌握常用的无条件控制语句在循环中的控制作用。4理解循环嵌套及嵌套的执行过程。5.2 实验预习1熟悉语句:while、do-while、for。2熟悉三种语句之间的关系和区别。3熟悉语句:break、continue、goto。4循环结构常见的算法。5.3 实验任务1编写程序,输入一个正整数,计算该数据各位数字之和。#include main( )int n,r,s=0; printf(Please input the data:); /*填空位置(1),语句功能:从键盘输入任意的正整数n*/ if(_) /*填空位置(2),表达式功能:判断输入的数据n是否合法*/ while(n0) r=n%10; /*填空位置(3),语句功能是: */ s=s+r; n=n/10; /*填空位置(4),语句功能是: */ printf(sum=%dn,s); else printf(The data is wrong!n);表5-1 实验任务1结果记录表填空位置填空语句输入数据人工分析结果实验运行结果(1)123(2)0(3)-8(4)运行4次,分别输入:123、0、-8、32769,请分析结果,并上机调试程序记录运行结果。2输入并运行以下程序,并分析程序运行结果。#include stdio.hmain()int i;for(i=32;i256;i+)if(i%8=0) printf(n);printf(%4d%c,i,i);表5-2 实验任务2结果记录表实验运行结果3输入并运行以下程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论