c语言学习心得体会
c语言学习心得体会一:c语言学习心得体会
c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理。简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
>c语言学习心得体会二:c语言学习心得体会>>(1116字)
C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的
windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl... 都是衍生自C语言。掌握了C语言,可以说你就掌握了很多门语言。
学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机
专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。
在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,并总结了一点经验:
要了解C语言就要从语法基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);
其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IF ELSE 和 SWITCH CASE 这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF 什么时侯用 SWITCH呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。
>c语言学习心得体会三:c语言学习心得体会>>(816字)
C语言是一种结构化语言,是大部分编程语言的基础,C语言学好了,以后的JAVA,C#以及更多的编程语言才有可能学好。下面就跟南宁达内小编一起,要学好C语言必须了解的四点:
1、课前认真预习,把下一节要上的内容先自己看一遍,把不懂的地方打个标记,等上课的时候可以请教老师。理解书上的例子,搞懂每个语句的含义,用法。看完后尝试着不看例子自己编写程序,编完以后再跟书上进行比较,看自己的程序还有哪方面的不足,再进行改正。想要真正学好C语言光看书是不够的,一定要自己多动手。
2、上课认真听讲积极思考,提高上课效率。老师上课讲述的都是课程的重点和难点,听好课程可以达到'事半功倍'的目的。
3、课后复习。把每天的上课内容回家再温习一遍,独立完成课后的作业,如果有时间,最好能找点课外书籍、课外习题什么的来巩固所学的内容。
4、主动上机,多多实践,提高动手能力。通过上机实践来验证所学的理论,通过在机器上查找错误来巩固概念,通过提高上机能力来促进理论学习,开阔编程思路,提高反映速度,提高分析问题解决问题的能力,锻炼心理素质,提高心理承受能力。
学习C语言的初期重点要放在掌握语言的语法和规定上,一定要养成良好的编程习惯,平时写程序注意语法规范格式控制,格式规范了,出了错误也容易找到出错的地方,这是C语言的基础;后期的重点要转移到掌握编程的思路和基本算法上来。课后多做习题,找一些经典例子尝试自己编写,写程序切忌半途而费,想到一个思路,就要按自己思路把它写完,就算错了,也可以让自己了解为什么这样做会错?错在哪里?会出什么结果?以后自己也很难在这个地方犯同样的错误。当学到一个新的知识点,就试着把它运用到以前做的习题上,不但巩固了以前学的内容,也更加能加强新知识的理解。
学习C语言就是要经过以上这样几个反复,才能前后融会贯通,积累所应该掌握的知识。C语言是这样,其他语言也是这样,从基本抓起,多动手,多动脑,不懂就问,注意平时积累。
>c语言学习心得体会四:c语言学习心得>>(864字)
学习C语言已经一年多,对C也算得上半个入门者,期间也写过一些自娱自乐的代码。其实个人认为无论学习什么语言,最重要的是掌握习编程思想,然而C语言一种学习编
程思想的基础语言。所以,C语言的重要性不言而喻。
一、课本
无论用的是什么书,要学好C语言,把书上的每一个例题、习题的代码读懂,这是学C最基本的要求。弄懂每一章的内容是什么?在C语言中有什么用?并尝试修改每一个例题的代码,采用不同的代码来实现题目的要求。
二、课堂
在每一节课上,注意老师讲的内容,有的知识,老师稍微提点,你就能弄懂,但是自己看书,或许你几天也弄不懂。老师更能清晰地让你明白所要求掌握的知识点。在课堂上,尽可能多的在草稿纸上写下你自己的代码,让老师看或是自己上机调试。
三、笔记
无论学习什么知识,笔记是重点,俗话说:好记性不如烂笔头。一个认真学习的人,总是记了很多笔记的,想学好编程,你的笔记本上总有课本上的每一个例题代码的核心部分。以及八大经典的算法举例,递推、递归、穷举、贪心、分治、动规、迭代、分枝。
四、交流
想学好C语言,交流是必须的,尤其是学习C语言的新手,这里,我向大家推介——百度C语言贴吧,这里有很多的学习者,也有很多高手,在这里你能学到课本以及课堂上学不到的东西。和他人交流也是很重要的。
五、上机练习
这是学习好C语言的关重要的环节,无论你编程学得多好,上机实现才是目的,所以,不怕要辛苦,把你的每一段代码都敲进计算机,让计算机来实现,这样有助于你对程序的理解,并试着修改你的代码,让你的代码更精简,效率更高。平时没事的时候,在计算机上多敲代码,一个编程厉害的高手,他的计算机上会有多代码。
想成为编程高手的军规:
1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!
2、编程不是技术活,而是体力活。
3、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
4、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣。
5、学习编程的秘诀是:编程,编程,再编程。
>c语言学习心得体会五:c语言学习心得体会>>(1190字)
经过了一段时间的学习,我觉得对c语言已经有了一个初步的认识。能够做到利用c语言编织出一些非常简单的程序,和读懂大部分的程序代码,明白程序要表达的意思。
下面是对C语言中有许多重要知识的总结:
1、 一些基本的函数和基本数据类型的应用。其中,基本数据类型分为整型、浮点型、字符型、枚举类型。基本函数包括输入输出函数。
2、把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算。
3、在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程。
4、要分清楚各个变量的生存期和作用域,不能发生混淆,以致发生错误。
5、 数组和指针是c语言的经典之处,可以通用,并且互相转换,具有非常强大的功能,但是使用不当的话,会造成程序出错,打乱原有程序的规律,使可读性明显变差。
6、结构体也是常用的一种数据类型,它的功能也比较强大,相对于指针而言,结构体掌握起来比较容易理解和使用。
7、对于文件的操作是非常关键的,把输入的数据保存起来,下次还能够使用,这才是关键问题。所以对文件操作是否成功,使程序是否编制成功的重要因素。
我认为c语言是一门很基础的语言,所有的计算机语言都是相通的,只要一门学会了,其他语言就会很容易学会。但是c语言是基础中的基础,掌握好c语言对于今后别的语言的学习是非常有好处的。虽然学会了c语言的大部份基础知识,但是要掌握好c语言并不是一件简单的事情。以为把一点一滴的基础知识掌握牢固是不够的,主要是对程序编制要求的理解,思考如何利用c语言的所有基础知识来实现要编制程序的作用,以及如何更加简便的实现等等。这就需要有很强逻辑思维,和长时间的经验积累,以及自身的不断钻研等诸多因素的有机统一。
而我们软件测试的工作并不要求我们能够编出很复杂的程序,只要能够读懂编程人员的源程序就可以了。所以把c语言的基础知识学好是非常有必要的,也是必不可少的。
在学习c语言期间,每天都要不断的上机练习,这也是学好c语言必不可少的一步。因为不管你理论知识掌握的如何熟练,不上机实际操作的话,是没有任何效果的,许多问题都是在实际上机操作中显现出来的,在书本上是体现不出来的。书本上是永远不会出现你自己的思想成果的,正是应了那句话“实践是检验真理的唯一标准。”
学习完c语言后,我利用书本上的知识完成了软件工程师系统的11个版本。完成后才感觉到编写一个程序是多么不容易。光是这么一个简单的程序,就需要不断钻研和反复的推敲,还要加上大量的上机时间,现在才明白为什么编程是脑力劳动的真正意义了。
总之,通过c语言的学习,使我对计算机语言有了一些初步的认识和理解,使我对计算机语言不再像以前一样一无所知,认为那是高不可攀的、十分难以理解、一般人学不会的东西了。我认为只要学习方法掌握好,再加上刻苦的练习,是完全有可能学好任何一门计算机语言的。最后用一句话表明在学习c语言过程中的感受,那就是“痛苦并快乐着。”
第二篇:c语言学习
1.学习C语言是为了学习其结构化的思想,是学习其它语言的基础。
2.计算机主要是用于科学运算的,语言则是用于和计算机打交道的工具。
3.求摩%的结果是余数。例:求50除23的余数。 结果不是2,而是4。
3.1 判断一个数能否被整除:求摩
3.2 余数等于0—能整除;不等于0—不能整除
3.3 判断一个数是偶数还是奇数,求这个数%2的结果为0或1
4.声明(定义):告诉计算机要腾出内存空间,并赋予数值的类型。例:int a ;int 要输出值搭配%d(%为站位字符,后面的字符代表输出类型) 。第一个%d找的是后面的第一个变量,按顺序执行。
5.关系运算符
所谓的“关系运算”实际上是”比较运算”
C语言提供如下6种关系运算符
< 小于
<= 小于等于
>
>=
== 是否等于
!= 是否不等于 ----------用于判断
优先级
前四种关系运算符优先级相同,后两种也相同,但前4种大于后2种
关系运算符的优先级低于算术运算符
关系运算符的优先级低于赋值运算符
这种关系只有成立与不成立两种可能情况, 关系成立时表达式的结果为真(1),否则表达式的结果为假(0)。
判断条件的结果的值为1或0。结果为成立或不成立。
6.逻辑运算符 逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的
真值和假值,只是认为非0为真值,0为假值。
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
例如:
5!3;
0||-2&&5;
!4;
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都
为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值
就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的
变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真
,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的
值时,后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后
面的表达式就不会再计算了。
C 提供的三种逻辑运算符
&& 与 (相当于and 且)————都成立时值为“1”
|| 或 (相当于or 或) ————有一个条件成立时值为“1”
! 非 (相当于not 取反) ————条件不成立时值为“1”
例:
a&&b 若a,b为真,则a&&b为真
a||b 若a,b之一为真,则a||b为真
!a 若a为真,则!a为假 ——————!0的值为1 ; !1的值为0
一、逻辑运算符: 包括: &&逻辑与 ||逻辑或 !逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 对于使用逻辑运算符的表达式,返回 0 表示“假”,返回 1 表示“真”。关于逻辑运算符的解释 请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。 假设一个程序在同时满足条件 a<10 和 b==7 时,必须执行某些操作。应使用关系运算符和逻辑运算符“与”来写这个 条件的代码。用&&表示“与”运算符,该条件代码如下: (a<10) && (b==7); 类似地,“或”是用于检查两个条件中是否有一个为真的运算符。它由两个连续的管道符号(||)表示。如果上例 改为:如果任一语句为真,则程序需执行某些操作,则条件代码如下: (a<10) || (b==7); 第三个逻辑运算符“非”用一个感叹号(!)表示。这个运算符对表达式的真值取反。例如,如果变量 s 小于 10,程序 程序需执行某些操作,则条件代码如下: (s<10) 或 (!(s>=10)) //s 不大于等于 10 关系运算符和逻辑运算符的优先级一般都低于算术运算符。例如,5>4+3 的计算与 5>(4+3)运算符是一样的,即 先计算 4+3,再执行关系运算。此表达示的结果为“假”,即,将返回 0。 下面的语句 printf("%d",5>4+3); 将输出 0
可以总结为:&&的结果是真真为真。||的结果是假假为假。
7. 运算符优先级
! ( 非 )
算术运算符
关系运算符
&& 和 ||
赋值运算符
由高往低
8. 题目:输入两个值求最大值----两种基本方法
解释:a>b如果成立则把a赋值给max,反之不成立则把b赋值给max。“:”前表示真,后则表示假。注意前提!
9.if-----成立 else------不成立 条件成立时结果为”真”,值为”1” 执行if语句 .反之不成立时结果为”假”,值为”0”执行else语句。
10. max=a>b?a:b 解释: 当条件为真时输出 “:”前面的表达式。反之。—————— 结果=判断表达式? 真:假
11. 多分支选择结构
如果用IF ELSE的话。虽然可以做出徕,但要用到众多的IF ELSE非常的烦琐。像这种多分支的选择,我们一般采用下面的语句
switch(变量)
{
case 值1: 代码; break;
???..
case 值n: 代码; break;
default:语句 N;//当变量不等于上面所有值时,执行default后的语句;
}
注意:
1. break退出{},不往下执行{}里的代码
2.case 后只能跟一个值,而不能是一个表达式
3.switch(变量)后没有”;” {}前后都没有”;”
4.100种可能的时候使用变量除以10来解决。
5.case后执行的结果一样的话可以省略只剩下最后一条语句。
12.如果字符a为值的话,要加上一对单引号,否则计算机默认为变量!
13. 三种选择语句的比较
If //只有条件成立时执行
I f else //适用于只有两种情况出现,要么执行A,要么执行B
Switch //适合多种情况,且变量是精确值时
注意
If(a>b>c) 错误
If(a>b&&a>c) 正确
字符一定要加’’引起来
Case,后不能是表示式
Default 后面不必加break
13. 语法格式
for(i=1;i<=5;i=i+1)
{
printf(“大”)
}
-------for循环共需要3个元素,分别是初始值;结束条件;及递增或递减的频率。
14. 求1至5之间所以数的和
在于这个题目前,我们先来看一下,
for (i=1;i<=5;i++)
{
printf(“%d”,i);
}
结果打印1,2,3,4,5
注意:
变量必须赋值后,才能参加运算
————————————————for的解释。
变量参加运算一定要有值。例:sum=sum+1,sum要赋初值。
15.for的通俗易懂解释:for(i=1;i<=5;i=i++)————i的第一次值为1,第二次值为2??
i++和++i的区分用法: i++的初始值为i,++i的初始值为i+1。
main()
{
int i=1,a,b;
a=i++; //这条语句执行之后i的值就变成i+1了。
b=++i;
printf("%d %d\n",a,b);
getch();
}
运行结果为:1 3
16.互换值,用中间变量。
17.while循环:在某些情况下,无法确定循环需要执行的次数,就需要用来while循环 Eg:输出 a 这个单词,如一直错误,就一直输入下去
语法格式
while(用户输入的值!= a)
{
继续默吧
}
只要条件满足即执行,直至条件不满足时,自动跳出while循环
18.for和while的区别。都是用于执行循环,但for的循环次数有边界(有次数限制),while则没有。
19. 幸运52
重点:循环,限制次数
一定要有一个使条件不成立的变量存在,否则进入死循环.
20. 两个循环结构的比较
i=0;
while (i<10)
{
i++;
printf (“欢迎进入c世界”);
}
for (i=0;i<10;i++)
{
printf (“欢迎进入c世界”); 注意:用while循环时
}
两者可互换
在不知道循环次数时用while
注意红体字!
21. 强行中止循环语句:
break (跳出循环)__即跳出大括号{}
当循环没有完成时,可能会因为某些特殊的条件需要跳出 整个 循环的执行,这时候就要用break来退出循环。
Break可以提高程序运行的效率
22.99乘法表
解题步骤:1.循环9次,并换行 2.外面循环几次,里面就循环几次。3.int i,j,s ;s=i*j;
23.三个数比较,定义一个中间数。----------相关知识:冒泡排序
24. main()
{
int x,y,z,t; //t为中间变量
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{
t=x; //先把最大的数赋值给t
x=y; //再把最小的数赋值给x,此时x为最小值 y=t; //最后把最大得值赋值给y,此时x,y为降序 }
if(x>z)
{
t=z;
z=x;
x=t;
}
printf("small to big:%d %d %d\n",x,y,z);
getch();
}
25. 函数
什么是函数
函数的定义
函数的类型
无参无返回值
有参无返回值
有参有返回值
无参有返回值
26. 什么是函数:
我们之前一直在使用各种各样的函数,如printf();scanf();getch();等
其实函数就是把一些实现某一功能的代码装在一起,起一个名字方便多次重复调用;只不过上面这些函数是系统自带的,我们看不到函数的代码。下面我们要学会自己编写函数。
27. 函数格式
格式如下:
返回值类型 函数名称(参数表)
{
语句1;
语句2;
?..;
语句n;
return s;
}
说明: 函数名称,即是函数下面{}中代码的一个总称,在程序中,直接输入” 函数名称()”(即调用函数)则立即执行函数{}中的代码,函数不调用是不执行的!
函数名称后面的(参数),是可选的。不填则该函数叫无参函数,有值,则是有参函数,一般为了使得函数跟据不同的信息返回不同的值时,需用有参函数,返回值的语句是“return”
28.自定义函数:封装,取名,调用 例子:
无参无返回值函数
void pr()
{
printf("********************\n");
}
main()
{
pr();
pr();
getch();
}
29. 有参无返回值函数
void pr(int a)
{
printf("********************%d\n",a); }
main()
{
int x=3;
pr(x);
getch();
}
30.
没有返回值时用void类型(空类型),在c语言中可写可不写。
31. 函数定义的思路:
确定函数功能
确定返回值类型
确定参数个数及类型
编写函数体内代码
确定返回值
函数=代码的集合
32.关于重复性代码,可以使用函数来代工。
33.数组,函数,指针。
34. 数组
数组的定义
想一想:
求用户输入10个同学的成绩,最后输出总分(平均分)则要定义10个变量。
什么是数组
数组是有序数据的集合,数组中的每一个元素都属于同一个数据类型,用一个统一的数组名和下标来唯一确实数组的元素。
35. 数组
数组的定义
格式:
类型说明符 数组名[常量表达式]
例:
int a[10] 它表示数组名为a,此数组有10个元素
36.
数组
数组定义注意事项:
数组名定义规则和变量名相同,遵循标识符命名规则。 数组名后用“[]”而不是”()”
即 int a(10) 错误的
“[]”内是不能是变量
{int n;scanf(“%d”,&n);int a[n]; }
以上代码是错误的
37. 数组
数组的赋值及使用
在定义数组时对数组元素赋初值:
例:
int a[3] = {0,1,2}
int a[] = {0,1,2}
调用
int i = a[2] 代表把数组中第三个元素赋值给i,即i=2 注意:
数组下标是从0开始的
int i = a 是错误的
38. 数组
数组的赋值及使用
采用循环的方式给数组赋值
39. 数组
二维数组
在定义数组时对数组元素赋初值:
int a[2][3] = {{1,2,3},{4,5,6}};
或,写在一个大括号内
int a[2][3] = {1,2,3,4,5,6};
40.指针--------------优点:直接对内存进行操作,灵活提高效率-------------------------缺点:增加程序可读性的难度,容易发生内存溢出事件。
41.\ 指针
什么是指针:
指针即地址
指针变量:一个变量专门用来存放另一个变量的地址(即指针),则把它称为指针变量
42. 指针
指针变量的定义及赋值
定义格式:
基类型 *指针变量名
例:int * p (定义了一个指向整形变量的指针变量)
赋值:
p = &i (即把整型变量i的地址放入到p中)
注意:
基类型,与赋值给该指针变量的变量类型要一样
&取地址运算符
43. 指针
例:
通过指针变量访问整型变量
44.指针
例:
输入a,b两数,按大小输出(用函数做)
45.指针
数组与指针
数组与指针赋值:
int * p = &a[0]
或 int * p = a;
通过指针引用数组元素 int x = a[1]
等于
int *p = a;
x = *(p+1);
数组的地址都是连继的