第一篇:C语言学习总结
C语言学习总结
通过一个学期的学习,c语言的学习也进入尾声了,我由以前的对C语言毫不知道逐渐转变为熟悉,也逐渐发现了其中的优势。可能是女孩子的原因,对电脑也没有太多兴趣,但是因为是专业课的而当我真正学习他的时候,却发现它并非我想象中的那么好学。刚开始学习时候,我是满怀信心的去听的,到最后却听的一头雾水。随课程的深入,我发现自己越来越跟不上老师的进度,这让我感到很心慌。但是和老师和同学的交流我发现很多同学和我遇到的差不多,老师曾说过虽然不喜欢但是不能讨厌,我就带这心态慢慢去学习。去了解c语言。
C语言是一种计算机程序设计语言。具有简单易学和可移植性好等特点,具有较强的生命力和广泛的应用前景它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言。随着计算机技术的深入发展,特别是微机的普及,越来越多的人在学习计算机知识以满足社会发展和自身的需要。C语言不仅为计算机专业人员所使用和喜爱,近年来,许多计算机应用人员也开始喜爱和使用C语言。实践证明,它是一种很好的程序设计语言。
C语言是一门实用性的课程,学校在安排课程表时应该将实验课和理论课交叉着安排,这样就可以将之前学习的课程进行复习一下,更好的掌握知识。虽然说拷贝别人的程序是不好的,不过我认为对于我们这些初学者而言,对于老师上课写的经典的程序可以选择性的拷贝给我们。对于我们初学者而言也是比较有效的。我现在发现,对于书上的代码,我能够看懂他们的意识,但当自己去编写的时候,却相当的不顺利,我觉得有很多困难:一是对于在编程的时候没有一个总体的思路,我不知道应该如何来进行一个总体的布局,还有我不知道应该如何来运用各种语句。自己写程序时能检验自己学习的情况,了解他们的规则和注意事项,怎么实现的,这样写出程序才得心应手。同样也养成良好的编写习惯。比如用缩进的方式,随时保存,程序最好简单易懂等好的习惯。让自己在以后调试程序时能节省很多时间增加工作效率。C语言是一门最基础的程序设计语言,只有学习好了C,才能更好的学习其它程序设计语言,如C++、Java。才能更好的学习之后的专业课。通过C语言的学习,也学会了一些学习方法,应该是验证了一些学习方法,课前预习,课上认真听讲,课后仔细复习,同时,实验课上将老师讲授的知识认真实践,只有这样才能将课程学习好,这也是学习每门课程最基本的学习方法。当然c语言还涉及其他学科,比如英语和数学。其是c语言的核心是运用数学。数学好才是c语言学好的关键。又因为c语言更多的是用英语表达的,如果连看都看不懂那还学什么c语言呢。所以学好c语言还要学好其他学科,为学好这门语言打下坚实的基础。
我对C语言的总体认识如下:开始,初步认识到了什么是C语言、C语言和其它程序设计语言有什么不同以及它的发展史。后几章学习到了C最基本的东西,运算符、数据类型、变量的使用等,同时也学会了C程序的基本结构,包括顺序程序设计、选择程序结构设计、循环程序设计。能够参照书上的简单例子写一些简单程序。并且我们学习了程序的控制结构,掌握了while、for、等一些循环语句同时也能够用这些结构写一些简单的程序,如求最小公倍数,数字的排序、倒序等。认识到C语言的简单用途。之后的几章学习都有点难懂,数组,函数的模式化,指针都是非常难的,很让人糊涂。几乎听不懂,这也是c语言的核心所在。同时这些地方也是我下功夫最深的。第六章学习数组,数组避免了程序的重复输入,避免了程序的冗杂。掌握了整型数据数组,学会了用数组对字符进行复制、粘贴、连接、求长度,同时也学了选择排序、冒泡排序等简单的程序。第七章是函数的调用,能很好的节省写程序的步骤和方法。但是我也只能明白一点的皮毛。第八章指针学的不是很好,只能简单的明白指针。结构体把不同类型的数据类型结合在一起,结合fopen和fclose,可以对文件进行输入和输出。这时体会到了C语言的奇妙所在。一直想把文件里面的东西用C语言操作,把C语言操作结果用文件输出,终于可以实现了。
老师给我们和自己总结的学习方法:首先,要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一 基本掌握C语言编程软件的使用方法 ; 然后,在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发了什么变化,分析结果变化的原因,加深所学知识点的理解。事实上这和第一步是同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。第三,还可以将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。刚开始,每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,弄清发生错误的真正原因。其次,上机调试程序时可以带一个笔记本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免再编程时犯同样的错误。最后,就是要求不看教材,即使程序不能运行,看自己能否将其改正过来,使其能正确运行。目的是对前两步的记忆、理解进一步强化。对比前两步,设计一些相同的问题,试着自己编程,然后调试,再逐渐扩大,增加程序行,添加一些辅助功能等等。可以先做小程序,然后综合各个小程序,试着做一个稍大的程序,提高自己的综合运用能力。比如进行课程设计实训就是一种不错的选择,会对实际运用能力有较大提高,并且会对所学知识进行加深、巩固理解。在实践的同时多思考问题,多看别人优秀的解题思路与方法,多看别人优秀的代码,尝试自己去实现或者模仿着去实现,让别人对你的代码多提意见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西,有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。
这个社会中,经验与想法最为重要。从接触c语言,到了解c语言,是一个过程,是自身学习的过程,熟话说,师傅领进门,修行靠自身.在编写过程中也认知了自身的不足,这些有的是上课时小漏动,也有是自己容易出错的地方,在这放面的认知,只有实打时的多练习,也希望老师能在以后的学习生活中多多的能给予指导,这样我们也可以少走一些弯路,c语言只是人生中的学习的一个小插曲,但让我认识到要在学习中学习,不断进步.。学习c语言的过程是枯燥的,因为它有太多晦涩难懂的专业术语,因此我们应培养起学习的兴趣,仔细发现学习的亮点并且要有明确学习的目标,鞭策自己不断学习,不能放弃。学习C语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。只要肯下功夫,没有什么事情可以难倒我们!
第二篇:c语言学习总结
c语言学习总结
c语言学习总结篇一:
怎么才能学好c语言呢?
1,要学习c语言的基本语言及程序结构,这时谭浩强的那本书就比较经典了。c语言学习心得。当然你不能只看书,要动手动写代码,去上机测试。因为很多时候写程序就是一个测试,你就是再牛的程序员也不能可写出没有bug的程序,所以学会找出程序中的错误很重要。这也是你以后分析他人的程序的先决条件,不可偷懒只看书,这样你是不可能学好一门计算机语言的。
2,分析他人写的程序,网上有很多实例代码,下载下来自己先看一下他们的实例是解决什么问题的,有时候很多经典的模块可以为已所用的。不过,网上下的代码中会存在很多问题,环境问题啊,编程习惯问题了,不过也好,在解决问题的过程中你会学到很多东西的,像我在分析网上下的代码时就遇到了我平时没有遇到的dos函数,masm与c语言的接合等方面的问题,学到了不少东西呢。
3,要是你再想学的深一点儿,那还得学习,及,再深就要去分析linux内核或是驱动程序了,这因人而异。但不管怎么学,一定要有个方向,有计划,这样才会事半功倍。c语言学习心得。如果你能找到你想学习方面的高手指导,或是几个人一起学的话那就更好了。
4,分析c语言函数的实现方法。这对你很好地使用函数会很有帮助的,再者很多大公司的笔试题就是让你实现c语言的数,比如:中兴的strcpy,阿里巴巴的strcmp,上海贝尔公司宣讲会上一个技术总监说,要是谁能说出printf的实现方法及返回值,当场录用。再者,c语言经过这么多年的考验,仍然很热门,可见其开发是多么经典啊,学习一下c函数实现,比学习任何书都要好。要是再有兴趣的话就分析一下c的头文件,这也是个不错的学习方面。c语言学习总结篇二:
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1。加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现
原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。
通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去“掩盖”程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
2。熟悉程序开发环境、学习计算机系统的操作方法
一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓“环境”就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3。学习上机调试程序
完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。
通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。
第三篇:c语言学习总结
(1)两个if并列的时候,if函数是有先后顺序的。
如 iMax = a;
if(b > iMax)
{
iMax = b;
}
if(c > iMax)
{
iMax = c;
}
printf(“三个数的最大值是:%dn”,iMax);
(2)
printf(“请输入机票价格:”);
scanf(“%f”,&fTicketPrice);
(3)%5.2f的意思是以长度为5,小数点后面2位的形式输出。
(4)闰年判断((iYear % 400 == 0)||(iYear % 4 == 0 && iYear % 100!= 0))
第四篇:C语言学习总结(模版)
C语言学习总结
第一章入门
1、UNIX操作系统,C编译器和几乎所有的UNIX应用程序都使用C
语言编写的。
2、在C语言中,所有变量都必须先声明后使用。声明通常放在函数起始处,在任何可执行语句之前。声明用于说明变量的属性,它有一
个类型名和一个变量表组成。
3、printf函数并不是C语言本身的一部分,仅仅是标准库函数中的一个函数。
4、EOF定义在头文件
都不同。
5、函数最好按照ANSI C中定义的方式声明。
6、在C语言中,所有的函数参数都是“通过值”传递的。被调用函数不能直接修改主调函数中变量的值,而只能修改其私有的临时副本的值。
7、要想让函数能够修改主调函数中的变量,需要用指针或者数组作
为参数。
8、函数中的每个局部变量只在函数被调用时存在,在函数执行完毕
退出时消失。
9、外部变量必须定义在所有函数之外,且只能定义一次,定义后编
译程序将为它分配存储单元。
10、外部变量在数据段分配。重复定义其实是重复分配,所以会出现
错误。
11、所有在目标代码中的地址都是相对地址,直到链接时重定位。
12、“定义”表示创建变量或分配存储单元,而“声明”指的是说明变量的性质,但并不分配存储单元。
13、外部变量的使用会降低程序的通用性,应尽量减少使用。
14、变量名(标识符)都是给人看的,最后都变成内存地址。
15、变量名,变量类型都是编译时的概念,而不是运行时的概念。
第二章 类型、运算符与表达式
1、关于变量名:局部变量一般使用较短的变量名,外部变量使用较
长的名字来表达用途。
2、short int一般写为short,通常为16位,long int一般写为long,通常为32位。int可以是16位或32位。
3、char可以有signed和unsigned加以限定,不加限定的char符号取决于具体机器,但是可打印字符总是正值。
4、无符号常量以字母u或U结尾。后缀ul或UL表明是unsigned long
类型。
5、带前缀O的整型常量表示它为八进制形式;前缀为0x或0X,则
表示它是十六进制形式。
6、常量表达式在编译时求值。
7、某些字符可以用转义字符序列表示。例如,'ooo'和'xhh'。
8、字符串常量也叫做字符串字面值,是由双引号括起来的0个或多
个字符组成的字符序列。
9、(类型名)表达式这种方法经常用来转换指针。
10、自增和自减运算只能作用于变量。
11、赋值运算符有很多优点:简洁、高效,与人们的思维习惯接近。
12、三元运算符条件表达式可以写出很简洁的代码。
13、运算符的优先级:多用括号。
14、按位与运算符&经常用于屏蔽某些二进制位;按位或运算符|常
用于将某些二进制位置为1。
第三章控制流
1、if语句要注意配对。
2、switch语句的最后一个分支(即default分支)的后面也应该加上
一个break语句。
3、for语句的各组成部分可以是任何表达式,所以for语句并不限于
通过算术级数进行循环控制。
4、do while语句至少执行一次。
5、应尽量少用或不用goto语句。
第四章函数与程序结构
1、C语言程序一般有许多小的函数组成,而不是由少量较大的函数
组成。
2、最简单的函数可以是dummy(){},它可以在程序开发期间用于保留
位置。
3、如果两个函数必须共享某些数据,而这两个函数互不调用对方,则用外部变量。
4、函数的参数实际是局部变量。
5、外部变量的初始化只能出现在其定义中。
6、名字的作用域指的是程序中可以使用该名字的部分。
7、对于在函数开头声明的自动变量来说,其作用域是声明该变量名的函数。
8、不同函数中声明的具有相同名字的各个局部变量之间没有任何关
系。
9、如果要在外部变量的定义之前使用该变量,或者外部变量的定义与变量的使用不在同一个源文件中,则必须在相应的变量声明中强制
性地使用关键字extern。
10、外部变量的初始化只能出现在其定义中。
11、对于某些中等规模的程序,最好只用一个头文件存放程序中各部分共享的对象。较大的程序需要更多的头文件,我们需要精心地组织
它们。
12、关于static(1)static既可用于声明外部变量,也可用于声明内部变量。
(2)static既可用于声明变量,也可用于声明函数。
(3)通常情况下,函数名字是全局可访问的,对整个程序的各个部分而言都可见。但是,如果把函数声明为static类型,则该函数除了对该函数声明所在的文件之外,其他文件都无法访问。
(4)用static也可以限定外部变量的作用域为其所在的源文件。这与限定函数其实是一样的。因为函数可以看作是外部变量。(5)static类型的内部变量同自动变量一样,是某个特定函数的局部变量,只能在该函数中使用,但它一直占用存储空间,而且在编
译时分配内存。
13、在一个好的程序设计风格中,应该尽量避免出现变量名隐藏外部
作用域中相同名字的情况。
14、在不进行显示初始化的情况下,外部变量和静态变量都将被初始化为0,而自动变量和寄存器变量的初值则没有定义。
15、对于外部变量和静态变量来说,初始化表达式必须是常量表达式,且只初始化一次(程序开始执行前进行初始化)。
16、对于自动变量和寄存器变量,则在每次进入函数或程序块时都将
被初始化。
17、数组的初始化可以在声明的后面紧跟一个初始化表达式列表。当省略数组的长度时,初始化表达式的个数就被当作是数组的长度。
18、如果数组的初始化表达式的个数比数组的元素数少,则对外部变量、静态变量和自动变量来说,没有初始化表达式的元素将被初始化
为0。
19、续行可以在待续行的末尾处加上一个反斜杠符。
20、宏替换中,参数名以#作为前缀则结果将被扩展为由实际参数替
换该参数的带引号的字符串。
21、预处理器运算符##为宏扩展提供了一种连接实际参数的手段。如果替换文本中的参数与##相邻,则该参数将被实际参数替换,##与前后的空白符将被删除,并对替换后的结果重新扫描。
第五章指针与数组
1、ANSI C使用类型void *代替char *作为通用指针的类型。
2、指针只与字长有关。
3、每个指针都必须指向某种特定的数据类型。
4、void类型的指针可以存放指向任何类型的指针,但是它不能间接
引用其自身。
5、指针pa+1就意味着pa所指向的对象的下一个对象。相应地,pa+i指向pa所指向的对象之后的第i个对象。
6、数组名不是变量,指针则是变量。因此指针可以作自增和赋值运
算,但是数组名不可以。
7、类似于p[-1]、p[-2]这样的表达式在语法上都是合法的,它们分别
引用位于p[0]之前的两个元素。
8、一般情况下,同其他类型的变量一样,指针也可以被初始化。通常,对指针有意义的初始化值只能是0或者是表示地址的表达式,对后者来说,表达式所代表的地址必须是在此前已定义的具有适当类型的数据的地址。
9、C语言保证0永远不是有效的数据地址。
10、指针没有合理合法的初值,通常出现断错误。
11、字符串长度、拷贝和比较的函数:
int strlen(char *s)
{
char *p = s;
while(*p!= ' ')
p++;
return p*t;
} 第六章 结构
1、结构可以拷贝、赋值、传递给函数,函数也可以返回结构类型的返回值。
2、如果结构声明后面不带变量表,则不需要为它分配存储空间,它仅仅描述了一个结构的模板或轮廓。
3、结构的合法操作只有几种:作为一个整体复制和赋值,通过&运
算符取地址,访问其成员。
4、在所有运算符中,下面四个运算符的优先级最高:结构运算符“.”和“->”,用于函数调用的“()”以及用于下标的“[]”。
5、sizeof是编译时的一元运算符,它用来计算任意对象的长度。
6、条件编译语句#if不能使用sizeof,应为预处理器不对类型名进行分析。但预处理器并不计算#define语句中的表达式,因此在#define
中使用sizeof是合法的。
7、结构有对齐问题,主要是为了提高访问效率。
8、typedef可以使表达更简洁,可以使程序参数化,还可以为程序提
供更好的说明性。
9、联合实际上就是一个结构,它的所有成员相对于基地址的偏移量都为0,此结构的容量要大到足够容纳最“宽”的成员,其对齐方式要
适合联合中所有类型的成员。
10、对联合的操作与对结构允许的操作相同;作为一个整体单元进行赋值、复制、取地址及访问其中一个成员。
11、联合只能用其第一个成员类型的值进行初始化。
12、位字段与具体的实现有关,而且与大小端有关,因此具有不可移
植性。
第五篇:C语言学习总结
C语言学习总结
学了一个学期的C语言,我只有一个感觉,那就是一个字:难。不过,我觉得对C语言已经有了一个初步的认识。能够做到利用C语言编织出一些非常简单的程序,和读懂大部分的程序代码,明白程序要表达的意思。
下面是对C语言中我理解的知识的总结:
1、一些基本的函数和基本数据类型的应用。其中,基本数据类型分为整
型、浮点型、字符型、枚举类型。基本函数包括输入输出函数。
2、把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算。
3、在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程。
4、要分清楚各个变量的生存期和作用域,不能发生混淆,以致发生错误。
5、数组和指针是C语言的经典之处,可以通用,并且互相转换,具有非
常强大的功能,但是使用不当的话,会造成程序出错,打乱原有程序的规律,使可读性明显变差。
6、结构体也是常用的一种数据类型,它的功能也比较强大,相对于指针
而言,结构体掌握起来比较容易理解和使用。
7、对于文件的操作是非常关键的,把输入的数据保存起来,下次还能够
使用,这才是关键问题。所以对文件操作是否成功,使程序是否编制成功的重要因素。
C语言虽然是一门很基础的语言,但是对我来说学习起来是有些困难的。在学习C语言期间,做了很多实验,这是学好C语言必不可少的一步。因为不管你理论知识掌握的如何熟练,不上机实际操作的话,是没有任何效果的,许多问题都是在实际上机操作中显现出来的,在书本上是体现不出来的。书本上是永远不会出现你自己的思想成果的,正是应了那句话“实践是检验真理的唯一标准。”所以,在以后的学习中,实践是必不可少的!