c语言好学吗?好学吧。怎么说也是最最基础的东西。总不能不会吧。
现在再重新来学习一下吧,肯定会有新收获。
突然想起来似乎在一年前我也做过这样的打算,结果记了两页纸之后就没有下文了。今年一定要坚持下去。
先从基础开始吧:
1、C语言的特点:(看看就可以,脑子里大概有个印象就可以)
1) C语言简洁紧凑,压缩了一切不必要的成分。
2) C语言运算丰富,将括号、赋值、强制类型转换、取变量地址等都以运算实现。
3) C语言数据类型丰富,具有现代语言的各种数据类型,用户还能扩充它,实现各种复杂的数据结构,完成各种问题的数据描述。
4) C语言是一种结构化程序设计语言,层次清晰,便于按模块化方式组织程序,易于调试和维护。C程序由若干程序文件组成,一个程序文件由若干函数构成。
5) C语言可以直接访问物理地址,进行位(bit)一级的操作,能实现汇编语言的大部分功能。
6) C语言提供了预处理机制,有利于大型程序的编写和调试。
7) C语言生成的目标代码质量很高,程序执行效率很高。
8) 用C语言写的程序可移植性好。
9) C语言语法限制不太严格,程序员设计自由度较大
2、C语言的字符集
字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。
1) 字母 小写字母a~z共26个,大写字母A~Z共26个。
2) 数字 0~9共10个
3) 空白符 空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用,编译程序对它们忽略。
4) 标点和特殊字符 主要有 ! # % ^ & + - * / = ~ < > \ | . , : ; ? ’ ” ( ) { } [ ] 等等。
3、标识符(很重要的啦,一定记下来)
在程序中使用的变量名、函数名、标号等统称为标识符,用来标识各种程序成分。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能是由字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。
以下标识符是合法的:
a , x , x3 , BOOK1 ,sum5 , num_1
以下标识符是非法的:
3s 以数字开头
s*T 出现非法字符*
-3x 以减号开头
bowy-1 出现非法字符-(减号)
在使用标识符时还必须注意以下几点:
(1) 在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。习惯上符号常量用大写字母表示,而变量名等用小写字母表示。
(2) 标识符虽然可由程序员随意定义,但不能与关键字同名,也不能与系统预先定义的标准标识符(如标准函数)同名。
4、分隔符
C语言中的分隔符有逗号和空格两种,逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔, 否则将会出现语法错误。例如把“int a;”,写成“ inta;”,C编译器会把“inta”当成一个标识符处理,其结果必然出错。
5、注释符
注释符是以“//”或“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。
6、书写程序时应遵循的规则
从书写清晰、便于阅读、理解和维护的角度出发,在书写程序时应遵循以下规则:
1.一个说明或一个语句占一行。
2.用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
4.主要语句要有注释语句,增加可读性。
7、编辑、编译和运行
1) 编辑
编辑就是建立、修改C语言源程序并把它输入计算机的过程。C语言的源文件以文本文件的形式存储在磁盘上,它的后缀名为.C。
源文件的编辑可以用任何文字处理软件完成,一般用编译器本身集成的编辑器进行编辑。
2) 编译
C语言是以编译方式实现的高级语言,C程序的实现必须经过编译程序对源文件进行编译,生成目标代码文件,它的后缀名为.obj。
编译前一般先要进行预处理,譬如进行宏代换、包含其它文件等等。
编译过程主要进行词法分析和语法分析,如果源文件中出现错误,编译器一般会指出错误的种类和位置,此时要回到编辑步骤修改源文件,然后再进行编译。
3) 连接
编译形成的目标代码还不能在计算机上直接运行,必须将其与库文件进行连接处理,这个过程由连接程序自动进行,连接后生成可执行文件,它的后缀名为.exe。
如果连接出错同样需要返回到编辑步骤修改源程序,直至正确为止。
说了这么多,大部分都是废话其实。稍微理解就可以,标识符很重要,要记下来。
刚开始这一部分是极其无聊乏味的,真的,我都快睡过去了,今天学习的时候。很多内容理解就可以,没必要面面俱到都背下来。哎呀,今天就学这么点吗。不是,我学的很快,都到数组那一部分了。看了一遍书,觉得自己什么都会,完全不知道应该怎么学习。觉得知识点都很熟悉,但是一要做题就抓瞎了。我知道自己的指针部分学的很烂,我想从头开始学习起来,一点点的往后赶。可是今天直接就看到了指针也是醉了。慢慢来吧。
加油!