依稀记得一个月前开始学C的忐忑,惶恐,从耳边传来很多声音,"女生学C比较吃力”,“这个很考逻辑....”
“我可以吗?”。
课程安排如期而至。“不管别人怎么说,我还是要自己尝试,经历,努力再做定论!”抱着这样的心态,一直到现在C的课程考核结束,准备开始项目。
当自己系统学完C,我发现很多时候只有自己亲自去学习,才会发现自己究竟有多大的学习潜力。而别人的话终究只是前车之鉴。仅供参考罢了。
我们学习的C总分成9个章节。
第一章:软件开发概述
这一章节作为第一章节,自然重点不是很多,除了了解计算机语言分为:机器语言、汇编语言、高级语言;二进制与十进制的相互转换之外,更需要了解掌握
算法中的一种表示——流程图。会看流程图,会由题画流程图都是一项基本技能。除此之外,我们在这一章节也可以简单了解如何创建一个C程序:
1、编写源代码;
2、将源代码编译成目标代码;
3、链接目标代码成为可执行程序。
第二章:编程语言概述
这一章节我们可以知道”为什么把C作为示例“,“编程语言的基本组成”,“C程序的基本结构“,”C语言的上机执行过程“这4大板块。
首先,我们必须知道其实C并不是最原始的编程语言,在C之前还有B语言。而C作为一种中级语言,把高级语言的基本结构与低级语言的高效实用性很好的结合起来,不失为一个出色而有效的现代通用程序设计语言。所以我们从C着手,先学习大多数编程语言所共同拥有的基础知识,以至于在以后学习其他编程语言,不用每次都从最基础的东西入手啦!
第二,编程语言的基本组成:
1、字符集,又包括:数字字符、拉丁字符、运算符、特殊符号和不可显示字符;
2、标识符,C中规定,标识符由C语言字符集中的字母、数字或下划线组成,它的第一个字符必须是字母或下划线;
3、关键字,开始接触觉得这个关键字一抹多,但是学到后面的章节,才发现就是天天打照面,不熟悉才奇怪的感觉!但是切记:关键字不可以作为标识符。
4、语句,语句是组成程序的基本单位。关键字和标识符按照一定的语法规则组成语句。
5、标准库函数,这是由公司整理出来一些常用的应用功能,编写成标准的程序发布,从而方便我们的开发,减少代码量。
第三,C程序的基本结构
较书上的详细介绍之后,全由个人目前理解看来,C程序需要的基本结构如下:
1、#include指示和头文件;
2、main()函数;
3、注释、花括号、程序体、代码块;
4、声明(这是C中最重要的功能之一)
5、赋值
6、printf()函数与return 语句。
最后,C语言的上机执行过程:编辑C源程序——编辑C源程序——程序链接——运行程序。
第三章:数据存储与输入输出
这一章节我觉得总的就分为标题中的俩版块:”数据存储“与”数据的输入与输出“,但必须掌握编程语言中对数据的各种分类(这个之后再谈)。
第一, 对于数据存储,我们需知道数据在计算机中以字节的形式存储。(1 字节==8位)
我们需要知道任何数据对用户呈现形式有2种:常量或变量。常量是指:程序运行时其值不会变的量,并且是数据在编程语言的表现形式,而变量则相反,是程序运行时其值可以改变的量,我们可以用变量存储数据。
常量总的来说分为字面量和符号常量。
字面量又细分为:整型常量、实型常量、字符常量、字符串常量。而前3种都是我们常用的基本数据类型,最后一种之后再第八章复杂数据类型——数组中的字符数组来表示。
符号常量中我们经常使用宏定义进行定义,形式如:#define 标识符 常量
变量中,我们需掌握为变量定义、变量声明、变量赋值、(在变量中我们可以先声明后赋值,也可以在声明变量的同时对变量赋值)、变量的引用。
第二,数据的输入与输出,我们常用scanf()函数与printf()函数。两种函数的表现形式如下:
printf(”格式控制字符串“,输出表列)
scanf("格式控制字符串",地址表列)
两者最大的区别就是:printf()函数中的格式控制字符串有显示作用,而scanf()中却没有。
第四章:运算符、表达式、语句
第一,我们需要知道简单表达式由常量或变量组成(即包含简单的操作数);复杂表达式由多个简单的表达式组成,表达式之间用运算符连接。
第二,我们需要了解各类运算符及其优先级别的大小:
算术运算符中包括:+ - * /运算符、取模运算符%(用于整数运算) eg:13%5的答案就是:3;
赋值运算符:eg: a=2; 即将2的值赋值给a;
增量和减量运算符,分为前缀:eg: ++i、--i;和后缀形式:i++、i--;
关系运算符:(>=、>、<=、<、)的优先级高于(==、!=)
逻辑运算符:&&、||、!;
条件运算符:表达式1?表达式2:表达式3;
这几类运算符的优先级别从大到小依次为:!、算术运算符、关系运算符、&&和||、条件运算符、赋值运算符;
还有一类:特殊运算符:sizeof(opr) 与 取址运算符&(均为单目运算符)。
第三:语句,语句的分类:
流程控制语句:选择类语句、循环语句、转移语句;
表达式语句;
复合语句;
空语句。
第五章:选择结构的程序设计
这章主要运用if和swith 进行设计选择语句,同时掌握两种设计语句的嵌套关系。
第六章:循环结构的程序设计
循环这章节,掌握do_while、while、for三种基本循环,其中for 是最灵活最常用的一种循环,但是只是多用于循环次数确定的情况下;
除此之外,区别和有效利用break、continue语句;
break语句,是指跳出循环体,可以提前结束运行的语句,break也可适用在switch中,而continue语句是指结束本次循环,进行下一次循环。
循环的功能的强大,使用量频繁,只要是有重复性规律性的事情都可以用上循环。而深入理解循环,更是突破C的一项重要技能。
第七章 :数组和字符串
当大多数人卡壳在循环的时候,我却在数组这块停滞不前。
数组是一种复杂 的数据类型,它就是按一定顺序排列,具有某种相同性质的同类型变量的集合。这些变量具有相同的名字和数据类型,在内存中顺序排列,并通过下标区分,所以也叫下标变量。eg:int a [8];
数组学习时,我们会接触一维数组和二维数组。
其一维数组就是定义一个整形常量表达式,而二维数组就是多定义一个整形常量表达式,分别代表行和列;
无论一维数组或二维数组,都是变量的一种,我们都要学会对其进行初始化与应用,而这些需要大量的练习来支撑。
而字符与字符串已经在第三章简单讲解过,字符数组就是专门用来存储字符串的,也称为”字符串变量“;同时我们也在这里知道了strcmp是用来进行2个字符串比较;而strlen是用来输出字符串的长度。
数组这章,是最让我学起来吃力的一章节。突然改变的数据类型,总感觉数组是深不可测的,但是在反复看书的基础上,进行适当的练习,其实很多问题就迎刃而解了。
第八章:复杂数据类型
进入这一章,我们可以把第三章没有提全的数据类型全部了解。
C语言数据类型分为四个大块:
基本类型:整数型 int、 浮点型 float、 double、字符型 char
指针类型
构造类型:数组、结构型 struct、 联合型 union、枚举型enum、
空类型 void,
结构体和共用体的区别:
前者变量所占的内存长度大于或等于各成员的内存长度之和;
后者变量所占的内存等于最长的成员的长度。
枚举类,顾名思义就是把这种类型的数据可取的值一一列举出来。形式如下:
eg: enum weekday ( mon, tue, wed, thu);
指针类型的我也没有完全理解与掌握,暂且不提。
第九章 :模块化程序设计方法与函数
C程序是由函数组成的,函数是C语言中重要的概念,而是程序设计的重要手段。使用函数可以提高程序设计的效率,省去做相同程序段的重复书写、输入和编辑。
模块化程序设计是指:通常将一个大的程序按功能分成 若干较小的模块,每个模块编写成结构清晰、接口简单、容易理解的程序段---函数。
函数有两类:一类是系统提供的标准函数,另一类是用户自己定义的函数。
函数在使用过程中,包括函数定义、函数声明、函数调用。
从函数的形式上看,函数分为两类:无参函数、有参函数。
定义函数时的参数称为形式参数,简称形参;调用函数的参数称为实参,形参和实参的关系是:个数必须一致、类型必须一致、顺序必须一致;
从函数的值来看,函数分为:无返回值的函数与有返回值的函数。
以下是我学C的真实感受:
学C开始真的摸不到头脑,换一种开发环境的茫然,到后面稍有熟悉的时候,做一些关于逻辑训练,比如:实心菱形等,有时候一做就是1个多小时,但是结果往往不尽人意,总有各种各样的报错与警告。但是平复一下心情,再换一种思路继续开始,往往就有“柳暗花明又一村”的感觉。
其实,我觉得反复失败也是通往成功发唯一道路,虽然心里备受打击,但是换个心态,正是每次从失败中学到东西才是自己保持前进的资本。
我觉得除了重视实际操作,千万别忘了看书!!!!!!所有的知识点都是来源于书上,没有理论作为支撑,那也只是“纸上谈兵”罢了。
很期待马上的项目实训,纵使还是很多失败在等着自己,但那又何惧呢?