C语言上机实验报告.docx
- 文档编号:7423795
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:24
- 大小:526.94KB
C语言上机实验报告.docx
《C语言上机实验报告.docx》由会员分享,可在线阅读,更多相关《C语言上机实验报告.docx(24页珍藏版)》请在冰豆网上搜索。
C语言上机实验报告
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”
voidmain()
{printf(“Thisisacprogram.\n”);
}
程序无误,其运行的结果为:
这个程序让我明白输出函数print函数的用法和编译程序时应该注意到得问题和一些较容易出现的错误,必须编译程序的时候要集中精力,全神贯注才行,一点都不能马虎。
⑵输入并编辑一个有错误的C程序。
#include“stdio.h”
voidmain()
{inta,b,sum
a=123;b=456;
sum=a+b
print(“sumis%d\n”,sum);
}
运行后程序出现几处错误,请分别指出,并且逐一更改:
该程序出现两处错误,分别在4句和6句中,都缺少‘;’结束符
号.
改正后有:
运行结果正确为:
⑶若k,g均为int型变量,则下列语句的输出为,:
#include“stdio.h”
voidmain()
{intk,g;
k=017;g=111;
print(“%d\t”,++k);
printf(“%x\n”,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=%db=%d
%f%e
%c%c”
这种格式原样在键盘上输入就OK。
4请书写程序
5#include“stdio.h”
6voidmain()
7{inta,b;
8floatx,y;
9charc1,c2;
10scanf(“a=%db=%d”,&a,&b);
11scanf(“%f%e”,&x,&y);
12scanf(“%c%c”,&c1,&c2);
13printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”);
14}
运行,并按照如下方式在键盘上输入:
A=3b=7
8.571.82
Aa
运行结果:
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.h"
main()/*一个函数的头部*/
{
inta,b,c,max;
scanf("a=%db=%dc=%d",&a,&b,&c);/*&为地址符*/
if(a>b)
max=a;
else
max=b;
if(max max=c; printf("max=%d\n",max); } 程序无误,当输入“a=1b=2c=3”时: 运行结果为: 这里运用了if(else)语句,对其中的3个整数进行了赋值,比较和摔选,从而得到最大值max而被输出.实现了选择结构语句的一个程序设计。 实验4 ---------循环结构程序设计 ⒈实验目的 ⑴熟悉掌握用while语句,do-while语句和for语句实现循环的方法。 ⑵掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 2进一步学习调试过程。 1.用for语句实现循环的方法: 编译程序为: (1) #include"stdio.h" main() { intn,score;/*定义整型变量n,score*/ for(n=0;n<30;n++)/*循环语句for*/ { scanf("%d",&score);/*输入学生的成绩*/ printf("%d",n); if(score>=60)/*选择语句*/ printf("pass\n"); else printf("fail\n"); } } 运行后结果为: 实现了for语句的循环结构,让学生成绩得到了有效的判断。 在这个程序中有30项才会循环结束,因为n的取值为n=30. (2) #include"stdio.h" intatoi(chars[]) { inti,n,sign; for(i=0;s[i]==''||s[i]=='\n'||s[i]=='\t';i++); sign=1; if(s[i]=='+'||s[i]=='-') sign=(s[i++]=='+')? 1: -1; for(n=0;s[i]>='0'&&s[i]<='9';i++) n=10*n+s[i]-'0'; return(sign*n); } main() { chars[20];/*输入一组为20个字符的数组*/ scanf("%s",s); printf("%d\n",atoi(s)); } 2.用while语句实现循环的方法: 编译的程序为: #include"stdio.h" #defineEOF-1/*当输入字符为EOF时程序结束*/ main() { intc; while((c=getchar())! =EOF)/*循环语句while的用法*/ putchar(c); } 运行结果为: 该程序是进行对所输入的字符进行复制(coppy)的一个过程,要想程序结束当输入“ctri+z”时程序结束,否则就一直循环下去。 这是一个while的循环语句来实现循环的过程。 实验5 ------数组的应用 ⒈实验目的 ⑴掌握一维数组和二维数组定义、赋值和输入输出的方法。 3掌握字符数组和字符串函数的使用。 4掌握与数组有关的算法(特别是排序算法)。 ⒉实验内容 A: 修改调试题目: 调试下列程序,使之具有如下功能: 输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。 写出调试过程。 #include“stdio.h” voidmain() {inti,n,a[10],av; for(i=0;i scanf("%d",a[i]); for(i=0;i {printf("%d",a[i]); if(i%3==0)printf("\n"); } for(i=0;i! =n;i++) av+=a[i]; printf("av=%f\n",av); } 调试后的程序: #include"stdio.h" voidmain() { inti,n,a[10],av; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { printf("%d",a[i]); if(i%3==0)printf("\n"); } for(i=0;i! =10;i++) av=a[i]; printf("av=%f\n",av); } 运行结果为: 实验6 ------函数定义和使用 ⒈实验目的 ⑴学习C语言中函数的定义和调用方法。 ⑵掌握通过参数在函数间传递数据的方法。 ⑶熟悉TC集成环境对包含函数调用的程序的调试方法。 3实验题目 题目 (1): 调试以下程序并查看运行结果: #include“stdio.h” voidmain() {inta=1,b=2,c; c=max(a,b); printf("maxis%d\n",c); } max(intx,inty) { Intx; Z=(x>y)? x: y; Return(z); } //请回答: 函数功能是什么? 答: 对max(子函数)函数进行定义,使之具有筛选大小的功 能,并且使用于上面的主函数中。 调试后运行结果为: 题目⑵: 调试以下程序并查看运行结果: inta=5;intb=7; #include“stdio.h” voidmain() {inta=4,b=5,c; c=plus(a,b); printf("A+B=%d\n",c); } intplus(intx,inty) {intz; z=x+y; return(x); } 请回答: 函数功能是什么? 答: 对plus(子函数)函数进行定义,使之具有求和的功能,并且使用于上面的主函数中。 该程序调试后运行结果为: B、编程题目: 要求: 每道题目分别书写程序,试运行(如何输入,结果如何)。 题目⑴: 编写函数求x的n次方的值(提示: 有一个参数的函数) 编译出来的程序: #include"stdio.h" #include main() { intx,n; scanf("x=%dn=%d",&x,&n);/*输入函数的用法*/ printf("x^n=%f\n",pow(x,n));/*表达式的算法格式*/ return0; } 注: 该程序符合上述题目要求,但在这里没有自己定义函数来求x的n次方,而是直接调用函数库中的“求某个值的n次方的函数pow函数来进行对x进行求n次方,这里要注意的是记得写#include 当输入“x=2n=4”时有: 这个程序的运行结果为: 实验7 -------编译预处理 ⒈实验目的 ⑴掌握宏定义的规则,领会带参数宏定义和函数调用的区别。 ⑵了解文件包含命令的功能和使用规则。 ⑶了解条件编译的特点和功能。 ⒉实验内容 A宏定义及其应用 1以下程序的运行结果是__15__。 #defineMIN(x,y)(x)<(y)? (x): (y) #include“stdio.h” voidmain() {inti=10,j=15,k; k=10*MIN(i,j); printf("%d\n",k); } ⑵若有宏定义如下: #defineX5 #defineYX+1 #defineZY*X/2 则执行以下printf语句后,输出结果是_7,5__。 inta;a=Y; printf("%d\n",Z); printf("%d\n",--a); ⑶请读程序: #include #defineMUL(x,y)(x)*y main() {inta=3,b=4,c; c=MUL(a++,b++); printf("%d\n",c); } 上面程序的输出结果是_12_。 (4)以下程序的运行结果是: x=1y=1;x=1y=2;x=1y=3. #include“stdio.h” voidmain() {incx(); incy(); incx(); incy(); incx(); incy(); } incx() {intx=0; printf("x=%d\t",++x); } incy() {staticinty=0; printf("\ny=%d\n",++y); } 总结: 以上程序的运行结果全是将原程序原样输入后进行一定调试后运行得到的,结果肯定正确,这次实验更佳深刻的让我对条件语句“? : ”的用法熟练些了,也对类型的定义更佳的明白其中的一些意义,如int整型定义类型,但对其中出现的#define函数还不是很明白,还得继续的研究和揣摩。 实验8 -------使用指针处理数组 ⒈实验目的 ⑴掌握指针变量的定义与引用。 ⑵掌握指针与变量、指针与数组的关系。 2掌握用数组指针作为函数参数的方法。 ⒉实验题目 A、修改调试题目 题目⑴: 调试下列程序,使之具有如下功能: 用指针法输入12个数,然后按每行4个数输出。 写出调试过程。 #include"format.h" voidmain() {intj,k,a[12],*p; for(j=0;j<12;j++) scanf("%d",p++); for(j=0;j<12;j++) {printf("%d",*p++); if(j%4==0)printf("\n"); } } 调试后的程序: #include"stdio.h" voidmain() { intj,k,*p,a[12];/*在没有使用指针前*p没有任何意义*/ p=0; for(j=0;j<12;j++) scanf("%d",*p++);/*指针法输入数据字符*/ for(j=0;j<12;j++) { printf("%d",*p++);/*指针法输出结果*/ if(j%4==0) printf("\n");/*输出一个回车格式*/ } } 心得体会 C语言是我本学期来刚接触到的一门课程,刚开始上的几节课程当中,我根本就不明白该语言究竟是怎么一回事,老师讲上课的过程中也有认真听,但还是一点感觉都没得,很是盲目,不知道这样才可以把这门课学得好,它不仅是我们的专业课程,还是我们学好这个专业必须的一门基础课程。 为此我对这门课程很是担心,一直在找寻入门C语言的学习方法,通过在网上掉有关学习C语言入门的一些学习方法来进行对C语言的学习,渐渐的开始明白和了解C语言是怎么回事了。 直到有一天,老师叫我们到实训教学楼去对C语言进行上机实验操作,刚开始的几分钟很是迷茫,不知道是怎么回事,我就翻开书本写书本上那些最简单的程序(不是写,是照抄、模仿),当运行成功后很是兴奋,觉得挺有趣的。 在第一次C语言实习课上下来后,感觉对这门课程不在是那样的陌生了,懂得是怎么回事了。 但是,虽然不在陌生和害怕它,但怎样才能学懂C语言和怎样才能熟练的运用C语言,把它应用在以后的程序中去呢? 基本上这学期下来,我对这门课程还是学得很不理想(根本就一点都不理想),对好多较难的程序不会编写,还有好多程序都读不懂,很是恼火耶! 里面出现的好多函数不太会调用和掌握,只会一些简单的函数用法,这函数么不用说了嘛! 看过C语言的人都会用了,如输入函数(scanf)输出函数(printf)和标准函数库中的函数(注: 调用标准函数库中的函数时必须得加上“#include 最让人头疼的是那个对指针函数的调用和使用方法,别提了,想到就是那个头疼,但没办法,在难也得把它学好用好,熟练掌握好指针,才能方便的写出想要的程序来,我会在指针上多下功夫,争取将它拿下。 C语言必须要注意好里面的语句用法,在写程序的时候得多加小心,要谨慎,细节很是重要,编程序的时候得要在一些程序后面写上注释,注释格式为“/*........*/”。 一定要在写程序的时候养成这种写注释的良好习惯。 在调试程序和改正错误的时候必须得安照程序出现的错误顺序来改正,只有这样才不会出现许多麻烦,才能做到方便又快速,并且很少出现错误,也就是不要把简单的问题复杂化。 无论对什么样的学习,我们要认真的去对待,不管花多大的代价也要把自己该学的东西学好,做到“勤奋、严谨、求实、创新”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 实验 报告