C语言上机实验心得

C语言上机实验心得

在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。

我主要存在以下的这些缺点:

1、              学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。

2、              编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。

3、              基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。

4、              知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。

5、              有时候不够精简,有一点用处不大或者说没有也可以的文字存在。

6、              英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。

为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多。由此可看出上机实践的重要性。

   通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过……但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

当然,我还得感谢老师的指导与帮助,如果没有老师和其他同学的指点,我可能对C语言还是一筹莫展,在实验中遇到的大大少少的问题与所犯过的错误将是我以后的要加以注意的地方与认真审查的部分,为我奠定坚固的基石。伴随着学习的深入,我发现高深的东西还有很多很多,不懂不熟的知识还有很多,所以我不能停步,对C语言,我以后会更加努力学习的。

 

第二篇:C语言上机实验3

C语言上机实验3

一 实验目的

1:掌握关系运算符,逻辑运算符和条件运算符的用法。

2:掌握IF语句的用法。

3:掌握SWITCH语句的用法。

二 实验内容提要

(1)关系运算符

比较二个量的运算符称为关系运算符。

关系运算符 含义 优先级 结合性

> 大于 低 左结合性

>= 大于等于 低 左结合性

< 小于 低 左

<= 小于等于 低 左

= = 等于 高 左

!= 不等于 高 左

用关系运算符连接起来的式子称为关系表达式

注意 C语言中用零表示假,非零表示真。

一个关系表达式的值不是0就是1,0表示假 1表示真。

(2)逻辑运算符

逻辑运算符 含义 结合性 优先级关系

! 表示取反 右结合 高

&& 与运算 左结合 中

|| 或运算 坐结合 低

(3)条件运算符

表达式1?表达式2:表达式3

(4) if 语句的基本形式

If(表达式)

{

语句;

}

(5)SWITCH语句的基本形式

Switch(表达式)

{

Case 常量表达式C1: 语句组1;break;

Case 常量表达式C2: 语句组2;break;

……….

Default: 语句;break;

}

三 实验题目

(1)从键盘输入3个整数数,然后比较3个数的大小,最后将最大的数输出(做完在下面写出实验结果)

输入:

输出:

(2)闰年的判断问题,请输入一个整形的年份,然后判断是否闰年。如果输入的是闰年则在屏幕上输出YES 否则输出NO(用逻辑表达式做判断)

提示 if的条件表达式 要包含 && 和 ||

能被400整除是闰年;

能被4整除,但是不能被100整除也是闰年

输入年份:

最后显示:

(3)在屏幕上显示一长如下所显示的时间表

*****TIME*****

1 morning

2 afternoon

3 night

please enter you choice;

操作人员根据提示进行选择,程序根据输入的时间序号现实相应的问候信息,当选择1时显示”Good morning”,选择2时 显示”Good afternoon”,选择3时显示 “Good night”,对于其他的选择显示 “Selection error!”,用SWITCH语句编程实现。

(4)输入某学生的成绩,输出该学生的成绩和等级。(A级:90-100,B级:80-89,C级:60-79,D级:0-59)

(5)以下程序求3个整数中的最小值,程序是否有错?若有错,请改正。

main( )

{

int a, b, s, t;

scanf ("%d, %d", &a, &b);

if (a>b)&&(a>c)

if b<c printf("min=%d\n",b)

else printf("min=%d\n",c)

if(a<b)&&(a<c) printf("min=%d\n",a)

}

(6) 下列程序的输出结果是_________。

#include <stdio.h>

main ( ) { int x=1, y=0, a=0, b=0; switch (x) { case 1: switch (y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; } printf ("a=%d, b=%d\n" , a, b); }

 

第三篇:java上机实验心得体会报告

北京联合大学 信息学院

“面向对象程序设计”课

程上机实验报告

题 目: JAVA上机实验心得体会

姓名(学号):专 业: 计算机科学与技术

编 制 时 间: 20xx年x月x日

版 本: 1.0.0

指 导 教 师:北京联合大学-信息学院编制

实验1 熟悉Java运行环境

实验目的:熟悉JDK环境和操作,编写简单的Java应用程序。

心得体会:在该实验中,我碰到的问题是JDK环境变量的设置。解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。

实验2 选择语句练习

实验目的:正确理解并能够熟练操作和使用Java的if和switch语句。

心得体会:我个人感觉有了C的编程基础,if和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟C非常相近,所以上手比较快。但是在这次程序中,首次涉及到了java程序的数据输入,与C区别很大。但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。在第二个小题中还涉及到了charAt()方法,经查阅JDK文档,知道charAt()方法返回一个位于提供给它的参数索引处的字符,如: str.chatAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符。我运用此方法解决了比较字符串间首字母异同的问题。

实验3 迭代练习

实验目的:正确理解并能够熟练操作和使用Java的for、while、do..while语句。 心得体会:在该实验中,我学会了为具体操作选择最合适的循环语句及for、while、do..while语句的相互转换使用。最重要的是,明白了JAVA程序中,定义方法中的局部变量时一定要赋初始值,否则编译不能通过会报错;但类中的成员变量则不一定需要。如我在实验3main()方法定义的整型局部变量command,当不初始化则不能通过编译。原因是局部变量不能有JVM自动赋给相关的默认值,而成员变量可以。

实验4 方法的实现练习

实验目的:声明、定义和调用方法,理解实参和形参的含义。

心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。方法声明为非void(构造方法除外)则需要用return语句返回一个相应类型的返回值。

实验5 简单类型数组练习

实验目的:学习创建简单类型的数组,并能用循环语句处理数组。

心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌握了将数组作为方法的传入参数和返回值。在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。我解决的方法如下:

for(i=0; i<6; i++){

n[i] = aa%10; //aa%10的结果是aa的末尾数,将多位数aa的末尾数赋给a[i] aa = (int)aa/10; //对aa/10的结果强制取整,去掉了aa的末尾数,以便对下一位数的存数。

}

实验6 类和对象的练习

实验目的:正确理解并能够熟练操作和使用Java的类、对象和方法。

心得体会:我学会了如何建立类和对象,分别输出其中包含的成员值;以及分别引用各方法,实现不同的操作。在该程序中,我进一步了解了如何定义成员方法和成员属性以及相关方法的调用。特别是我掌握了利用构造方法对成员属性赋初始值。值得一提的是,我在相应的程序中运用了toUpperCase方法,经查看JDK文档知道该方法的作用是返回一个所有字母都被转化为大写字母字符串。

实验7 类的实现

实验目的:使用统一建模语言(UML)设计类,并实现类。

心得体会:通过该实验,我学会了使用public、private控制访问及其访问权限;体会了static关键字的作用。并对JAVA程序中的类及面向对象的编程思想有了更进一步的了解。

实验8 继承的练习

实验目的:正确理解并能够熟练操作和使用Java类的继承关系。

心得体会:理解了继承的含义,并使用UML符号设计了继承结构;掌握了用Java实现继承关系;学会了区分方法重写和方法重载;并深入理解了abstract 和 final修饰符的作用。用final标记的变量只能赋值一次,标记的类不可被继承,方法不可被子类重写。用关键字extends表继承,例如子类A继承了父类B则可写作 class A extends B。在这些概念性知识点弄明白后,在解决实际问题时,碰到了输入年月日计算车龄的问题,我的解决办法如下:

public int age(int year)

{ int age;

int a1 = (int)(time/10000); //(int)time/10000是将8位数表示的生产年月日强制转换成四位数表示的年

}

int a2 = (int)(year/10000); //将当前年月日转换为年age = a2 - a1 +1;//计算车龄 return age;

实验9 抽象类、接口练习

实验目的:综合运用接口,类的知识。

心得体会:在该实验中,我掌握了接口定义,以及类实现接口。接口用interface关键字定义,在接口中,可以用abstract是修饰方法的,也可以去掉abstract,编译时会默认为抽象方法。类实现接口可用implements表示,例如class Circle implements Shape表示,Circle类实现了接口Shape。

实验10 多态练习

实验目的:理解并使用面向对象的特征:多态。

心得体会:在实验10中,我基本掌握了多态的句柄、多态方法的定义。在改程序中,我遇到了要求随机产生一个图形的难题,通过网上查阅资料,利用系统函数Math.random()经一系列的运算处理来随机产生一个图形解决了该难题,具体的程序如下:

public static void main(String[] args)

{

} Circle cir = new Circle(9); Square squ = new Square(4); Shape shape; int r; r = (int)(Math.random()*2);//用Math.random()方法产生0.00到if(r == 0) shape = cir; else shape = squ; shape.testShape(shape); //同一条语句产生不同的执行结果,多态1.00的随机数,乘2取整后非0即1 性。

实验11 多线程处理

实验目的:理解线程的基本概念。

心得体会:通过该实验,基本能够理解线程的运行了。学会调用Thread类中的系统函数以及掌握这些函数的作用是难点, setName()是设置线程名字,start()是开辟一条新线程,Thread.currentThread().getName()是获得正在执行的线程的名字,Thread.currentThread().getId()是thread类中返回该线程的标识符的方法,Thread.currentThread().getPriority()是thread类中返回线程的优先级的方法。

实验12 I/O及文件处理

实验目的:掌握并使用Java中的I/O和文件。

心得体会:对于该实验,由于比较难,只是基本掌握了文件读写的方法和规则,还有待17周JAVA实训时继续攻坚克难。

结语:在这一系列的实验中,我基本掌握了Java的编程规则、知识要点和一些小技巧,特别是对面向对象的编程思想和风格有了进一步的认识和体会。同时,因正确的编出程序而带来的成就感让我对编程更加感兴趣。对于在这些实验过程中,请教老师、同学互助、查阅资料等基本的学习方式,使我更加领悟到集体和团队的力量,也树立了敢于攻坚的信心。

相关推荐