精华内容
下载资源
问答
  • C语言编程体会

    2008-04-24 13:00:13
    C语言编程过程中的心得体会
  • 下面让我们通过以下的心得体会来了解其他人在c语言编程上的学习感悟。 在科技高度发展的今天,计算机在人们之中的作用越来越突出,而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与...

    C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。下面让我们通过以下的心得体会来了解其他人在c语言编程上的学习感悟。

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

    对c语言这门课程已经有了一定的了解的小伙伴,可能仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

    跟大家说几点经验:

    1.在学习的时候一定要注意这几点,不会的一定要问明白,不管谁能让他教会你知识就是你的了,要学会让知识为我所用。在看书的时候一定要做好标记,特别是不懂的地方一定要标明是什么意思。

    2.在学习语言的时候一定要记住动手,不要只说不做,这样会形成眼高手低,不管什么样的程序都要亲手做过才能说会了,不要整天说我不会学不会,其实是你不想学,只是你下决心抄一个月程序,我保证能有很大的进步,其实当你抄到一周到两周的时候你就会特想抄,因为你会发现程序你能看懂了,能帮别人调程序了,有一种成就感!它会让你更加努力的去学习。

    3.再一点是我建议大家在上课的时候少看课本,课本要在下课的时候看特别是上课前一定要先看看课本,上课的时候呢就不要看了,不要老师讲到那个问题了你马上在书上找,这样不好,会影响你的注意力,其实还真不如注意听老师讲呢?因为你要是一边听一边看课本,你是看到了书上的答案但是老师的思路你没有听到,而要是你不看的话,你听明白了思路,一定是想迫切的看到结果,这个时候看课本才是记的最死的时候,学习要的不就是个效率吗?

    4.提醒大家学习要讲效率,很多人天天学习,每天最早到教室,走的又最晚,别人玩他在学,别人学他也学,可是别的一天30%的学习时间却比他们一天50%以上的学习时间的效率要高上不仅仅是几倍的问题,所以我要说的是不要对别人说你天天在学习,要说你天天在进步,学习不是要你学习了多久是,是要你学了多少东西的,你学一小时还没有别人学一分钟的效率高,难道自己不是浪费时间吗?

    C语言中重要知识的总结:

    1、 一些基本的函数和基本数据类型的应用。其中,基本数据类型分为整型、浮点型、字符型、枚举类型。基本函数包括输入输出函数。

    2、把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算。

    3、在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程。

    4、要分清楚各个变量的生存期和作用域,不能发生混淆,以致发生错误。

    5、 数组和指针是c语言的经典之处,可以通用,并且互相转换,具有非常强大的功能,但是使用不当的话,会造成程序出错,打乱原有程序的规律,使可读性明显变差。

    6、结构体也是常用的一种数据类型,它的功能也比较强大,相对于指针而言,结构体掌握起来比较容易理解和使用。

    7、对于文件的操作是非常关键的,把输入的数据保存起来,下次还能够使用,这才是关键问题。所以对文件操作是否成功,使程序是否编制成功的重要因素。

     

    我认为c语言是一门很基础的语言,所有的计算机语言都是相通的,只要一门学会了,其他语言就会很容易学会。虽然学会了c语言的大部份基础知识,但是要掌握好c语言并不是一件简单的事情。以为把一点一滴的基础知识掌握牢固是不够的,主要是对程序编制要求的理解,思考如何利用c语言的所有基础知识来实现要编制程序的作用,以及如何更加简便的实现等等。这就需要有很强逻辑思维,和长时间的经验积累,以及自身的不断钻研等诸多因素的有机统一。

    而我们软件测试的工作并不要求我们能够编出很复杂的程序,只要能够读懂编程人员的源程序就可以了。所以把c语言的基础知识学好是非常有必要的,也是必不可少的。

    在学习c语言期间,每天都要不断的上机练习,这也是学好c语言必不可少的一步。因为不管你理论知识掌握的如何熟练,不上机实际操作的话,是没有任何效果的,许多问题都是在实际上机操作中显现出来的,在书本上是体现不出来的。书本上是永远不会出现你自己的思想成果的,正是应了那句话“实践是检验真理的唯一标准。”

    有小伙伴跟我分享:在学习完c语言后,利用书本上的知识完成了软件工程师系统的11个版本。完成后才感觉到编写一个程序是多么不容易。光是这么一个简单的程序,就需要不断钻研和反复的推敲,还要加上大量的上机时间,现在才明白为什么编程是脑力劳动的真正意义了。

    总而言之,可能很多人认为C语言是高不可攀的、十分难以理解、一般人学不会的东西。但是只要你学习方法掌握好了,再加上刻苦的练习,是完全有可能学好任何一门计算机语言的。

    最后用一句话表明在学习C语言过程中的感受,那就是“痛苦并快乐着。”


    自学C/C++不易,此路应携手前行。

    如果你想跟着小编一起学编程的话!

    可以来我的C语言/C++编程学习俱乐部,【点击进入】

    还有(源码,零基础教程,项目实战教学视频)【点击领取】!   

    展开全文
  • 嵌入式系统C语言编程的心得体会

    千次阅读 2013-12-02 22:32:50
    最近经常在解释程序中指针... 今天就把这些天的体会总结一下,从三个方面来说明这个问题,一是指针相关的名称以其含义,二是指针在C语言编译时的编译器的工作原理,三是应用时的使用注意事项和优缺点。  在这里我以8
    最近经常在解释程序中指针的应用手法,发现多数人对指针的认识并不完整,捉住了指针的表面现象却没有很好的理解指针的本质特性。上次写指针编的时候也没有很好的解释指针的本质特性,以及这个特性在C语言中的应用方法。
        今天就把这些天的体会总结一下,从三个方面来说明这个问题,一是指针相关的名称以其含义,二是指针在C语言编译时的编译器的工作原理,三是应用时的使用注意事项和优缺点。
        在这里我以8位系统(AVR单片)来解释,其他系统以此类推,主要针对GNU的GCC编译器来说明。首先说一下定义我们定义uint8是8位无符号型变量,因此定义: uint8 v 这里v就是一个无符号的8位变量;uint8 *p 这里p就是一个指针型变量,这个指针型变量是一个指向8位无符号型变量的指针。在AVR中地址位数是16位的,因此,这个指针变量是个16位的数据。编译时在内存中将分配一个8位的空间给变量v,假设分配给v的内存地址是0x000A;分配两个8位空间给变量p,因为p是个指针型的变量,存放的是16位的地址数据,假设分配p的内存地址是0x00010-0x0011。
        考查以下代码
        uint8 v;执行这个语句仅是分配了一个内存空间给v,v是什么值并不确定;
        uint8 *p;执行这个语句分配了一个内存空间给p,p的值也是不确定的;
        v = 0;  执行这个语句的时候对v变量赋值也就是对0x000A空间赋值0;
        *p = 0; 我们看看这时汇编语句是什么LDD     R30,Y+1  
                                        LDD     R31,Y+2   
                                        STD     Z+0,R1    注:在AVR中Z寄存器有R30和R31构成
                从这里我们看到,实际上就是把R1的值付给了Y寄存器里存放的地址空间,而Y的值并没有赋值,而且延续前一次赋值的状态,这个就造成了*p=0赋值位置的不确定性。在程序运行的过程中就会出现致命的问题,可能会造成系统死机。从这个例子也可以看出,简单的把*p看作是一个变量,而采用一般变量的使用方法来处理它是不妥当的,这是有前提的。
        p = &v;我们看这个汇编 MOVW    R24,R28     
                             ADIW    R24,0x03 
                             STD     Y+2,R25   
                             STD     Y+1,R24   注:对Y赋值

        *p = 0;在看这个汇编   LDD     R30,Y+1   
                             LDD     R31,Y+2    
                             STD     Z+0,R1   
        从这里我们可以发现,只有定义一个变量,并且将这个变量的地址赋值给指针变量后,*p才可以采用一般变量的处理方法对其进行操作。
        很多时候发现是使用指针后系统会死机或数据并非我们预想的,主要问题就出在这。在使用操作系统传递消息或邮箱时,这种情况特别明显。看是和说明的操做相同,却为什么不能正常工作呢。因为你忽略对指针变量的赋值,而直接使用*p来作为变量处理。
        这个解释比较绕口,要实际操作中慢慢体会,但要捉住一点,指针就是地址,指针变量就是一个存放地址的空间。但出现问题或思路混乱的时候,将地址空间画出来,并按照你的程序编写的步骤推算一下。
    展开全文
  • c语言编程教程

    2012-10-11 10:16:05
    c语言可以有效帮助你,有用的个人学习c语言体会
  • 学习使用C语言不能不说到指针,指针的应用是C语言的特点也是精髓... 嵌入式C语言编程里面的指针和标准的C概念上是一致的,但是由于使用处理器的构架不同,在实现表示实际对象上略有差别。这个集中体现在有些嵌入式处
    学习使用C语言不能不说到指针,指针的应用是C语言的特点也是精髓所在。没掌握指针的使用方法,也就说明你不会使用C语言。当然使用手法灵活多变,并不见得都要学会,只是说在写程序的时候要有这种思想体现在程序里。其实程序写的是否巧妙很大程度上就体现在指针应用上。
       嵌入式C语言编程里面的指针和标准的C概念上是一致的,但是由于使用处理器的构架不同,在实现表示实际对象上略有差别。这个集中体现在有些嵌入式处理器比如AVR单片机采用的是“哈佛”结构,数据和程序总线是分离的,因此,指向数据存储区的的指针和指向程序存储区的指针调用的指令是不同的,位数也是不同的。当然这些由编译器来完成,但是我们在使用时,心中要有数,因为在指针传递的过程中要注意传递的值是否与申明的位置一致。不然可能出现错误。
       什么是指针呢,不同的人也有不同的理解。我认为指针就是地址,形象一点就门牌号。一个门牌号对应一个位置空间。使用指针的时候就是到相应的空间去取值。指针的内容是我们需要的值,指针本身是指向这个内容的一个门牌号(即地址)。使用指针的时候并不需要知道指针是什么,但是要清楚指针指向的位置内是什么。因为门牌号只是个号,我关心的是内容不是这个号,只是在传递信息的时候使用这样一个号会让传递变得容易。指针是如何让传递变得容易的呢?
       先看看C语言的函数传递关系。函数传递分两种,一种是参数,一种是返回值。传递进函数的参数可以很多,但是传递函数写多了,会对函数的使用造成很多不便,至少编写程序的时候打字都是很麻烦。而且会占用更多的内存空间,这样因为相同的信息传递源占用空间,传递地也占用了空间。(这是对参数数量大的情况来说,当然数量少就不见得是占用空间多,相反使用指针还可能占用更多的空间)。C语言里面规定传递返回值只能有一个,但是在实际应用的时候经常需要传递多个返回值,这个时候就可以使用指针方式,可以传递指针参数,直接修改相应存储位置上的值,也可以将传放返回参数结构的指针回传。但是要特别提醒的是,使用指针回传参数的时候传递的指针不能是函数内部的局部变量,因为当函数退出的时候,局部变量的空间回被收回,里面的值可能回被其他函数修改。因此需要使用指针方式的后,应该在调用函数的上一级以上的函数申明变量,然后传递该变量的指针。
       指针和数组的关系很微妙,我认为数组和指针在使用上有很多相同的地方,只是在不同场合表达不一样。当然数组没有指针灵活,数组只是指针应用中的一个特例。
       指针的分类和基本用法见C语言的经典书籍,这就不罗嗦了。要讲的就是介绍些应用实例,启发思路。只是是启发了我的思路。
       指针的总结,没有之前两篇好写,想来想起,现在还没水平提炼写可以通用的心得,所以只好改用介绍实例的方式了。下篇在开始介绍。
    展开全文
  • 看了很多别人的编程经验,加上项目程序越做越大,直到这半年来突然有很多体会,明天就要回家了,下午闲来无事也试着总结一些心得体会,喜欢对师弟妹们的学习有所帮助。  首先要说说编程的几个重要原则,看了很多...
    C语言博大精深,玩了很长时间了,一直徘徊在入门处。看了很多别人的编程经验,加上项目程序越做越大,直到这半年来突然有很多体会,明天就要回家了,下午闲来无事也试着总结一些心得体会,喜欢对师弟妹们的学习有所帮助。
        首先要说说编程的几个重要原则,看了很多别人的编程经验,更多的是说技巧。技巧能显著提高程序的效率,固然重要但是技巧的掌握靠了还是大量的工程实践,只有在有一定功底后才可以去追求这些编程技巧。但是编程的原则却是要在学习一开始就要认真贯彻,才能养成良好的编程习惯,苦练内功后练上层功夫才不会走火入魔。
        言归正传,嵌入式系统C语言编程需要遵守什么样的原则呢?随着时代和技术的不断发展,这个问题也许仁者见仁智者见智了,但是总结起来大家还是有很多共识。根据目前提倡的软件工程的做法,和我们教研室的做法,列举最重要原则:
        一、模块划分.C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能:
      (1) 一个功能模块即是一个.c文件和一个.h文件的结合,.h文件中是对于该模块功能函数和使变 量的声明
        (2) 该模块提供给其它模块调用的外部函数及数据都需要在.h中文件中以extern关键字声明
      (3) 模块内的函数和全局变量只能在.c文件定义
      (4) 不允许在.h文件中定义变量(定义变量和声明变量的区别在于定义会产生内存分配的操作,而声明则只是告诉包含该声明的模块在连接阶段从其它模块寻找外部函数和变量)。
        二、一个嵌入式系统程序包括两类模块分三层编写:
      (1)硬件驱动模块,一种特定硬件对应一个模块,包括了片内集成的硬件模块和外部扩展的
      (2)软件功能模块,软件功能模块是建立在硬件驱动模块上的与硬件无关的逻辑功能。
        (3)三层编写即HAL(硬件应用层),API(应用函数包),APP(逻辑应用层)注:名称是借用的,表大个意思而已。HAL就是硬件驱动模块和系统硬件密切相关,API可以是建立在HAL上的硬件应用服务程序也可以是通用的函数模块,APP则是最终构成嵌入式系统应用的功能逻辑关系。HAL和API是为了方便技术积累和提高开发效率而分开了,APP则是针对特殊应用而定制的。
        三、中断服务程序的要求:
     (1)不能返回值
      (2)不能向ISR传递参数
      (3)ISR应该尽可能的短小精悍,不允许有等待信号的操作
        四、编程风格问题
        五、需要学会熟练应用的C语言的基本手法
       (1)数据指针,不能仅仅只会使用数组
       (2)宏定义,定义寄存器地址,定义宏函数等
       (3)函数指针的应用
       (4)条件编译,在带操作系统的应用时经常要用
        六、不要偷懒,写好必要的注释
        七、做到以上几点时就可以吸收高超的编程技巧了。
    展开全文
  • C语言编程技巧汇萃

    2008-04-23 21:23:06
    C语言编程的某些经验心得体会
  • C语言里面宏定义的应用是很灵活的,但是一般讲C语言的书往往并不详细讲述宏的应用,只是简单提一下。 宏的应用是程序模块化,通用化一个重要手段。嵌入式系统做多了就会发现其实没给项目应用的底层函数都十分相似...
  • c语言心得体会范文3篇 c语言心得体会范文一 在初学C语言的一个学期后我们进行了C语言阶段尝试编写各种类型的程序在为期一个周时间中我的感受是C语言实训和平时上课所接触的成有很多不同所经受的考验和克服的困难和...
  • C语言心得体会

    千次阅读 2018-04-22 18:38:33
    C语言作为一种十分切合计算机硬件的高级编程语言,得到了广泛的应用。C语言学习起来其实挺难的。它里面涉及很多细节性的东西。对于初学者来说与其说是学习一门计算机编程语言不如说是通过学习C语言这种语言,来了解...
  • c语言总结体会 篇一C语言上机实验心得 C语言上机实验心得 在科技高度发展的今天计算机在人们之中的作用越来越突出而C语言作为一种计算机的语言学习它将有助于我们更好的了解计算机与计算机进行交流因此我们一定要...
  • C语言编程第一次作业

    2018-04-08 20:04:00
    每天上课跟住老师的思路,跟上老师的代码,掌握了每个符号的意思,可以进行初级的C语言编程。我认为C语言不应该光听老师上课讲的,还应该结合自己所学的知识在课下查缺补漏。要在课下研究每个C语言题目和答案的意思...
  • c语言培训学习心得体会 c语言是一种结构化语言是大部分编程语言的基础,c语言学好了,以后的aa#以及更多的编程语言才有可能学好下面就跟南宁达内小编一起,要学好c语言必须了解的四点: 课前认真预习,把下一节要上的内容...
  • C语言编程通集

    2012-11-17 20:53:45
    集是由本人一手写下来的,旨在与大家交换意见,交流学习体会。本人是谁?只是个 菜鸟。当然,菜鸟不假,但是,如果让你自己给自己定一个位置的话,你会认为你是什么? 我想你不会自称“高手”“大虾”吧?记得一位...
  • Linux基础C语言编程

    2009-08-08 00:15:06
    热爱C,热爱linux,我们将一起进入Linux世界,体会Linux下的编程环境和开发过程。
  • c语言培训学习心得体会 c语言是一种结构化语言是大部分编程语言的基础c语言学好了以后的javac#以及更多的编程语言才有可能学好下面就跟南宁达内小编一起要学好c语言必须了解的四点 1课前认真预习把下一节要上的内容...
  • c语言ATM机实例和链表实例。 基本体会c编程思想……
  • linux操作系统下c语言编程入门--网络编程 Linux系统的一个主要特点是他的网络功能非常强大。随着网络的日益普及,基于网络的 应用也将越来越多。 在这个网络时代,掌握了Linux的网络编程技术,将令每一个人处 ...
  • c 语言培训学习心得体会 c 语言是一种结构化语言是大部分编程语言的基础c 语言学好了以后的 javac#以及更多的编程语言才有可能学好下面就跟南宁达内小编一起要学 好 c 语言必须了解的四点 1课前认真预习把下一节要上...
  • c语言培训学习心得体会 c语言是一种结构化语言是大部分编程语言的基础c语言学好了以后的javac#以及更多的编程语言才有可能学好下面就跟南宁达内小编一起要学好c语言必须了解的四点 1课前认真预习把下一节要上的内容...
  • 学 海 无 涯 课程设计报告 题 目微机机房收费管理系统 学 号 1220070334 姓 名 王 玮 专 业 计 算 机 系 统 维 护 ...实验题目3 二 实验目的3 三 实验设计说明与要求3-4 四 程序实现流程图为4 五 课程设计与心得体会4-5
  • c语言培训学习心得体会 c语言是一种结构化语言是大部分编程语言的基础c语言学好了以后的javac#以及更多的编程语言才有可能学好下面就跟南宁达内小编一起要学好c语言必须了解的四点 1课前认真预习把下一节要上的内容...
  • 非常珍贵本人学习心得体会的总结最佳资料。
  • 名 王 玮 专 业 计 算 机 系 统 维 护 班 级 12 计 维 指导老师 袁 雪 梦 2 0 1 4年 7 月17日 目 录 课程设计汇报封面1 目录2 试验题目3 试验目标3 试验设计说明和要求3-4 程序实现步骤图为4 课程设计和心得体会4-5 ...
  • Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用C来开发,体会更加深刻。 ...
  • C语言编程小技巧

    千次阅读 2006-09-26 00:18:00
    本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以...
  • R,虽然是一本入门书籍,可是其中的精妙之处却需要慢慢体会。其中的经典题很多,仔细琢磨一定会收获良多。今天看到这样一道题:编写一个删除C语言程序中所有的注释语句。感觉颇有意思,与大家一起分享一下:我的思路...
  • 本文就是针对编程工作中的一些体会和经验做相关的阐述。第一招:以空间换时间计算机程序中的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 741
精华内容 296
热门标签
关键字:

c语言编程体会

c语言 订阅