关闭

C语言学习随笔(3)—— 学习内容简述

标签: C语言初学
136人阅读 评论(0) 收藏 举报
分类:

    在对学习的方向以及目标有了一定了解后,开始对C语言的内容进行简单的了解,方便后续学习中的各项工作的展开。同时,这也是对今后学习进度的一个类似索引的东西。东西比较多,这里就不一一列举了,直接开始说明。

    1、C语言入门方面

    入门方面主要是一些基本知识,包括C语言程序的基本构成、C语言的历史、C语言程序的生命周期等等,主要是为了能够对 C 这门编程语言以及用它编写出来的程序有一个初步的认识。同时在这个阶段里还要练习一些其他的基本功,比如流程图的绘制和伪代码的编写。

    2、数据类型方面

    通常情况下,因为受到内存等程序使用环境的影响,在每一个编程语言中都会对数据占空间的大小进行一些定义和限制,那么由此就出现了各种数据类型。

    首先是基本数据类型,基本的数据类型包括常见的整型 int, 字符型 char,浮点型 float,双精度型 double等等。

    然后是常量,那么常量的特性呢是在任何时候它都是同一个数值,不会变,这也就导致了一个很容易混淆的情况。如果有这么一个语句 “ const  int  i = 10 ;”那么我们经常会说这个 i 是可以看做是常量的,然而在我们这么说的时候一定要清楚,要明白这个 i 是一个变量,只不过在关键字 const 的修饰下成为了一个只读变量,然后具备了常量的一个特性而已。这个误区一定要注意。

    接着是作用域的问题,作为一个编程人员,必须能够了解代码中每一个数据它所能够影响的范围是多大。而这个范围在我们最直观的感受下,也就是我们在看代码的时候是以代码的区域划分来的,比如说一个变量  Data  的作用范围是从当前代码文件的开头到当前文件的结尾,那么这就是一个全局变量,又或者一个变量  Time  的作用范围是一个函数的开头到函数的结尾,那么它就属于局部变量了。所以,作用域的问题可以看做是从空间的角度来看一个变量,那么从时间的角度看的话就是我们在第一个阶段提到的生命周期,数据的这两个属性之间是相辅相成的,那么在学习过程中对这两个角度参照着来学习的话对于代码和自己的编码逻辑会有很大的帮助。

    链接属性是个和作用域相关的一个属性,但是又和上述的作用域不是一个东西。

    另一个存储属性和这个类似,存储方式的话主要是从变量的生命周期来看的,存储的情况对应的是上面提到的“全局变量”“局部变量”。

   其它方面在后面的学习中会进行了解。

    3、语句和表达式、操作符和表达式

    表达式的作用是通过一些运算符(即操作符)按照编程者的逻辑将变量、常量或者其它数据结合起来的一个东西。而语句方面,则是可以看做是对这些表达式的使用,需要注意的是每一个语句都有它的结束符号,最为常用的结束符号就是分号了,和咱们汉语中的句号是一个道理。操作符这边呢是因为有一些比较特殊的操作符,需要学习和了解,比如问号,对应的问号表达式,逗号,对应的逗号表达式之类的。

    4、指针

    在对前几个基础学习了之后就会出现一个麻烦事儿了,关于指针这个东西很多初学者都从其他人那里听过它的难理解程度,基本上所有初学的人都对这个东西有一些害怕。其实这个东西本身并没有我们想象中的那么难,只是为难情绪产生之后,对于这个东西的学习也就无法全身心地投入了,总会分出一部分精力去思考别的东西,或者专门分出一部分精力去害怕。所以,首先要摆脱对这个东西的畏惧心理。

    指针这个东西在C语言的编程中可以用来表示各种数据结构,可以很方便地通过内存地址来直接操作数据,使C语言的编程过程和逻辑极为地灵活。

    有这么一种说法,说如果没有学过C语言,那么你对其它的编程语言学得都不够深刻,没有从C语言的角度去考虑其它语言的话那么很多东西的具体细节你真的就没有理解到。当然了,对于很多语言既然已经自成一体了,那么说明它本身是足够使用的,对于编程的一些具体实现过程中的情况忽略掉对于程序也是没有影响的。但是如果想把别的语言学得更为深刻,C语言的学习是必须的。

    例如C++学得很好,但是对指针的使用就很少了,在C++中对于一些指针已经做了修饰了,一些异常情况可能直接屏蔽掉了。而JAVA方面的话,对于指针这方面就更不用说了,因为它没有指针这个概念。那么这样的话编写程序方面是没有问题的,但是对于在内存中的具体实现过程就不知道是什么情况了,也就不要说去控制了。

    C语言与其它语言相比,它的精华便是指针这方面,指针可以看做是C语言的灵魂,那么如果在C语言的学习中没有搞懂这个指针,那么完全可以说你没有把C语言搞懂。所以这个方面是此次学习的重中之重。

    5、函数

    函数可以看做是一个用来装各种用逻辑串起来的语句的容器,而这个容器呢又能根据里面的逻辑来产生一些计算的结果。是程序的主要组成部分。

    函数方面主要要学习的是有些什么函数,每一个函数是怎么声明、实现的,这个函数是怎么被调用,怎么被释放的,等等这些关于函数的使用和实现过程的内容。然后有一个需要着重注意的点——递归可变参数列表,这个的学习在于实践,后面在学习的过程中会以理论结合实践的方式来进行。

    6、数组

    数组的维度一般情况是一维数组,二维数组,这些基本都有了一定的理解,觉得并不是很难,那么如果是n维数组呢?怎么使用就又是一个问题了。比如,如何获取长度,如何定义,定义方式有几种,赋值又该怎么进行等等,这个具体的学习可以结合一些程序的编写练习。

    7、结构体和联合

    这两个是较为简单的,结构体可以与数组对比着学习。

    8、动态内存的分配和高级指针应用

    这两个内容是C语言在所有编程语言中能够排在前列的一个依仗。所以在此次学习中也需要对此进行一些着重的掌握。

    这两个能力有什么优势呢?首先是动态内存的分配这方面,这个是C语言能够处理大量的业务的一个工具,配合这个能力程序在使用内存的过程中能够更为有效地、更优化地利用内存空间。高级指针的使用方面更是使得C语言的程序编程过程中更为灵活多变,限制更少了。

    9、预处理器

    预处理器这个方面的学习主要是为了之后的代码编辑中进行相应的处理后,就可以避免每次移植到其它设备上的时候能够减少或者直接省去代码修改、编辑的麻烦。所以也是一个可以进行多多学习的模块。

    10、输入输出

    这个是常规的操作,所以基本在使用过程中会一点点地学会的。



0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C语言学习入门

编译文件:cc -c one.c two.c  生成.o目标文件 链接文件:cc one.o two.o     默认生成 a.out 执行文件 指定生成的可执行文件名   cc -o one o...
  • shineflowers
  • shineflowers
  • 2014-10-13 17:27
  • 12207

网络安全学习笔记

跨站脚本攻击(XSS Cross Site Script)     一、定义:黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户游览网页时,控制用户游览器攻击的一种行为。     二、分...
  • qwe6112071
  • qwe6112071
  • 2016-03-05 00:46
  • 819

C语言学习入们到精通之学习笔记(一)

为什么我通过博客的形式与大家分享我的学习笔记     对于c语言的学习已经有快3年之久了,对于学习嵌入式的我看来,C是我们的根本也就是我们的核心知识点,想学习好嵌入式就必须精通C语言。在一年之前我对...
  • love131452098
  • love131452098
  • 2016-05-29 14:39
  • 1380

汇编学习笔记(一)

这只是我学习汇编时候为了防止自己忘记的笔记系列,所以可能没什么条理性,基本上算是0基础开始吧,如果你也要学习,希望对你有帮助(目前会极其没有条理,后来会整理发出来)。 之前写kiwi系列(现在还没有...
  • sium__
  • sium__
  • 2016-03-01 12:24
  • 545

C语言学习随笔(2)—— 学习目标

学习C语言无非是为了能够编写一些程序,那么学到什么程度才算是学到了基础,入门了呢?此次学习的目标有三个,首先能够独立编写一些复杂的C语言程序,然后必须理解计算机语言编译机制,最后的目标同样是作为一个软...
  • a354244002
  • a354244002
  • 2016-08-28 22:47
  • 279

如何学好C语言,一个成功人士的心得!

来源URL:http://blog.csdn.net/yxnk/article/details/5976699/ 今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:...
  • u013160024
  • u013160024
  • 2014-09-14 16:26
  • 10311

C语言学习总结

本科一年级学习 C++,没有学习C。在印象中C是C++除去类后的版本。经过9年后,也该给自己做一个总结 在开发中,出现一些混淆,从前年开始决定认真学习下C ,主要看的书是C发明者Kernigan & ...
  • cmsbupt
  • cmsbupt
  • 2016-04-12 17:29
  • 653

初学C语言的学习计划

转自 C语言网 背景:很多同学在学习C语言的过程中,常常会遇到这样的问题,即“教材看完了,知识点也懂,但写不出来程序”,这段时间,我们通过长期与有多年C语言研究经验的教授、教师及企业资深研发工程...
  • gin1008
  • gin1008
  • 2016-10-09 11:47
  • 834

一个资深C语言工程师说如何学习C语言

谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语...
  • MC_Kitty
  • MC_Kitty
  • 2017-05-25 20:18
  • 1578

C语言学习-函数

程序设计思路: 自顶向下、逐步求精 程序结构按功能划分为若干个基本模块,形成一个树状结构 各模块间的关系尽可能简单,功能上相对独立 每一模块内部均是由顺序、选择和循环三种基本结构组成 其模块化实现的具...
  • ydpawx
  • ydpawx
  • 2016-07-18 22:19
  • 1376
    个人资料
    • 访问:1150次
    • 积分:90
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档