网站首页 > 文章中心 > 其它

c语言简单函数实验心得

作者:小编 更新时间:2023-09-21 11:13:57 浏览量:313人看过

c语言实训心得3000字

你可以这样写:

下面是我的实训心得:

第一段:明确学习目的

学习编程对大多数IT业人员来说都是非常有用的.学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象.学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作.知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求.

第二段:打好基础

c语言简单函数实验心得-图1

学编程要具备一定的基础,总结之有以下几方面:

①.、数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的.所以呢,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了.

第三段:注意理解一些重要概念

一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针这些语法、结构的应用例子,做到举一反三,触类旁通.

第四段:掌握编程思想

c语言简单函数实验心得-图2

学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想.关键是学一种思想,有了思想,那么我们就可以触类旁通.

第五段:多实践、多交流

掌握编程思想必须在编程实际工作中去实践和体会.编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案.这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平.亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法.

第六段:养成良好的编程习惯

编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长.在此期间要注意养成一些良好的编程习惯.编程风格的好坏很大程度影响程序质量.良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护.如代码的缩进编排、变量命令规则的一致性、代码的注释等.

第七段:上网学编程

第八段:加强计算机理论知识的再学习

学编程是符合"理论→实践→再理论→再实践"的一个认识过程.一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习.程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论.学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感.所以呢在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识.这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度.

c语言实验报告心得

c语言实验心得:

①.、只有频繁用到或对运算速度要求很高的变量才放到data区内,如for循环中的计数值.

因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率.当然静态局部变量除外,其内存使用方式与全局变量相同;

在Keil C里遇到未调用函数,编译器就将其认为可能是中断函数.函数里用的局部变量的空间是不释放,也就是同全局变量一样处理.这一点Keil做得很愚蠢,但也没办法.

将未定义内存位置的变量全放到xdata区.当然最好对所有变量都要指定内存类型.

xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问.

第三段:有关单片机ALE引脚的问题

外部数据存储器是,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲."这句话是不是有毛

小弟感激涕零.

答:

右键点项目中Target 1,选第二个,在OUTPUT中选中CREAT HEX

第六段:typedef 和 #define 有何不同?

typedef 和 #define 有何不同>>>>>> 如

typedef unsigned char UCHAR ;

#define unsigned char UCHAR ;

typedef命名一个新的数据类型,但实际上这个新的数据类型是已经存在的,只不过是定义了

一个新的名字.

#define只是一个标号的定义.

你举的例子两者没有区别,但是#define还可以这样用

#define MAX 100

#define FUN(x) 100-(x)

#define LABEL

等等,这些情况下是不能用typedef定义的

第八段:不同模块怎样共享sbit变量,extern不行?

把SBIT定义单独放到一个.H中,每个模块都包含这个.h文件

是的.

十、SWITCH( )语句中表达式不可以是位变量对吗?

可以用位变量:

#include

void main()

{

bit flag;

flag=0;

switch(flag)

case '0':{printf("0\n");break;}

case '1':{printf("1\n");break;}

default:break;

}

bit 变量只有两种状态,if 语句足够啦,!!!

十第一段:const常数声明占不占内存?

const 只是用来定义"常量",所占用空间与你的定义有关,如:

const code cstStr[] = {"abc"};

占用代码空间;而如:

const char data cstStr[] = {"abc"};

当然占用内存空间.

另外,#define 之定义似乎不占用空间.

试一试将auxr.1清0,然后在c语言中直接声明xdata类型的变量

程序中用如下语句:

const unsigned char strArr[] = {"数学"};

凡是有0xfd,则会通通不见了,所以只能手工输入内码了,例如 uchar strArr[]=

看到Code optimization了吗?

十第五段:请教c的!和 ~ 符号有甚区别?

!是逻辑取反,~是按位取反.

我怎么看到有的要,有的不要,请高手给讲讲,到底咋回事?谢了

要输出1的,除非你能保证之前已经是1,而中间没有输出过其他值.

各位高手:

X = LOW(Z);

Y = HIGH(Z);

x=(char)z;

现在对位操作指令我一些不太明白请各位多多指教:

二十、char *addr=0xc000 和char xdata *addr=0xc000有何区别?

char *addr=0xc000;

char xdata *addr=0xc000;

除了在内存中占用的字节不同外,还有别的区别吗?

char *addr=0xc000; 是通用定义,指针变量 addr 可指向任何内存空间的值;

char xdata *addr=0xc000; 指定该指针变量只能指向 xdata 中的值;

后一种定义中该指针变量(addr)将少占用一个存储字节.

uchar xdata *addr=0xc000;指针指向外ram;

如果:data uchar xdata *addr=0xc000;指针指向外ram但指针本身存在于内ram(data)

以此类推可以idata uchar xdata *addr=0xc000;pdata uchar xdata *addr=0xc000;

data uchar idata *addr=0xa0;.........

二十第一段:while(p1_0)的执行时间?

假设,P1_0为单片机P1口的第一脚,请问,

while(P1_0)

P1_0=0;

while(!P1_0)

P1_0=1;

以上代码,在KEIL C中,需要多长时间,执行完.能具体说明while(P1_0)的执行时间吗?

仿真运行看看就知道了,

主程序设置开门狗时,开门狗已经时间到,将我的程序复位了,请问我怎样才能修改这一端

初始花程序,使他一运行,就设置开门狗?

直接加入即可

二十第四段:关于波特率的设置

如果变了,又为什么?(因为我看书上俩个是一样的),希望大家点拨.

答:

TH1和TL1的值不变.

二十第五段:如何在C中声明保留这部分RAM区不被C使用?

我不知道在C源程序中怎么控制这个,但在汇编程序中加入下面一段就行:

AA: DS 10

二十第六段:问浮点运算问题

①.)参数是以全局变量的形式传递的,请问以全局变量的形式传递的参数也有限制吗?

不过KEIL提供了一个编译参数,可以支持更多参数的传递.具体

的内容见KEIL的PDF文档.

我建议你把多个要传递的参数定义到指针或结构体中去,传递参

数通过指针或结构进行,这样好一些.

二十第七段:如何在某一个地址定义ram

用_at_ 命令,这样可以定位灵活一点的地址

二十第八段:keil c中,用什么函数可以得到奇偶校验位?

unsigned char parity(unsigned char x){

c语言简单函数实验心得-图3

x^=x;

if(P)return(1);

else return(0);

#pragma asm

#pragma endasm

C语言实训心得

在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统.在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的.好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序.今天这一节,我作为其中的参与者,自然感触良多.

刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助.回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用.然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念.可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识.

说说函数.虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了.学习函数的方法是比较简单的,只有两个字"牢记",即:牢记函数的功能,牢记函数的用途以及如何输入输出.函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,学习C语言的"高人"都说,一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的.比如,大家可以作一个比较字符串的实验,用C语言中的strcmp()函数只要一句话,而自己编写的话,30句都很难实现,可想而知函数的实用和快捷.在我们C语言实训的代码中,函数更是得到了充分的应用,可以说,实训题目的复杂代码,就是用无数个函数的调用和嵌套积累出来的.

要注意的是,有的同学刚刚开始的时候,都是被一些大的程序激励的,所以当开始的时候看到繁琐的数据转化和简单的算法,都觉得很无聊,都想自己做几个自己满意的程序来看看,虽然这种想法很好,但是,我们说,没有基础,纯粹是搬照一些现成设计方法,是不足取的.要知道,程序设计讲究的是个人的思维的,假如刚开始就被一些现成的思想束缚住,以后就会觉得很无趣.

我们知道,指针其实是C语言的灵魂,许多的数据结构在我们学到这里之前都可以说是精通了.所以我们的任务就是,让数据结构在指针中运行.当然,刚刚开始接触到这些新的东西,是一件非常痛苦的事情,所以我们一定要用非常形象的思维去看待指针,不能太固化.所以,新的东西,比如结构体在指针中的表现方法,数组及多维数组在结构体中的运用,都一点一点的加了进来,同时丰满了我们对原来C的数据机构,数据表示的理解.当我们完成了这三步的学习,我们已经可以自豪的说,我们的基础都扎实了,可以进一步的学习有关算法,设计概念等等深层次的东西了.

最后,谈谈我们组的程序软件.商店商品管理系统,是一个比较利于应用,解决实际问题,方便实际管理的程序.设计代码比较复杂,结构比较严谨.在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难.但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对C语言这门学科的兴趣也提高了.

当然,我们编写的商店商品管理系统,还存在很多疏漏和不合理之处.比如,程序复杂冗长,如果时间充裕,我们将在不改变程序运行结果的基础上,简化程序,使每一句更加精辟,总体上更加简化.另外,在程序的外观上,我们由于时间问题,没有做更多的修饰,运行起来显得比较死板、枯燥乏味.如果增添一些色彩和其他效果,我们的程序也许会更加完美.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章