您当前的位置:首页 > 今日分享头条 > 正文

c语言学习心得(学习C语言心得)

本文目录

  • 学习C语言心得
  • 学习C语言有什么感受
  • 寻求学习C语言的心得
  • 求C语言的学习心得 或者 方法总结 什么的
  • C语言实训心得
  • C语言数组学习有什么心得
  • 请教学习c语言的心得

学习C语言心得

学习C语言,我自己认为我还学得不错,但是其实比起THQ来说那又算什么哟!但是我并没有灰心,还是坚持于自己的执着...其实学习任何东西都要有一种坚持不懈精神;其次,要对他培养出一种兴趣爱好.(兴趣是最大的老师)我就是先了解它是个什么,在了解它能做什么,能做出什么好的什么...(这样可以钩起一种好奇的心理)楼上那位说得对,这些东西要多写代码,也就是要多实践.还有,我建议多到书店里去看看相关的书籍(因为我就经常新华书店看书,一看就是几个小时.)

学习C语言有什么感受

学习C语言,她是学编程的一种最简单的语言基础。对于你只是选修课来说没必要发愁,开始学的时候会感觉有点难,但是要重在坚持,坚持到最后。多编一些简单程序你会感觉很好学的。希望对你有帮助。加油!!

寻求学习C语言的心得

上回说的是一些小问题,真正编东西,学东西还有许多要注意的地方。由于本人也是刚学不久,水平有限,说错的地方望大家原谅。谢谢!一、多看代码 在有一定基础以后一定要多看别人的代码。注意代码中的算法和数据结构。毕竟学C之后的关口就是算法和数据结构。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法就要牢牢记住。二、要自己动手 编程序是个实干的活,光说不练不行。刚开始学的时候可以多练习书上的习题。对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编一点小游戏,文曲星之类的电子词典上小游戏很多,照着编作为练习。基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统。之后.....学汇编、硬件知识。三、选择一个好的编译器 本人前段时间就遭受了一个编译器的折磨。这个编译器带了个自运行程序,自动修改IE主页。叫什么名字就不说了。言归正传,英文版Turbo C v2.0没话说,最经典的C编译器(下载地址:

求C语言的学习心得 或者 方法总结 什么的

* 掌握C语言的基本语法和规定。 * 掌握程序设计基本算法和思路,开拓思路, * 提高上机操作能力,掌握上机调试程序的方法 * 培养自学能力,强调自主学习。 * 养成良好的程序设计习惯。 通过总结多年的教学经验,总结学生在学习过程中具有规律性的特点,可以发现,在本课程学习过程中学生经常出现下面这些问题: * 注重理论学习,忽视上机编程实践,造成“只能用笔在纸上编程“的奇怪现象。特别是一些女同学,一到机器前面就手忙脚乱,如果程序再出现错误,就更不知道该如何查找错误,如何排除错误了。 *入门时自以为难度大,产生畏难情绪,总是怕,最后因为怕学不好而导致没有学好。 *前期没有抓紧,希望通过突击完成课程学习。本课程要靠平时的积累,几乎不能靠临时突击,由于前面基础补扎实,到了后面已经无法弥补。 *太注重学习语句的语法规定,忽视了对编程的思路和方法的训练。有些同学再学习结束的感觉就是:对每一个语句的语法和每一条规定都明白,就是面对实际问题的时候不知道该如何思考,该如何编程。 *急于求成,总想编写综合性的程序,忽视基本概念,忽视基本功的训练和练习。在编写程序中发现问题,一追根源,全是概念或基础问题。 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来再参考别人的提示,你就知道自己和别人思路的差异。 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久 都是只对部分功能熟悉而已,不系统还是不够的。 3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册, 虽然帮助的文字有时候很难看懂,总觉得不够直观。 4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。 5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸 出很多知识点;不会举一反三你就永远学不会。 6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。 7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览 群书; 8.看再多的书是学不全脚本的,要多实践 9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; 10.学习脚本最好的方法之一就是多练习; 11.在任何时刻都不要认为自己手中的书已经足够了; 12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 13.别指望看第一遍书就能记住和掌握什么--请看第二遍、第三遍; 14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件; 15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中; 16.不要漏掉书中任何一个练习--请全部做完并记录下思路; 17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余 下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工 作。 18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的; 19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能 讲清楚才说明你真的理解了; 20.记录下在和别人交流时发现的自己忽视或不理解的知识点; 21.保存好你做过的所有的源文件----那是你最好的积累之一; 22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先 你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就 能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒! 23.到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问 题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己 的帖子没人回的。 24.虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方, 如果你总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的 才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你 讨论呢。能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒! 25.到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问 题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己 的帖子没人回的。 26.虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方, 如果你总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的 才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你 讨论呢。 别做浮躁的人 浮躁的人容易问:我到底该学什么;----别问,学就对了; 浮躁的人容易问:JS有钱途吗;----建议你去抢银行; 浮躁的人容易说:我要中文版!我英文不行!----不行?学呀! 浮躁的人分两种:只观望而不学的人;只学而不坚持的人; 浮躁的人永远不是一个

C语言实训心得

在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,自然感触良多。刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。说说函数。虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,学习C语言的“高人”都说,一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的。比如,大家可以作一个比较字符串的实验,用C语言中的strcmp()函数只要一句话,而自己编写的话,30句都很难实现,可想而知函数的实用和快捷。在我们C语言实训的代码中,函数更是得到了充分的应用,可以说,实训题目的复杂代码,就是用无数个函数的调用和嵌套积累出来的。要注意的是,有的同学刚刚开始的时候,都是被一些大的程序激励的,所以当开始的时候看到繁琐的数据转化和简单的算法,都觉得很无聊,都想自己做几个自己满意的程序来看看,虽然这种想法很好,但是,我们说,没有基础,纯粹是搬照一些现成设计方法,是不足取的。要知道,程序设计讲究的是个人的思维的,假如刚开始就被一些现成的思想束缚住,以后就会觉得很无趣。  我们知道,指针其实是C语言的灵魂,许多的数据结构在我们学到这里之前都可以说是精通了。所以我们的任务就是,让数据结构在指针中运行。当然,刚刚开始接触到这些新的东西,是一件非常痛苦的事情,所以我们一定要用非常形象的思维去看待指针,不能太固化。所以,新的东西,比如结构体在指针中的表现方法,数组及多维数组在结构体中的运用,都一点一点的加了进来,同时丰满了我们对原来C的数据机构,数据表示的理解。当我们完成了这三步的学习,我们已经可以自豪的说,我们的基础都扎实了,可以进一步的学习有关算法,设计概念等等深层次的东西了。  但是,指针,结构体,这些太抽象的东西,在学习C语言的时候我们就有点“似懂非懂”,可是在眼下的C语言实训中,像这么重要的C语言知识,一定要达到能熟练掌握,实际运用的程度。在实训的大程序中,结构体在指针中的表现方法,数组及在结构体中的运用等具体的技术环节,都得到了体现,不会指针,我们的工作是没法展开的。所以,在实训期间,大家在巩固基本知识的基础上,逐块攻克实训课题,克服了困难,自信心得到了提高。最后,谈谈我们组的程序软件。商店商品管理系统,是一个比较利于应用,解决实际问题,方便实际管理的程序。设计代码比较复杂,结构比较严谨。在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难。但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对C语言这门学科的兴趣也提高了。当然,我们编写的商店商品管理系统,还存在很多疏漏和不合理之处。比如,程序复杂冗长,如果时间充裕,我们将在不改变程序运行结果的基础上,简化程序,使每一句更加精辟,总体上更加简化。另外,在程序的外观上,我们由于时间问题,没有做更多的修饰,运行起来显得比较死板、枯燥乏味。如果增添一些色彩和其他效果,我们的程序也许会更加完美。以上就是我的C语言实训个人总结

C语言数组学习有什么心得

1、数组传递给函数,模拟传引用调用的方式自动把数组传递给函数,意味着被调用的函数能够修改原是数组的元素值,e.g.int hourly;//数组定义void modify(int ,int );//函数原型modify(hourly,24);//函数调用,数组名即数组第一个元素的地址注意:为了防止函数中修改数组的值,采用类型限定符const做前缀,数组元素成为函数体中的常量,函数体中任何修改数组元素的企图都会导致编译错误,e.g.void modify(const int ,int);2、字符数组字符串读取:scanf(“%s“,string1);//不用地址符号&,因为数组名是数组的起始地址字符串显示:printf(“%s“,string1);e.g.char string1=“good girl“;//字符串charstring1={’g’,’o’,’o’,’d’,’\0’,’g’,’i’,’r’,’l’,’\0’};//上下声明等价注意:’空字符’=’\0’,终止符,用printf(“%s“,string1)输出,得到good girl。3、多维数组e.g.int a={{1,2,3,4},{5,6,7,8},{9,10,11,12}};假设数组起始地址2000,则表示形式含义地址a指向a,即0行首地址。2000a,*(a+0),*a第0行第0列元素地址2000a+1,&a第1行首地址2008a,*(a+1)第1行第0列元素地址2008a+2,*(a+1)+2,&a第1行第2列元素地址2012*(a+2),*(*(a+1)+2),a第1行第2列元素的值7在二维数组中,a+i=a[i]=*(a+i)=&a[i]=&a[i],即他们的的地址值是想等的。

请教学习c语言的心得

C语言学习心得前言指针,一直被认为是C语言中的精华。只有掌握了指针,你才能说你学会了C语言。相当初,我是把指针这一章足足看了三遍才算是“学了这一章”下面的文字是阿容写的,对我学习C语言的指针帮助很大。好东西不敢独享,今天把它贴出来,希望大家也会有所帮助。 第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让 我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr; (3)int **ptr; (4)int (*ptr); (5)int *(*ptr); 如果看不懂后几个例子的话,请参阅我前段时间贴出的文章《《如何理解c和c ++的复杂类型声明》》。 1。 指针的类型。 从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就 是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的 类型: (1)int *ptr; //指针的类型是int * (2)char *ptr; //指针的类型是char * (3)int **ptr; //指针的类型是 int ** (4)int (*ptr); //指针的类型是 int(*) (5)int *(*ptr); //指针的类型是 int *(*) 怎么样?找出指针的类型的方法是不是很简单? 2。指针所指向的类型。 当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译 器将把那片内存区里的内容当做什么来看待。 从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符 *去掉,剩下的就是指针所指向的类型。例如: (1)int *ptr; //指针所指向的类型是int (2)char *ptr; //指针所指向的的类型是char (3)int **ptr; //指针所指向的的类型是 int * (4)int (*ptr); //指针所指向的的类型是 int() (5)int *(*ptr); //指针所指向的的类型是 int *() 在指针的算术运算中,指针所指向的类型有很大的作用。 指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越 来越熟悉时,你会发现,把与指针搅和在一起的“类型”这个概念分成“指针的 类型”和“指针所指向的类型”两个概念,是精通指针的关键点之一。我看了不 少书,发现有些写得差的书中,就把指针的这两个概念搅在一起了,所以看起书 来前后矛盾,越看越糊涂。 3。 指针的值,或者叫指针所指向的内存区或地址。 指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是 一个一般的数值。在32位程序里,所有类型的指针的值都是一个32位整数,因为 32位程序里内存地址全都是32位长。 指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。以后,我们说一个指针的值是XX,就相 当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块 内存区域,就相当于说该指针的值是这块内存区域的首地址。 指针所指向的内存区和指针所指向的类型是两个完全不同的概念。在例一中 ,指针所指向的类型已经有了,但由于指针还未初始化,所以它所指向的内存区 是不存在的,或者说是无意义的。 以后,每遇到一个指针,都应该问问:这个指针的类型是什么?指针指向的 类型是什么?该指针指向了哪里? 4。 指针本身所占据的内存区。 指针本身占了多大的内存?你只要用函数sizeof(指针的类型)测一下就知道 了。在32位平台里,指针本身占据了4个字节的长度。 指针本身占据的内存这个概念在判断一个指针表达式是否是左值时很有============================ 7月11日 c语言心得一 2.数据输出c语言不提供输入输出语句,输入输出操作是由c的库函数完成。但要包含头文件stdio.h。putchar( ) 向终端输出一个字符printf( )的格式字符:① d格式符 用来输出十进制整数%d 按整型数据的实际长度输出%md 使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度%ld 输出长整型数据② o格式符 以八进制形式输出整数③ x格式符 以十六进制形式输出整数 ④ u格式符 用来输出unsigned型数据,以十进制形式输出⑤ c格式符 用来输出一个字符⑥ s格式符 输出一个字符串%s 输出实际长度字符串%ms 输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出%-ms输出的串占m列,如果串长度小于m,右补空格,%m.ns 输出占m列,但只取字符串中左端n个字符并靠右对齐%-m.ns m、n含义同上,靠左对齐,如果n》m,则m自动取n值⑦ f格式符 以小数形式输出实数%f 整数部分全部输出,小数部分输出6位%m.nf 输出数据共占m列,其中有n位小数。如果数值长度小于m,左补空格 %-m.nf 同上,右补空格⑧ e格式符 以指数形式输出实数%e 系统指定6位小数,5位指数(e+002 )⑨ g格式符 输出实数,根据数值大小,自动选f格式或e格式 3.数据输入getchar( ) 从终端输入一个字符scanf( 格式控制,地址列表) 标准C scanf中不使用%u,对于unsigned型数据,以%d或%o或%x输入。%后的*,用来跳过它相应的数据。输入数据时不能规定精度如scanf( “%7.2f“, &a );是不合法的。部分字符串处理函数puts(字符数组) 将一个字符串输出到终端。gets(字符数组) 从终端输入一个字符串到字符数组,并且得到一个函数值,为该字符数组的首地址strcat(字符数组1,字符数组2) 连接两个字符数组中的字符串,数组1必须足够大。Strcpy(字符数组1,字符串2) 将字符串2拷贝到字符数组1中。Strcmp(字符串1,字符串2) 比较字符串,相等返回0,字符串1》字符串2,返回正数,小于返回负数。 Strlen(字符数组) 求字符串长度。Strlwr( 字符串) 将字符串中的大写字母转换成小写Strupr( 字符串) 将字符串中的小写字母转换成大写以上是一些比较常用的字符串处理函数。动态存储变量与静态存储变量从变量值存在的时间(生存期)角度来分,可分为静态存储变量和动态存储变量。静态存储指在程序运行期间给变量分配固定的存储空间,动态存储指程序运行期间根据需要动态的给变量分配存储空间。C语言中,变量的存储方法分为两大类:静态存储类和动态存储类,具体包括:自动的(auto),静态的(static),寄存器的(register),外部的(extern)。1) 局部变量的存储方式函数中的局部变量如不作专门说明,都之auto的,即动态存储的,auto可以省略。局部变量也可以定义为static的,这时它在函数内值是不变的。静态局部变量如不赋初值,编译时系统自动赋值为0,动态局部变量如不赋初值,则它的值是个不确定的值。C规定,只有在定义全局变量和局部静态变量时才能对数组赋初值。为提高执行效率,c允许将局部变量值放在寄存器中,这种变量叫register变量,要用register说明。但只有局部动态变量和形式参数可以作为register变量,其它不行。2) 全局变量的存储方式全局变量在函数外部定义,编译时分配在静态存储区,可以在程序中各个函数所引用。多个文件的情况如何引用全局变量呢?假如在一个文件定义全局变量,在别的文件引用,就要在此文件中用extern对全局变量说明,但如果全局变量定义时用static的话,此全局变量就只能在本文件中引用了,而不能被其它文件引用。3) 存储类别小结从作用域角度分,有局部变量和全局变量局部变量:自动变量,即动态局部变量(离开函数,值就消失) 静态局部变量(离开函数,值仍保留) 寄存器变量(离开函数,值就消失) (形参可定义为自动变量和寄存器变量)全局变量:静态全局变量(只限本文件引用) 全局变量(允许其它文件引用)从存在的时间分,有静态存储和动态存储动态存储:自动变量(本函数内有效) 寄存器变量(本函数内有效) 形参静态存储:静态局部变量(函数内有效) 静态全局变量(本文件内有效) 全局变量(其它文件可引用)从变量值存放的位置分静态存储区:静态局部变量 静态全局变量全局变量动态存储区:自动变量和形参寄存器内:寄存器变量7. 内部函数和外部函数 内部函数:只能被本文件中的其它函数调用,定义时前加static,内部函数又称静态函数。外部函数:可以被其它文件调用,定义时前加extern,如果省略,则隐含为外部函数,在需要调用此函数的文件中,一般要用extern说明。c编译系统在对程序进行通常的编译之前,先进行预处理。c提供的预处理功能主要有以下三种:1)宏定义 2)文件包含 3)条件编译1. 宏定义不带参数的宏定义用一个指定的标识符来代表一个字符串,形式:#define 标识符 字符串几点说明:1) 宏名一般用大写2) 宏定义不作语法检查,只有在编译被宏展开后的源程序时才会报错3) 宏定义不是c语句,不在行末加分号4) 宏名有效范围为定义到本源文件结束5) 可以用#undef命令终止宏定义的作用域6) 在宏定义时,可以引用已定义的宏名带参数的宏定义定义形式:#define 宏名(参数表) 字符串 这和函数有些类似,但他们是不同的:1) 函数调用时,先求实参表达式值,再代入形参,而宏只是简单替换,并不求值2) 函数调用是在程序运行时分配内存的,而宏展开时并不分配内存,也没有返回值的概念3) 对函数中的实参和形参都要定义类型,而且要求一致,宏名无类型,其参数也没有类型。4) 函数只有一个返回值,而宏可以得到几个结果5) 宏替换不占运行时间,只占编译时间,而函数调用占运行时间2. 文件包含处理#include “文件1“ 就是将文件1的全部内容复制插入到#include位置,作为一个源文件进行编译。在#include命令中,文件名可以用“ “也可以用《 》,假如现在file1.c中包含file2.h文件,“ “表示系统先在file1.c所在目录中找file2.h,如果找不到,再按系统指定的标准方式检索目录,《 》表示系统直接按指定的标准方式检索目录。所以用“ “保险一点。3. 条件编译条件编译指不对整个程序都编译,而是编译满足条件的那部分。条件编译有以下几种形式:1)#ifdef 标识符 程序段1 #else程序段2#endif它的作用:当标识符在前面已经被定义过(一般用#define),则对程序段1编译,否则对程序段2编译。2)#ifndef 标识符程序段1#else程序段2#endif它的作用和#ifdef相反,当标识符没被定义过,对程序段1编译,否则对程序段2编译。3)#if 表达式程序段1 #else 程序段2#endif它的作用:当表达式值为真(非0)时,对程序段1编译,否则对程序段2编译。http://spaces.msn.com/lxj5816778/Blog/cns!1pmxrkmy9J0DF4J21zFuHFzQ!134.entry


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: qq图标代码(qq空间名人图标代码)

下一篇: 布加迪威龙16.4GrandSportVitesseRafale特别版在巴西亮相



推荐阅读