C语言上机实验报告.doc_第1页
C语言上机实验报告.doc_第2页
C语言上机实验报告.doc_第3页
C语言上机实验报告.doc_第4页
C语言上机实验报告.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

C语言上机实验报告系 别: 职业技术学院 专 业: 计算机科学与技术(3G方向) 学生姓名: 毛朋艺 学号: 1120020363 班 级: 计科职112 起止日期: 2011年9月18至2012年1月15日 实验 1 -C 程序的运行环境和 C 语言的数据类型1 实验目的(1) 了解在具体的语言环境下如何编辑、编译、连接和运行一个 C 程序。 通过运行简单的 C 程序,初步了解 C 源程序的特点。 掌握 C 语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。 掌握不同的类型数据之间赋值的规律。 学会使用 C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。1 实验内容和步骤1 检查所用的计算机系统是否已安装了 C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 实验题目 输入下面的程序# include “stdio.h”void main() printf(“This is a c program.n”);程序无误,其运行的结果为:这个程序让我明白输出函数print函数的用法和编译程序时应该注意到得问题和一些较容易出现的错误,必须 编译程序的时候要集中精力,全神贯注才行,一点都不能马虎。 输入并编辑一个有错误的 C 程序。# include “stdio.h”void main() int a,b,suma=123; b=456;sum=a+bprint(“sum is %dn”,sum);运行后程序出现几处错误,请分别指出,并且逐一更改: 该程序出现两处错误,分别在4句和6句中,都缺少;结束符号.改正后有:运行结果正确为: 若 k,g 均为 int 型变量,则下列语句的输出为,:# include “stdio.h”void main() int k, g;k=017; g=111;print(“%dt”,+k);printf(“%xn”,g+);运行结果为:实验 2-顺序结构程序设计 实验目的(1) 掌握 C 语言中赋值语句的使用方法。(2) 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。(3) 进一步熟悉 C 程序的编辑、编译、连接和运行的过程。2 实验内容3 用下面的 scanf 函数输入数据,使 a=3,b=7,x=8.5,y=71.82,c1=A,c2=a。问在键盘上如何输入?答:当运行成功后,在键盘上输入 “a=%d b=%d%f%e%c%c”这种格式原样在键盘上输入就OK。4 请书写程序5 #include “stdio.h”6 void main()7 int a,b;8 float x,y;9 charc1,c2;10 scanf(“a=%d b=%d”,&a,&b);11 scanf(“%f %e”,&x,&y);12 scanf(“ %c %c”,&c1,&c2);13 printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn”);14 运行,并按照如下方式在键盘上输入:A=3 b=78.5 71.82A a运行结果:A=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a实验 3-选择结构程序设计 实验目的 了解 C 语言表示逻辑量的方法(以 0 代表”假”,以非 0 代表”真”)。 学会正确使用逻辑运算符和逻辑表达式。 熟练掌握 if 语句和 switch 语句。 结合程序掌握一些简单的算法。 学习调试程序。2 实验内容题目: 有 3 个整数 a、b、c,由键盘输入,输出其中最大的数。编译程序:#include stdio.hmain()/*一个函数的头部*/int a,b,c,max;scanf(a=%d b=%d c=%d,&a,&b,&c);/*&为地址符*/if(ab)max=a;elsemax=b;if(maxc)max=c;printf(max=%dn,max);程序无误,当输入“a=1 b=2 c=3”时:运行结果为:这里运用了if(else)语句,对其中的3个整数进行了赋值,比较和摔选,从而得到最大值max而被输出.实现了选择结构语句的一个程序设计。实验 4-循环结构程序设计 实验目的 熟悉掌握用 while 语句,dowhile 语句和 for 语句实现循环的方法。 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。2 进一步学习调试过程。1.用for语句实现循环的方法:编译程序为:(1)#include stdio.hmain()int n,score;/*定义整型变量n,score*/for(n=0;n=60)/*选择语句*/printf(passn);elseprintf(failn);运行后结果为:实现了for语句的循环结构,让学生成绩得到了有效的判断。在这个程序中有30项才会循环结束,因为n的取值为n=30.(2)#includestdio.h int atoi(char s)int i,n,sign;for(i=0;si=|si=n|si=t;i+);sign=1;if(si=+|si= =-)sign=(si+=+)?1:-1;for(n=0;si=0&si=9;i+)n=10*n+si-0;return(sign*n);main()char s20;/*输入一组为20个字符的数组*/scanf(%s,s);printf(%dn,atoi(s);2.用while语句实现循环的方法:编译的程序为:#include stdio.h#define EOF-1/*当输入字符为EOF时程序结束*/main()int c;while(c=getchar()!=EOF)/*循环语句while的用法*/putchar(c);运行结果为:该程序是进行对所输入的字符进行复制(coppy)的一个过程,要想程序结束当输入“ctri+z”时程序结束,否则就一直循环下去。这是一个while的循环语句来实现循环的过程。实验 5- 数组的应用 实验目的 掌握一维数组和二维数组定义、赋值和输入输出的方法。3 掌握字符数组和字符串函数的使用。4 掌握与数组有关的算法(特别是排序算法)。 实验内容A:修改调试题目:调试下列程序,使之具有如下功能:输入 10 个整数,按每行 3 个数输出这些整数,最后输出 10 个整数的平均值。写出调试过程。#include “stdio.h”void main() int i,n,a10,av;for(i=0;in;i+)scanf(%d,ai);for(i=0;in;i+) printf(%d,ai);if (i%3=0) printf(n);for(i=0;i!=n;i+)av+=ai;printf(av=%fn,av);调试后的程序:#include stdio.h void main()int i,n,a10,av;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;iy)?x:y;Return(z);/请回答:函数功能是什么?答:对max(子函数)函数进行定义,使之具有筛选大小的功能,并且使用于上面的主函数中。调试后运行结果为:题目:调试以下程序并查看运行结果:int a=5;int b=7;#include “stdio.h”void main() int a=4,b=5,c;c=plus(a,b);printf(A+B=%dn,c);int plus(int x,int y) int z; z=x+y;return(x);请回答:函数功能是什么?答:对plus(子函数)函数进行定义,使之具有求和的功能,并且使用于上面的主函数中。 该程序调试后运行结果为:B、编程题目:要求:每道题目分别书写程序,试运行(如何输入,结果如何)。题目:编写函数求 x 的 n 次方的值(提示:有一个参数的函数)编译出来的程序:#include stdio.h#include/*调用函数库中的函数时必须用这个*/main()int x,n;scanf(x=%d n=%d,&x,&n);/*输入函数的用法*/printf(xn=%fn,pow(x,n);/*表达式的算法格式*/return 0;注:该程序符合上述题目要求,但在这里没有自己定义函数来求x的n次方,而是直接调用函数库中的“求某个值的n次方的函数pow函数来进行对x进行求n次方,这里要注意的是记得写#include.当输入“x=2 n=4”时有:这个程序的运行结果为:实验 7 -编译预处理 实验目的 掌握宏定义的规则,领会带参数宏定义和函数调用的区别。 了解文件包含命令的功能和使用规则。 了解条件编译的特点和功能。 实验内容A 宏定义及其应用1 以下程序的运行结果是_15_。#define MIN(x,y) (x)(y)?(x):(y)#include “stdio.h”void main() int i=10,j=15,k;k=10*MIN(i,j);printf(%dn,k); 若有宏定义如下:#define X 5#define Y X+1#define Z Y*X/2则执行以下 printf 语句后,输出结果是_7,5_。int a;a=Y;printf(%dn,Z);printf(%dn,-a); 请读程序:#include #define MUL(x,y) (x)*ymain() int a=3,b=4,c;c=MUL(a+,b+);printf(%dn,c);上面程序的输出结果是_12_。(4) 以下程序的运行结果是:x=1 y=1 ;x=1 y=2 ;x=1 y=3.#include “stdio.h”void main() inc x();incy();incx();incy();incx();incy();incx() int x=0;printf(x=%dt,+x);incy() static int y=0;printf(ny=%dn,+y);总结:以上程序的运行结果全是将原程序原样输入后进行一定调试后运行得到的,结果肯定正确,这次实验更佳深刻的让我对条件语句“?:”的用法熟练些了,也对类型的定义更佳的明白其中的一些意义,如int整型定义类型,但对其中出现的#define函数还不是很明白,还得继续的研究和揣摩。实验 8-使用指针处理数组 实验目的 掌握指针变量的定义与引用。 掌握指针与变量、指针与数组的关系。2 掌握用数组指针作为函数参数的方法。 实验题目、修改调试题目题目: 调试下列程序,使之具有如下功能:用指针法输入 12 个数,然后按每行 4个数输出。写出调试过程。#include format.hvoid main() int j,k,a12,*p;for(j=0;j12;j+)scanf(%d,p+);for(j=0;j12;j+) printf(%d,*p+);if (j%4 = 0) printf(n);调试后的程序:#include stdio.hvoid main() int j,k,*p,a12;/*在没有使用指针前*p没有任何意义*/p=0;for(j=0;j12;j+)scanf(%d,*p+);/*指针法输入数据字符*/for(j=0;j12;j+) printf(%d,*p+);/*指针法输出结果*/if(j%4=0)printf(n);/*输出一个回车格式*/心得体会C语言是我本学期来刚接触到的一门课程,刚开始上的几节课程当中,我根本就不明白该语言究竟是怎么一回事,老师讲上课的过程中也有认真听,但还是一点感觉都没得,很是盲目,不知道这样才可以把这门课学得好,它不仅是我们的专业课程,还是我们学好这个专业必须的一门基础课程。为此我对这门课程很是担心,一直在找寻入门C语言的学习方法,通过在网上掉有关学习C语言入门的一些学习方法来进行对C语言的学习,渐渐的开始明白和了解C语言是怎么回事了。直到有一天,老师叫我们到实训教学楼去对C语言进行上机实验操作,刚开始的几分钟很是迷茫,不知道是怎么回事,我就翻开书本写书本上那些最简单的程序(不是写,是照抄、模仿),当运行成功后很是兴奋,觉得挺有趣的。在第一次C语言实习课上下来后,感觉对这门课程不在是那样的陌生了,懂得是怎么回事了。但是,虽然不在陌生和害怕它,但怎样才能学懂C语言和怎样才能熟练的运用C语言,把它应用在以后的程序中去呢?基本上这学期下来,我对这门课程还是学得很不理想(根本就一点都不理想),对好多较难的程序不会编写,还有好多程序都读不懂,很是恼火耶!里面出现的好多函数不太会调用和掌握,只会一些简单的函数用法,这函数么不用说了嘛!看过C语言的人都会用了,如输入函数(scanf)输出函数(printf)和标准函数库中的函数(注:调用标准函数库中的函数时必须得加上“#include”)等。最让人头疼的是那个对指针函数的调用和使用方法,别提了,想到就是那个头疼,但没办法,

温馨提示

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

评论

0/150

提交评论