树莓派(0)C语言教材学习

学习日记的功能主要是记录学习C语言的知识还有难上手的地方,之后会记录配置树莓派环境还有设计linux环境下C语言的实验题目

目前在K&R的《C语言程序设计》教材学习,前面的内容没有难度,基本上和高级程序设计语言的学习思路一样,主要是为了了解C语言
类型、运算符、表达式、流控制,函数和程序结构、指针与数组、结构、输入与输出、UNIX系统接口的内容,最后会有参考手册和标准坤的内容。大概期望的学习程度能够熟练运用C语言的语言特性,能够看懂C语言的知识点,同时在树莓派上设计C语言实验题目。

下面的内容有自己在学习中遇到的问题
1、编写头文件;自己的头文件使用“”来进行编写,代替“<>”

2、在使用多文件编译是,我使用的是VScode的code runner,我懒得配置launch和tasks的json文件,我修改了code runner插件的配置文件,每次运行代码都将同目录下的所有的C文件编译一次,所以可以达到我的目的,至于能不能跨文件夹来编译,暂时不考虑。
树莓派(0)C语言教材学习_第1张图片

第一章导言的部分是通过华氏温度和摄氏度展缓的程序来对c语言介绍,注意几个地方
1、在C语言中,char类型的数值和int 类型是相同的,这里直接将char类型的ascll数值转化为int;类型,所以很多char类型的数值是通过int 定义的。
2、注意特殊字符‘‘\n’’,'\t’之类的。
树莓派(0)C语言教材学习_第2张图片

3、注意printf和scanf两个输出输入的用法
转义字符的使用
(太过枯燥寄不过来,什么时候用到什么时候再去看)

4、因为有了C++的基础,所以学习起来没有太多难度,难度还是在于进行程序的设计。

EOF是文件结束符的标志,在标准输入stdin中,EOF可以通过 ctrl+z来代替。

第一章就这些

第二章

第二章在讲运算相关的
1、数据的范围和长度,分有符号和无符号 unsigned ,unsigned char类型的范围为 0~255
2、在刚刚讲了一部分关于转移字符的内容

树莓派(0)C语言教材学习_第3张图片3、枚举类型,大概每种语言都有类似的类型,这相当于语言中都有的。直接定义enum 就可以。没有显示说明,第一个元素值为0,
4、声明和定义不太相同,声明可以通过const 和 extern来进行声明,extern的具体应用:

树莓派(0)C语言教材学习_第4张图片

C语言代码是由上到下依次执行的,不管是变量还是函数,原则上都要先定义再使用,否则就会报错

5、学会使用标准库中的函数,,,,类似函数的学习通过算法题目来进行积累。

6、条件表达式、for、while控制循环流

第三章

控制循环流,没有笔记价值,这里注意的是,没有布尔类型,如果非0则是true,0是false,在C语言中0代表不执行。

第四章

1、函数的静态变量,静态函数,寄存器变量。比较偏底层的设计,把变量放在了寄存器中,利于底层开发,不利于开发服务。JAVA的便捷性和耗时性也就在这里了。
树莓派(0)C语言教材学习_第5张图片
2、C预处理器,主要的是#define and #include ,后面还有typedef 用来替换类型名

第五章

1、指针与数组,指针指的是存储地址,数组名指的是存储第一个数组元素的地址,起始地址。
2、指针可以被赋值,但是数组名不可以被赋值。
3、理解指针的定义 int a = 3; int * p = &a ;
4、命令行参数,main( int argc, char * agrv[]) ,char * agrv[],在agrv数组村村的是char *类型的指针。 通常是char 类型的数组。
5、C语言值得诟病的是因为语法的简洁导致的复杂声明:
树莓派(0)C语言教材学习_第6张图片

第六章 结构

自引用结构,结构里面不能再有结构,但是可以存在指向结构的指针。

1、hash算法和表查找
2、typedef char * String,一般来说都是大写字符开头。

第七章 标准输入与输出

这里想提一下C语言学习网站,网站的OJ不错,但是需要付费一个月28元,我觉得可以先充一个月试试看。

1、变长参数表,这里分析了printf和scanf是怎么样将数据赋值的。
树莓派(0)C语言教材学习_第7张图片
树莓派(0)C语言教材学习_第8张图片

3、文件访问,在stdio头文件中存在结构 FILE,设计函数fopen,存在函数getc和putc

在这里插入图片描述0,1,2分别代表标准输入、标准输出、标准错误

4、其他函数:
树莓派(0)C语言教材学习_第9张图片

树莓派(0)C语言教材学习_第10张图片

树莓派(0)C语言教材学习_第11张图片
树莓派(0)C语言教材学习_第12张图片
树莓派(0)C语言教材学习_第13张图片
树莓派(0)C语言教材学习_第14张图片
树莓派(0)C语言教材学习_第15张图片

第八章 Unix环境下c语言相关的函数,接近操作系统,Unix系统接口

read、write、open、creat、close、unlink

1、fopen和getc的实现
2、目录列表的实现
3、存储分配程序

越偏向底层的内容和知识越抽象,因为没有试验条件。

印象深刻的是第五章复杂声明的代码片段,互相递归调用,代码的思想很棒。

你可能感兴趣的:(C语言/树莓派学习日记,java,开发语言,后端)