




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言程序设计语言(C)课程是面向理工科的非计算机专业计算机基础教学的公共基础课程之一,本课程的任务是向学生介绍计算机程序设计的基本知识,使学生能够比较熟练地掌握C语言的语法规则及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路。与课程配套的上机实验,是为培养学生应用计算机解决和处理实际问题的思维方法与基本能力,并初步积累编程经验,自己解决一些比较简单的程序课题,为结合本专业课程进一步学习和应用计算机打下基础。要使实验达到应有的效果,在上机实验之前,必须知道本次实验的任务,根据实验任务,做好充分准备工作,只有这样才能做到目的明确,使实验达到应有的效果。上机前的准备工作包括以下几个方面: 1. 复习和掌握与本次实验有关的教学内容; 2. 根据实验的内容,对问题进行认真的分析,搞清楚要解决什么问题;3. 选用或设计适用的算法,编写程序代码。上机实验结束后要撰写实验报告,实验报告的主要内容应包括如下几个方面:1. 实验目的 明确实验目的,以保证达到课程所指定的基本要求。在写实验报告时,要进一步确认是否达到了预期的目的。 2. 实验内容 实验的目的是要通过解决一些具体问题来达到的。在实验报告中,实验内容是指本次实验中实际完成的内容。在每一个实验题目中,一般都提出一些具体要求,其中有些具体要求是为了达到实验目的而提出的,不仅有具体的实验题目,还应包括具体要求。3. 程序设计说明包括程序功能说明、程序算法描述、程序代码设计(含完整代码)、程序运行、测试、运行结果分析。上机实验编写程序代码时要养成良好的程序设计风格, 在上机输入源程序时要按照附录中“C语言编码规范”的要求来编写源代码文件。按大纲要求,本实验指导共有12个实验,每个实验需要两个学时,共需24个学时。2009-2-22 目录实验一 C语言运行环境1实验二 数据类型与表达式3实验三 数据输入与输出5实验四 选择结构程序设计7实验五 循环结构程序设计(一)8实验六 循环结构程序设计(二)9实验七 数组应用10实验八 数组与流程控制综合设计11实验九 函数定义与调用12实验十 指针与结构体14实验十一 文件读写15实验十二 综合练习17参考文献18附录19参考文献19. 22 .实验一 C语言运行环境一. 实验目的: 1. 了解C语言集成环境对计算机软硬件的要求;2. 初步掌握C语言集成环境的使用;3. 掌握建立、编辑、运行一个C程序的全过程;4. 通过运行简单的C程序,初步掌握如何使用C的有关运算符,以及包含这些运算符的表达式。二. 实验内容1. C语言集成环境的进入与退出;2. 新建一个C源程序及源程序的保存和打开;3. C程序的编译和连接获得可执行程序文件;4. 在集成环境中运行程序、查看结果;三. 实验步骤1.进入所用的集成环境。2.熟悉集成环境的界面和有关菜单的使用。 3. 在集成环境中选择新建C源程序。4. 输入和编辑下面的程序:#include void main()printf(This is a c program.n);5.将源程序按指定文件名存盘(默认的扩展名为.C)。6.退出集成环境。7. 进入集成环境,打开刚才保存的源程序文件。8. 对源程序进行编译和连接,观察屏幕上的提示。显示的信息如果出现“出错信息”,则对源程序中的错误进行修改直到显示的信息为 “成功”或“无错误”。9. 运行程序,然后观察结果。10. 选择新建C源程序,然后输入并运行下面的程序:#include void main ( ) int a,b,sum a=123;b=456; sum=a+b printf (sum is %dn, sum);11.观察以上程序编译后的出错信息,分析出错原因并改正。12. 输入、运行下面的程序, 并观察分析程序的运行结果#include void main ( ) int max(int x,int y);int a, b, c;scanf (%d,%d,&a,&b); c=max (a,b); printf (max=%d,c);int max(int x,int y)int z; if (xy) z=x; else z=y; return (z);13.退出集成环境,找到刚才保存源程序文件的文件夹,浏览其中文件,看有无刚才保存的后缀为C的源程序文件和exe的可执行文件。用“记事本”软件打开查看源程序。14.运行后缀为exe的可执行文件,观察结果。15. 输入、运行下面的程序, 并观察分析程序的运行结果#includevoid main()int a=65,b;char c1,c2,c3;c1 = A;c2 = B;c3= x41;b=c2;printf(%c,%c,%c,%cn,c1, c2, c3,a);printf(%d,%dn,a ,b);16. 退出集成环境,找到刚才保存源程序文件的文件夹,浏览其中文件,看有无刚才保存的后缀为C的源程序文件和exe的可执行文件。用“记事本”软件打开查看源程序。17. 运行后缀为exe的可执行文件,观察结果。四教材中的有关内容C程序设计(第三版)第1章,第3章。实验二 数据类型与表达式一. 实验目的: 1. 掌握了解C语言的基本数据类型;2. 正确定义和使用整型,实型、字符型变量;3. 初步掌握如何使用C的有关运算符;4. 初步掌握表达式的正确使用。二. 实验内容1. 用简单的程序和语句验证数据类型;2. 验证表达式的正确写法。三. 实验步骤1. 输入、运行下面的程序, 并观察分析程序的运行结果#includevoid main()int a,b,c;float x,y,z;char c1,c2;a=2;b=5;c=a*b+b/a;printf(c=%dn,c);a=3*(b%8);b=3*b%8;printf(%d,%dn,a,b);x=2.0;y=5.0;z=x*y+y/x;printf(z=%fn,z);c=x*y+y/x;printf(c=%dn,c);x=2/5;y=2.0/5;printf(%f,%fn,x,y);C=1215,7Z=12.500000C=120.000000,0.400002. 输入、运行下面的程序, 并观察分析程序的运行结果#includevoid main()int a=65 , b ;char c1,c2,c3;cl = A;c2 = B;c3= x41printf(%c,%c,%c,%cn,cl, c2, c3,a);a=c1;b=c2;printf(%d,%dna ,b);#includevoid main()int a , b ;char c1,c2,c3;a=65;c1 = A;c2 = B;c3= x41;printf(%c,%c,%c,%cn,c1, c2, c3,a);a=c1;b=c2;printf(%d,%dn,a ,b);A,B,A,A65,663. 参照以上程序建立新程序,定义合适的变量并初始化,计算下面表达式的值。(1)x + a % (int)(x+y)%2/4x=2.5 , a=7, y=4.7 正确结果为2.5#include#includevoid main()float x,y,z;int a;x=2.5;a=7;y=4.7;z=x+a%3*(int)(x+y)%2/4;printf(%2.1fn,z);(2)(float)(a+b)/2+(int)x%(int)ya=2, b=3, x=3.5,y=2.5;正确结果为 3.5#include#includevoid main()float x,y,z;int a,b;x=3.5;y=2.5;a=2;b=3;z=(float)(a+b)/2+(int)x%(int)y;printf(%2.1fn,z);4. 输入、运行下面的程序, 并观察分析程序的运行结果#include void main ( ) int a,b,sum; a=1;b=6; sum=a+b; printf ( %d %d %dn, a,b,sum); a+=a+; sum= a+ (-b)-; printf ( %d %d %dn, a,b,sum);2 6 75 4 10四教材中的有关内容C程序设计第3章。实验三 数据输入与输出一. 实验目的1. 掌握C语言中字符输入(getchar)、输出(putchar)函数的使用;2. 掌握C语言中格式输入(scanf)和格式输出(printf)函数的使用;3. 掌握格式控制符在输入输出时的使用;4. 初步掌握一个顺序结构的C应用程序的设计。二. 实验内容1. 字符输入(getchar)、输出(putchar)函数的使用;2. 各种类型数据的输入与输出;3. 设计顺序结构的C应用程序。三实验步骤1. 输入并运行下面的程序:#includevoid main()char c1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);观察以下不同输入时的输出,分析不同输出的原因。( 表示回车)(1)123(2)12(3)1 22.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。 #includevoid main()char c1,c2,c3;c1=getchar();putchar(c1);c2=getchar();putchar(c2);c3=getchar();putchar(c3);3. 输入并运行下面的程序,分析格式控制对输出的影响。#includevoid main()int a=-1,b=98;double x=152.6752445;printf(a=%d,%ld,%u,%o,%xn,a,a,a,a,a);printf(b=%d,%5d,%-5d,%c,%5c,%-5cn,b,b,b,b,b,b);printf(x=%f,%en,x,x);printf(x=%.2f,%15.2f,%-15.2f,%15.9f,%2fn,x,x,x,x,x);4.输入并运行下面的程序:#includevoid main()int a,b;double x;float y;scanf(%d,%d,&a,&b);printf(a=%d,b=%dn,a,b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b); 观察以下不同输入时的输出,分析间隔符号对输入的影响。( 表示回车)(1)1,2 1,2(2)1 2 1 2(3)1 1 25.有需要输入的数据如下:61,62,3.88,-7567.9087621,a,b, 50000, 一60000编写程序写出能正确输入这些数据,用合适的变量保存,并用输出函数输出变量中的数据,验证输入是否正确。6. 编写程序,输入圆的半径r 计算并输出圆的周长和面积。四教材中的有关内容C程序设计(第三版)第4章。实验四 选择结构程序设计一. 实验目的1. 掌握正确使用逻辑运算符和逻辑表达式表示逻辑判断; 2. 熟练掌握用if语句编写选择结构的程序;3. 掌握switch语句的正确使用;4. 初步了解调试程序的一般方法。二. 实验内容1. if语句、switch语句的正确使用;2. 选择结构程序的编写与调试。三. 实验步骤1.输入并运行以下程序,分析输入分别为1,2,3,4,5,6,7,8,9,10的输出。#includevoid main()int a;scanf(%d,&a);switch (a)case 1:case 2: printf(firstn);break;case 3:case 4:case 5: printf(secondn);break;case 8: printf(thirdn );case 10: printf(fourthn);default: printf(fifthn);2. 有一函数: x (x1) y 2x-1 (1x10) 3x-11 (x10) 编写程序用scanf函数输入x的值,输出y的值。试运行并调试此程序,准备三个测试数据 分别为 1、110、10这3种情况,检查结果是否正确。3. 编写一个程序输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E,switch语句来实现选择结构。4.修改上面这个程序,对输入的成绩做出判断如果不在0-100范围内输出出错信息。5. 调试这个程序,输入合适的测试数据,检查程序在每一种数据输入时的结果(等级A、B、C、D、E和错误的数据)。6. 上海出租车起步价11元(3公里),超3公里后每公里计价2.1元,超10公里每公里计价3.1元,以下程序是根据输入的公里数,输出出租车费,但有错误,根据编译时的提示修改语法错误,然后检查程序控制结构和计算公式,修改逻辑错误。#includevoid main()float k,m;printf(enter a number:)scanf(%f,&k);if (k=0)printf(data error!n);if (k3)m=11if (k n 则 m = m n 否则 n = n m;4) 返回到2) (循环)。用合适的循环控制语句实现这个算法。4.修改上面的程序,使它能够输出 m , n 在运算过程中的每次变化。5.用集成环境提供的单步执行功能,跟踪查看每个语句执行后变量的变化情况。6.修改教材上的例6.9使程序能够输入两个正整数(大小顺序是任意的),输出这两个数间的所有素数,并改为每行输出5个数。四教材中的有关内容C程序设计(第三版)第6章。实验六 循环结构程序设计(二)一. 实验目的1. 掌握单重循环和多重循环结构的使用方法;2. 初步掌握在程序设计中用循环的方法实现一些常用算法;3. 进一步学习程序调试的方法。二. 实验内容1. 用while语句、do-while语句和for语句编写循环结构的程序。2. 调试程序使程序能正确运行。三. 实验步骤1. 输入N,计算公式 的值。N=5sum=(1+2)+(2+3)+(3+4)+(4+5)+(5+6)=351. 输入一个正整数n(1n200),输出所有的整数对,其相乘的积等于n。N=201*20=202*10=204*5=20N=300ErrorN=0Error2. 编程打印杨辉数字金字塔。N=3.1.121.12321N=5.1.121.12321.1234321.123454321四教材中的有关内容C程序设计(第三版)第6章。实验七 数组应用一. 实验目的1. 掌握数组的输入输出;2. 掌握字符串的输入输出和一般处理方法;3. 初步掌握利用数组建立常用的数据结构及实现有关的算法。二. 实验内容1. 一维数组的输入输出;2. 二维数组的输入输出;3. 字符串的输入输出;4. 字符串的处理;5. 用一维数组构建顺序表及排序。三. 实验步骤1.编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。2.修改上面的程序使数据与输入的顺序相反的顺序输出。3.编写程序输入n行m列的整数矩阵到二维数组(先输入数据的行数n和列数m,再按行输入矩阵中的数据),然后以矩阵的格式输出数据。例如要使4*3的矩阵输出的结果如以下格式:1232347892341194. 编写程序输入一个字符串,删除字符串中的所有数字字符(判断是否数字字符可使用库函数isdigit,详见教材附录E)后输出此字符串。5. 编写程序输入一个字符串找出字符串中的所有数字字符,将它们组成另一个字符串后输出。6.修改上面的程序使输出的数字字符按升序排列后输出。(在调试数组应用的程序时,要输入比较多的数据,可以先在程序中对数组元素用赋初值的方法赋值)四教材中的有关内容C程序设计(第三版)第7章。实验八 数组与流程控制综合设计一. 实验目的1. 提高综合应用流程控制语句(if,switch,while, do-while,for)的能力;2. 提高对复杂流程结构的程序的编写能力和调试能力;3. 掌握利用数组的组织存储数据以及一些实用的算法。二. 实验内容编写和调试一个具有能对用一维数组建立的顺序表进行各种操作的应用程序。三. 实验步骤1.写程序显示如下菜单1. insert (插入一个数据)2. delete (删除一个数据)3. sort (排序)4. print (输出表中所数据)0. exit (退出程序)2. 用scanf函数输入菜单选择的数字(0-4)对其他输入要提示错误信息,用switch语句控制菜单选择,流程控制结构如图6-1所示:(此时switch语句中可以不写代码,先调试流程控制部分)图6-1 1 2 3 4 0 其他显示菜单等待输入删除插入出错处理排序退出输出结束开始退出?N Y 开始3.在switch的每个选择分支中添加适当的代码,使程序能够完成要求的操作此时可一次加一个模块这样便于调试。4.插入和删除都要指定位置,所以在建立一个一维数组保存顺序表的数据以外,还要用一个变量来记录当前表中数据的个数。四教材中的有关内容C程序设计(第三版)第5,6,7章。实验九 函数定义和调用一. 实验目的1. 掌握自定义函数的编写;2. 掌握在程序中正确调用函数(包括自定义函数和库函数)的方法;3. 掌握“宏定义”用法;4. 了解调用库函数时的使用“文件包含”的作用。二. 实验内容1. 函数的定义;2. 函数的调用;3. 编译预处理(宏定义和文件包含)。三. 实验步骤1. 输入并运行下面的程序,查看编译时的出错信息,分析出错的原因,然后修改这个程序使其能够正常运行main()flo(9.9);float flo(float m)printf(%f,m);retutn m;#includemain()float flo(float m);flo(9.9);float flo(float m)printf(%f,m);return m;2.写一个判别素数的函数,函数参数为一个整数,返回值为0(整数不是素数)或1(整数是素数)。3. 修改教材上的例6.9输出两个数间的所有素数,调用前面写的自定义函数来判别素数。4.写四个函数分别用于计算圆周长、圆面积、圆柱表面积,圆柱体积。5.参照实验六写一个主函数能够显示菜单,调用前面写的四个函数来计算圆周长、圆面积、圆柱表面积,圆柱体积,圆周率使用宏定义。6.写一个函数判断一串字符是否16进制数(即字符串中的字符都是数字或前六个英文字母,可以使用库函数isxdigit),并写一个主函数调试运行。四教材中的有关内容C程序设计(第三版)第8,9章。实验十 指针与结构体一. 实验目的1. 通过实验掌握指针的定义和使用指针变量;2. 掌握使用指针对数组和字符串进行操作;3. 掌握结构体类型变量的定义和使用;4. 掌握结构体类型指针的使用。二. 实验内容1. 指针变量的定义和使用;2. 用指针操作数组;3. 用指针操作字符串;4. 结构体变量的定义和使用;5. 结构体类型数组和结构体类型指针的使用。三. 实验步骤1. 输入运行下面这个程序,观察并分析结果:#include stdio.hvoid main() int a=2,3,4,5,6;int *p1;p1=a;printf(%dn,p1+2);printf(%dn,*(p1+2);p1=a+2;printf(%dn,p1+2);printf(%dn,*(p1+2);char *p2=computern;printf(p2+2);printf(%s,p2+2);2. 定义一个可以保存10个整型数的一维数组,用数组初始化的方法将10个数据(3,7,9,8,5,4,3,1,0,2)赋值到数组,用指针操作数组依次输出这十个数,再以逆序输出这十个数。3. 写一个能对整型一维数组排序的函数。4. 写一个主函数输入若干个整数到一维数组,调用上面的函数对其排序,然后输出。5. 写一个函数判断一个字符串是否一个11位的手机号码。6. 写一个主函数调用上面这个函数。 7. 定义一个保存学生信息的结构体,每个学生的数据包括学号、姓名、3门课的成绩,学号为6位数字,成绩以百分制计分。8. 写一个返回值为结构体类型的函数,在函数中输入一个学生的信息 ,作为返回值。输入时要检查成绩数据是否合法(0 100)。9. 写一个主函数,输入5个学生的数据到一个结构体数组,计算每个学生3门课的平均成绩,把学生成绩按如下的表格形式输出: 学号 姓名 成绩1 成绩2 成绩3 平均成绩 .10. 修改上面的程序输出部分写成一个输出函数,有三个函数参数,第一个是结构体指针,第二个输出的学生人数,第三个参数指定排序依据(0:不改变顺序, 1:按平均分降序排列,2:按学号升序排列)。四教材中的有关内容C程序设计(第三版)第10、11章。实验十一 文件读写 一. 实验目的1. 了解文件类型指针;2. 掌握文件的打开、关闭;3. 学会使用对文件进行读、写等操作的函数。二. 实验内容1. 文件的打开和关闭;2. 文件的读、写操作。三. 实验步骤1.编写一个程序能够输入一个文本文件的文件名(字符串),在程序中打开此文件,读取文件的内容输出到显示器。2.改写实验九中的程序将学生信息输出到文本文件。3.用记事本软件打开刚才保存学生信息的文本文件,查看数据输出到文件是否正确。4. 编写一个程序能够输入一个文件名(字符串)和拆分后文件的大小(字节数),在程序中以二进制“读”方式打开此文件,按拆分文件字节数的要求,把文件里的数据输出到若干小文件。四. 教材中的有关内容C程序设计(第三版)第12章。实验十二 综合练习 一. 实验目的1. 掌握基本的编程方法和技巧;2. 掌握和运用所学的算法;二. 实验内容1. 编写一个具有实用功能的小程序2. 需要应用到数组、函数、字符串、文件、输入/输出等相关知识。三.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入职课件模板
- 夯实基础管理之道
- 光伏培训课件
- 你身边的5个人课件
- 湖北小池滨江高级中学2025-2026学年高三物理第一学期期末统考模拟试题
- 中小学生航空航天科普知识竞赛试题库及答案
- 2025中央一号文件应知应会试题库和答案
- 产程全程观察与规范化护理指南
- 企业生产安全培训会议课件
- 企业春节前安全教育培训课件
- 2025至2030中国环境监测行业市场发展现状及投资前景与策略报告
- 2025年广西继续教育公需科目考试题和答案
- 阀门采购管理办法
- 2024-2025年第三方海外仓行业分析与展望报告-亿邦动力
- 企业降本增效课件
- 儿童生长曲线课件
- 《Sketch Up 软件运用》课件(共九章)
- 自来水工程施工课件
- 发酵饲料培训课件
- 电信营业员的理论考试题及答案
- 2025年河北大学版(2024)小学信息科技三年级(全一册)教学设计(附目录 P179)
评论
0/150
提交评论