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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

NYISTC实验指导书.docx

1、NYISTC实验指导书南阳理工学院C上机实验指导书(2011版)软件学院软件工程教研室2011.10目 录实验1 C程序的运行环境 1实验2:数据类型、运算符与表达式 2实验3:顺序程序设计 4实验4 选择结构程序设计 5实验5 循环结构程序设计(一) 6实验6 循环结构程序设计(二) 7实验7 数组(一) 9实验8 数组(二) 10实验9 函数(一) 11实验10 函数(二) 12实验11 指针(一) 13实验12 指针(二) 14实验13 结构体和共用体(一) 15实验14 结构体和共用体(二) 16实验15 文件操作 18实验16 综合实验报告 19实验1 C程序的运行环境一、实验目的1

2、熟悉开发环境,掌握程序设计的基本步骤;2编制简单C程序并运行,熟悉C的编辑、编译、连接和运行过程3熟悉C的基本元素、标识符等,掌握C程序的基本结构二、实验内容及步骤1. 检查所用的计算机系统是否已安装了C编译系统并确定它所在的子目录。2进入所用的C编译集成环境。3熟悉集成环境的界面和有关菜单的使用方法。4输入并运行一个简单的、正确的程序。 输入下面的程序#include int main() printf(“This is a c program.n”);return 0;仔细观察屏幕上的已输入的程序,检查有无错误,对程序进行编译,连接,运行,查看其结果。5输入并编辑一个C程序。#includ

3、e int main() int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %dn”,sum);retrun 0;6.编写程序,实现求整数10、20和35的平均值。三、实验要求1实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。2编写的程序必须保存在E:用户目录中。注:用户目录可以用学号或姓名拼音简写。实验2:数据类型、运算符与表达式一、实验目的1掌握C语言算术、赋值、自增、自减运算符及相应表达式2掌握不同类型数据之间的赋值规律3了解强制数据类型转换以及运算符的优先级、结合性4学会根据表达式,编写相应程序,验证表达式结果的方法二、实验内

4、容及步骤1.已知:a=2,b=3,x=3.9,y=2.3,计算算术表达式(float)(a+b)/2+(int)x%(int )y的值。试编程上机验证。2已知:a=7,x=2.5,y=4.7,计算算术表达式x+a%3*(int)(x+y)%2/4的值。试编程上机验证。3已知:a=12,n=5,计算下面表达式运算后a的值。试编程上机验证。(1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2) (6)a+=a-=a*=a4分析下面程序结果,并上机验证。main() int i,j,m,n; i=8;j=10; m=+i; n=j+; printf(“i=%

5、d,j=%d,m=%d,n=%dn”,i,j,m,n); 5输入如下程序,运行该程序,观察运行结果,熟悉C语言中整型数据和字符数据互用的特点。main() char c1,c2; int n1,n2; c1=97; c2=A; n1=c1+1; n2=c2+1; printf(“%c %c %c %c n”,c1,c2,n1,n2);printf(“%d %d %d %d n”,c1,c2,n1,n2);6将k分别设置为127,-128,128,-129,分析下面程序结果,并上机验证。main() float a=3.7,b; int i,j=5; int k=127;/*用127,-128,

6、128,-129测试*/ unsigned U; long L; char C; i=a; printf(“%dn”,i); /*浮点赋值给整型*/ b=j; printf(“%fn”,b); /*整型赋值给浮点*/ U=k; printf(“%d,%un”,U,U); /*相同长度类型之间赋值*/ L=k; printf(“%ldn”,L); /*整型赋值给长整型,短的类型赋值给长的类型*/ C=k; printf(“%dn”,C); /*整型赋值给字符型,长的类型赋值给短的类型*/你分析的表达式结果:结果行k=127k=128k=-128k=-12912345三、实验要求11-3题要求实验

7、前手工计算并编制好上机测试用源程序,以便上机实验。24、5题要求实验前分析程序结果,以便上机时对比结果。3实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。4编写的程序必须保存在E:用户目录中。注:用户目录可以用学号或姓名拼音简写。实验3:顺序程序设计一、实验目的1掌握C语言中使用最多的一种语句-赋值语句的使用方法2掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符3进一步掌握编写程序和调试程序的方法二、实验内容及步骤1 输入x,y,编写程序求z=x+|y|的值。(1)程序中用scanf函数输入x和y的值,请分析以下两个语句scanf(“%f%f”,x,y);scanf(“%f

8、%f”,&x,&y);哪一个是正确的,分别运行之,分析程序运行结果。如果scanf函数改为scanf(“%f,%f”,&x,&y);应该怎样输入数据。2输入一个双精度数,对小数点后第2位进行四舍五入,即保留一位小数,输出四舍五入的结果。提示:注意scanf函数和printf函数具有不同的格式字符; 注意数的真正精度与实际显示宽度是不同的。 分清数的精度与显示宽度。 四舍五入算法:x=(x+0.05)*10; x=(int )x; x=x/10。3交换两数,变量a、b中各存有一个整数,交换两数后输出。提示:设a=10,b=20,若要交换两数,则需要借一中间变量,首先将a中的数值存入变量t中进行保

9、存,然后将b中的数值存入a中,再将t中的数值存入b中。(或用其他的方法)三、实验要求1实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。2讨论上机各个环节所出现的错误及解决的办法。 实验4 选择结构程序设计一、实验目的1 了解C语言表示逻辑量的方法(以0表示“假”,以非0代表“真”)2 学会正确使用逻辑运算符和逻辑表达式3 熟悉选择结构程序设计4 熟练使用if语句进行程序设计5 使用switch语句实现多分枝选择结构二、实验内容及步骤1用scanf函数输入一个年份year,计算这一年2月份的天数days,然后用输出函数printf输出days。(1)有变量定义为整型。(2)输入前要加提

10、示语句。(3)输出结果前要有必要的文字说明。说明:(1)闰年的条件是:year能被4整除但不能被100整除,或者year能被400整除。(2)如果year是闰年,则2月份的天数为29天,不是闰年则为28天。2编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。奖金税率a500 0.00500a1000 0.051000a2000 0.082000a5000 0.105000a 0.15(1) 用if语句编程,自变量和函数值均为双精度类型(2) 用scanf函数输入奖金数a,输出结果采用以下形式:a=具体值 rate=税率值 tax=应缴税款 profit=实得奖金数(3) 分别输入a

11、=280,512,1000,4250,5100,运行该程序(4) 用if-else if语句和switch语句编程,其它同上。3百分制转等级制输入一个成绩score,要求输出等级A、B、C、D、E,90分以上为A,80-90为B,60-69为D,其它为E。循环从键盘接收一班学生的某门课的成绩score,并根据成绩所在分数区间给该生评定等级level并输出,直到输入999时结束,求出该班该门课的平均成绩。实验5 循环结构程序设计(一)一、实验目的1熟悉掌握while语句、do-while语句和for语句实现循环的方法2掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等)3掌握并会分

12、析循环结构程序二、实验内容及步骤1分别用while语句、do-while语句编写程序,计算e1+1/1!+1/2!+.+1/n!(1) 用单重循环编写程序(2) 使误差小于给定的,设=10-5(3) 除了输出e以外,同时还要输出总的项数n2奇偶对调,对N以内的整数进行奇偶对调,并输出结果 3 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1,2,3,且6=1+2+3,因此6是完数。编写程序找出1000之内的所有完数及这些完数的和。 (1) 要求使用for循环(2) 输出形式为:完数1+完数2.=和值三、实验要求1实验中仔细观察、记录、比较实验结果,如

13、果不一致应找出原因。2讨论上机各个环节所出现的错误及解决的办法。3分析三种循环使用的区别。实验6 循环结构程序设计(二)一、实验目的1熟练掌握循环结构的嵌套2熟练掌握选择与循环结构的嵌套3掌握break和continue语句的使用二、实验内容及步骤1下面程序统计字符数组c中0、1、2及其他字符出现的次数,分别存放在变量i0、i1、i2中,统计结束后输出它们的值。要求:分析出现结果的原因,如何修改使结果正确。 char c = 0123456789001112222; int i0 = 0, i1 = 0, i2 = 0, i3 = 0; int i = 0; for(; i 19; i+) s

14、witch(ci) case 0: i0+; case 1: i1+; case 2: i2+; default: i3+; printf(i0 = %dn, i0); printf(i1 = %dn, i1); printf(i2 = %dn, i2); printf(i3 = %dn, i3);2 判断用户输入的正整数n是否为素数,直到用户输入1为止。(1)用while循环读入正整数n(2)对于每个正整数n,采用for循环判断是否为素数。(3)打印输出判断结果3 百钱百鸡,中国古代数学家张丘建在他的算经中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买

15、百鸡,问翁、母、雏各几何?提示: 设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在020之间;同理,y的取值范围在033之间,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此问题可归结为求这个不定方程的整数解。实验7 数组(一)一、实验目的1掌握一维数组和二维数组的定义、赋值和输入输出的方法2掌握字符数组和字符串函数的使用3掌握与数组相关的算法(排序算法)二、实验内容及步骤1 编写程序,对n个数从小到大排序。任选一种排序方法进行编程。2编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组sc

16、ore的相应元素中,直到输入的成绩为999时结束。(1)对成绩按从高到低排序,并按排序后的顺序输出所有学生的成绩,(2)再输入一个学生的成绩,并插入排序后的成绩表中并保持有序,最后再输出所有学生的成绩(3)再输入一个成绩,并从数组中删除与该数相同的所有同学成绩,最后输出最终的成绩表实验8 数组(二)一、实验目的1掌握一维数组和二维数组的定义、赋值和输入输出的方法2掌握字符数组和字符串函数的使用3掌握与数组相关的算法(排序算法)二、实验内容及步骤1 找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相应的信息。 (1) 画出此题的流程图。(2)

17、 编写程序求矩阵中所有的鞍点并上机调试。(3) 输入的数据和输出的结果要详细记录。2统计一个班的学生成绩。要求程序具有如下功能: (1) 每个学生的学号和四门功课的成绩从键盘读入。 (2) 计算每个学生的总分和平均分。 (3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。提示: 调试程序时,可先输入少量学生的成绩作为实验数据。如可输入3名学生4门课成绩:学号 成绩9701 67,72,65,809702 75,82,94,959703 70,74,80,76实验9 函数(一)一、实验目的1 理解和掌握多模块的

18、程序设计与调试的方法2 掌握函数的定义和声明函数的方法3 熟悉调用函数时实参和形参的对应关系,以及“值传递”的方式二、实验内容及步骤1. 用函数实现两个整数交换,设计一个函数swap,实现两个整数的交换。要求:在主函数中定义两个整型变量并初始化,然后调用swap函数对两变量的值进行真正交换,最后输出交换后的两变量的值(分析用值传递和地址传递两种方式的结果,体会引用的作用)。2在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成二、八、十六进制数。2. 定义一个函数,判断三个整形边长能否构成三角形,如果是三角形,则判断它是否是直角三角形。1) 声明函数judge;2) 实现函数judge

19、,根据输入的三个边长判断是否可以构成一个三角形;3) 在main中调用judge;4) 在main中根据judge的返回值判断是否是三角形,如果构成三角形则判断是否为直角三角形,并给出结论。实验10 函数(二)一、实验目的1进一步理解和掌握多模块的程序设计与调试的方法2熟悉函数的嵌套调用和递归调用的方法 3练习并掌握数组作为函数参数的用法二、实验内容及步骤1 编写程序,对n个数从小到大排序。(1) 任选一种排序方法进行编程。(2) 用sort()函数进行排序。(3) 在主函数中输入数据,调用sort()函数,分别打印出排序前和排序后的结果。2两数组对应元素的交换,设计一函数swap,实现对应元

20、素的交换。要求:在主函数中定义两个长度相同的整型数组A和B并初始化,然后调用swap函数把两数组的对应元素值进行交换,最后输出交换后的这两个数组的内容。3用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。实验11 指针(一)一、实验目的1 理解指针和地址的概念,了解指针变量类型的含义2 掌握指针变量的初始化、赋值、运算和移动操作,以及通过指针引用变量的方法3 掌握取变量的地址、数组元素的地址以及字符串地址的方法4 理解数组名与地址值的关第。掌握通过指针或地址引用数组元素的方法5 能正确使用字符串的指针和指向字符串的指针变量二、实验内容及步骤1 编写程序:定义一个变量,一个指针,

21、建立该变量的引用。对变量进行初始化,并将指针指向该变量,分别通过指针和引用改变该变量的值,并输出结果进行比较分析。2 编写程序:任意输入10个整数放于数组中,利用指针访问数组,求出该数组中的最大数max以及最小数min。 3 编写程序:定义字符串,删掉字符串中的数字字符。实验12 指针(二)一、实验目的1 进一步掌握指针的应用2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符串的指针变量4 理解函数指针二、实验内容及步骤1 写一函数,求一个字符串的长度。(1) 本部分要求全部用指针完成;(2) 在main函数中输入字符串,并输出其长度;(3) 本题不能使用strl

22、en()函数;方法说明:在主函数中定义一个指向字符串的指针变量pstr,并将输入的字符串的首地址赋值给pstr,然后调用求字符串长度的函数strlenth(char *p),得到字符串的长度。在函数strlenth(char *p)中,判断*p是否为0,如果不为0,则进行len+的操作,直到遇到0为止。然后返回len值。2 编写一个函数,将数组中n个数按反序存放。(1) 在主函数中输入10个数,并输出排好序的数。(2) 编写函数invert()将10个数按反序存放。3 设一个函数,调用它时,每次实现不同的功能:(1)求两个数之和;(2)求两个数之差;(3)求两个数之积。实验步骤与要求:(1)在

23、主函数中输入2个数a,b,并输出a,b的和、差和乘积。(2)分别编写函数add()、sub()、mul()计算两个数的和、差、积。(3) 编写函数process(),分别调用函数add()、sub()、mul()。实验13 结构体和共用体(一)一、实验目的1. 掌握结构体类型和结构体变量的定义2. 掌握结构类型变量的定义和使用3. 掌握结构体数组的定义和初始化4. 结构体变量和数组的应用二、实验内容及步骤1下面程序是定义一个结构体,并为其定义结构体变量,对其值输入、输出。 #include struct worker int num; char sex; float salary; work1

24、=100,m,1034.5;main() char m,n,t;struct worker work2,work3;work2=work1;work3.num=300;m=getchar();work3.sex=m;work3.salary=1256.4;printf(“%f,%d,%sn”,work1,salary,work2,num,work3.sex);该程序的运行结果是:2有五个学生,每个学生的数据包括学号,姓名,三门课的成绩,从键盘输入五个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。要求:用一个函数输入五个学生的数据;用

25、一个函数求总平均分;用函数找出最高分学生数据,总平均分和最高分的学生的数据都在主函数中输出。 。实验14 结构体和共用体(二)一、实验目的1. 掌握指向结构体类型的指针2. 掌握共用体的概念和使用3. 熟练掌握链表的简单操作二、实验内容及步骤1.运行下面程序,写出结果 #include sruct exam long num;char name10;char sex;float score;main() struct exam stud1,*p=stud1;char ch;stud1.num=200101;strcpy(stud1.name,”wang”);ch=getchar();stud1

26、.sex=ch;(*p).score=543;printf(“%ld,%c,%f,%s”,p-num,p-sex,p-score,p-name);2.运行下面程序,写出结果。#include union list long w; float x;char y;main() union list data;data.w=1234;scanf(“%f”,&data.x);data.y=M;printf(“%ldt%ft%cn”,data.w,data.x,data.y);将该程序中的共用体和结构体对比起来理解。3定义结点如下形式:struct menuchar name;int no;struct

27、 menu *next;进行如下操作:(1) 建立一个长度为10的,如上面形式的链表;(2)在建立的链表中,插入一个新结点(位置自定); 内容如下: name=cc1j no=2211 next=选定的结点(3)删除第三个结点;实验15 文件操作一、实验目的1掌握文件建立的方法。2. 掌握包含文件操作的程序设计和调试方法。二、实验内容及步骤1从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。2建立一个磁盘文件“emploee”,内存放职工的数据。每个职工的数据包括:职工姓名、职工号、性别、年龄、住址、工资、文化程度。要

28、求将职工号、职工名、工资的信息单独抽出来另建一个职工工资文件。 (1)调试程序,输入数据并运行程序。(2)用type命令显示新建立的文件内容。 三、问题讨论1缓冲文件系统和非缓冲文件系统的区别?2文件打开和关闭的含义?为什么要打开和关闭文件实验16 综合实验报告一、实验目的能综合运用本课程所学内容进行结构化程序设计 二、 实验内容及步骤一个简单的学生通讯录(包含学号、姓名、电话)1 运用数据类型(基本、指针、构造)完成程序的数据类型部分的设计;2 运用基本结构语句(顺序、选择、循环)完成程序的结构部分的设计;3 运用文件管理方法把数据存储到磁盘文件中。要求:学生数据包括:学号、姓名、电话号码程序包括的函数有:主控函数、数据输入函数、数据输出函数、插入数据函数和删除数据函数。

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

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