1、c语言实验实验报告样例南京信息工程大学C语言程序设计 实验(实习)报告 实验(实习)名称 指针的应用 实验(实习)日期 得分 指导老师 系 专业 班级 姓名 学号 一.实验目的: 1.掌握C程序设计的基本编程方法和步骤;2.掌握C语言,数组,函数,指针的应用方法;3.提高编制综合应用程序的能力。二.实验内容: 编制子函数并利用指针,将主函数一维数组中最小的数与第1个数交换, 最大的数与第9个数交换,且将9个数的平均值放在数组中间。 编制一个主函数, 输入9个数到一维数组a中,调用子函数实现其交换功能。三.实验准备: 1. 学习选择结构,循环,数组,函数,指针等章节的有关内容,弄清楚以下问题:1
2、).如何应用选择结构和循环语句挑选一个数组中特定的数据;2).编制子函数的方法和步骤;3).如何将指针应用到上述具体问题中。2.根据题目要求,确定算法思路以及相应的数据结构。四.实验步骤:1 画出子函数算法流程图: 2 编制源程序:(可附在下一页上) 3运行 1)输入: 2)输出:五. 分析实验中遇到的问题及其解决的办法六实验体会实验1 程序的运行环境和运行程序的方法1 实验目的(1)了解所用的计算机系统的基本操作方法,学会独立适用该系统。(2) 了解在该系统上如何编辑、编译、连接和运行一个程序。(3) 通过运行简单的程序,初步了解源程序的特点。2 实验内容和步骤(1) 检查所用的计算机系统是
3、否已安装了C编程系统并确定它所在的子目录。(2) 进入所有的集成环境。(3) 熟悉集成环境的界面和有关菜单的使用方法。(4) 输入并运行一个简单的、正确的程序。输入下面的程序(教材第1章例1.1):#includevoid main() printf(“This is c program.n”);1 观察屏幕上显示的编译信息,如果出现“出错信息”,则应找出原因并改正之,再进行编译,如果无错,则进行连接。2 如果编译连接无错误,使程序运行,观察分析运行结果。(5) 输入并编译一个有错误C程序。1 输入以下程序(教材第1章中例1.2,故意打或打错几个字符)。#includevoid main()
4、int a,b,sum; a=123;b=456; sum=a+b; print(“sum is %dn”,sum); 进行编译,仔细分析编译信息窗口,可能显示有多个错误,逐一修改,直到不出现错误。 使程序运行,分析允许结果。(6)输入并运行一个需要在运行时输入数据的程序。输入下面的程序:#includevoid main() int max(int x,int y); int a,b,c; printf(“intput a&b:”); c=max(a,b); printf(“max=%dn”,c);itn max(int x,int y) int z; if(x.y) z=x; else z
5、=y; return (z); 编译并运行,在运行时从键盘输入整数2和5 ,然后按“回车”键,观察运行结果。 将程序中的第3行改为int a;b;c;再运行编译,观察其结果。 将子程序的第3,4两行合并为一行,即if(xy) z=x;else z=y;进行编译和运行,分析结果。 (7) 运行一个自己编写的程序题目是教材第1章的习题1.6,即:输入a、b、c三个值,输入其中最大值。 输入自己编写的源程序。 检查程序有无错误(包括语法错误和逻辑错误),有则改之。 编译和连接,仔细分析编译信息,如有错误应找出原因并改正。 运行程序,输入数据,分析结果。 自己修改程序(例如,故意改成错的),分析其编译
6、和运行情况。 将调试好的程序保存在自己的用户目录中,文件名自定。 用FileNew将编辑窗口清空,再选FileLoad将该文件读入,检查编辑窗口中的内容是否是刚才保存的程序。 关闭TurboC,用DOS命令dir检查用户目录中的文件名,有无后缀为.c、.obj和.exe的文件。3 预习内容第1章;实验2 数据类型、运算符和表达式1 实验目的(1) 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。(2) 掌握不同的类型数据之间赋值的规律。(3) 学会使用C的有关算术运算符,以及包含这些运算符的表达试,特别是自加()和自减()运算符的使用。(4) 进一步熟悉C程
7、序的编辑、编译、连接和运行的过程。2 实验内容和步骤(1) 输入并运行下面的程序Main()char c1,c2; c1=a; c2=b; printf(“%c %cn”,c1,c2);1 运行此程序。在此基础上增加一个语句:Printf(“%d %dn”,c1,c2);再运行,并分析结果。 将第2行改为:Int c1,c2;再使之运行,并观察结果。 再将第3、4行改为:c1=a; /*不用单撇号*/c2=b;再使之运行,并分析其运行结果。 再将第3、4行改为:c1=“a”; /*不用单撇号*/c2=“b”;再使之运行,并分析其运行结果。 再将第3、4行改为:c1=300; /*用大于255的
8、整数*/c2=400;再使之运行,并分析其运行结果。(2) 输入并运行教材第3章习题3.6给出的程序Main() char c1=a,c2=b,c3=c,c4=101,c5=116;Printf(“a%c b%ctc%ctabcn”,c1,c2,c3);Printf(“tb%c %c”,c4,c5);在上机前先用人工分析程序,写出应得结果,上机后将二者对照。(3) 输入并运行下面的程序Main() int a,b;Unsigned c,d;Long e,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf(“%d,%dn”,a,b);printf(“%u,
9、%un”,a,b);printf(“%u,%un”,c,d);c=a=e;d=b=f;printf(“%d,%dn”,a,b);printf(“%u,%un”,a,b);请对照程序和运行结果分析:1 将一个负整数赋给一个无符号的变量,会得到什么结果。画出它们在内存中的表示形式。2 将一个大于32767的长整数赋给整型变量,会得到什么结果。画出它们在内存中的表示形式。3 将一个长整数赋给无符号变量,会得到什么结果(分别考虑长整数的值大于或等于65535以及小于65535的情况)。画出它们在内存中的表示形式。(4) 输入习题3.10Main() int i,j,m,n; i=8;j=10;m=+i
10、;n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);1 运行程序,注意i、j、m、n各变量的值,分别作以下改动并运行。2 将第4、5行改为:m=i+;n=+j;再运行。3 将程序改为:Main() int i,j;i=8;j=10;printf(“%d,%d”,i+,j+);4 在的基础上,将printf语句改为:Printf(“%d,%d”,+I,+j);5 再将printf语句改为:Printf(“%d,%d,%d,%d”,i,j,i+,j+);6 将程序改为:Main()Int i,j,m=0,n=0;i=0;j=10;m+=i+;n-=-j;printf(“i=%d
11、,j=%d,m=%d,n=%d”,I,j,m,n);(5) 按习题3.7的要求编程序并上机运行该题的要求是:要将“China”译成密码,译码规律是:用原来字母后面的第4个字母替代原来的字母。例如,字母“A”,后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为C、h、i、n、a,经过运算,使c1、c2、c3、c4、c5分别变为G、l、m、r、e,并输出。1 输入事先已编好的程序,并运行该程序。分析是否符合要求。2 改变c1、c2、c3、c4、c5的初值为:T、o、d、a、y,对译码规律作
12、如下补充:W用A代替,X用B代替,Y用C代替,Z用D代替。修改程序并运行。3 将译码规律修改为:将字母用它前面的第4个字母代替,例如E用A代替,Z用U代替,D用Z代替,C用Y代替,B用X代替,A用V代替。修改程序并运行。3.预习内容预习教材第3章。实验3 最简单的C程序设计1 实验目的(1) 掌握C语言中使用最多的一种语句赋值语句的使用方法。(2) 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。2 实验内容和步骤(1) 掌握各种格式转换符的正确使用方法1 输入程序Main() int a,b;Float d,e;Char c1,c2;Double f,g;Long m,n;Uns
13、iguld int p,q;c1=a;c2=b;d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf(“a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e,);printf(“f=%15.6f,g=%15.12fnm=%ldnp=%u,q=%un”,f,g,m,n,p,q);2 运行此程序并分析结果。3 在此基础上,修改程序的第813行: a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.1234567
14、89;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析结果。4 改用scanf函数输入数据而不用赋值语句,scanf函数如下: Scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据如下:61,62,a,b,3.56,-6.87,3157.890121, 0.123456789,50000,-60000, 32768,40000分析运行结果。5 在的基础上将printf语句改为:printf(“a=%d,b=%dnc1=%c,c2=%
15、cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn”,f,g,m,n,p,q);运行程序。6 将p、q改用%o格式符输出。7 将scanf函数中的%lf和%ld改为%f和%d,运行程序并观察分析结果。(2) 按习题4.8要求编写程序题目为:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。(3) 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和sca
16、nf函数输出这两个字符.上机运行程序,比较用putchar和scanf函数输出字符的特点。3.预习内容预习教材第4章。实验4 逻辑结构程序设计1 实验目的(1) 了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。(2) 学会正确使用逻辑运算符和逻辑表达式。(3) 熟悉掌握if语句和switch语句。(4) 结合程序掌握一些简单的算法。(5) 学会调试程序。2 实验内容本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。(1) 有一函数: y=用scanf函数输入x的值,求y值。(习题5.5)运行程序,输入x的值(分别为x1、1xn,观察结果是否正确。在输入时,是
17、mS2,则输出正值;如果S1S2则输出负值。(习题10.17)两个字符串s1、s2有main函数输入,strcmp函数的返回值也由main函数输出。(5) 写一个用矩阵法求定积分的通用函数,分别求: , , ,说明:sin、cos、exp已在系统的数学函数库中,程序开头要用#include。(习题10.13)(6) 用指向指针的指针的方法对n个整数排序并输出。(习题10.21)3 预习内容预习教材第10章。实验10 结构体和共用体1 实验目的(1) 掌握结构体类型变量的定义和使用;(2) 掌握结构体类型数组的概念和使用;(3) 掌握链表的概念,初步学会对链表进行操作;(4) 掌握共用体的概念与使用。2 实验内容编程序,然后上机调试运行。(1) 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1