全国统一学习专线

你知道怎样学习C语言吗?

logo
来源:七品教育

2024-04-08|已帮助:103

进入 >

如何学习C语言,学习C语言必须掌握哪些知识?我为你写了一个小计划。不喜勿喷。谢谢大家!

1.要学习的书籍:《C Primer Plus》,《C缺陷和陷阱》,《C和指针》,《C专家编程》。

会发生什么?5.strcpy()、strcat()、strcmp()、strncpy()、strnccat()和strncmp()在内部是如何工作的?这些函数到底对源字符串和目标字符串做了什么?你有没有观察过两个字符串内存在运行时的变化?6.当使用这些功能时,

2.数组1。你必须知道,定义“int a【10】;”元素a【10】无效。2.你知道数组初始化的几种方法吗?3.数组和指针有着千丝万缕的联系,但又有所不同。

你对它们在不同情况下的使用做了详细的总结吗?4、“int calendar【10】【20】;“这是什么阵?它有10个数组类型的元素,

还是20?5、“int a【10】;“,

数组名A本质上是什么?你曾经打印过a的值吗?6.你知道有多少种方法可以获取数组的元素?7.指针和数组是一样的吗?什么时候是一样的?什么时候不一样?8.用指针和下标访问数组元素哪种方式更快?

3.结构1。你知道什么是域名结构吗?怎么定义?怎么用?2.你知道字节对齐对该结构占用的内存空间的影响吗?如何计算结构体占用的内存大小?

4.宏1。你知道宏观的本质是什么吗?功能?声明?类型定义?还是什么?2.你知道为什么语言设计师如此雄心勃勃吗?这些理由目前还成立吗?3.你能设计一个带参数的宏吗?4.你知道使用宏参数时的注意事项吗?5.你能设计一个参数可变的宏吗?6.你知道使用宏的缺点吗?7.你有更好的选择吗?

5.列举1。能否指定枚举中各项的值?2.如果没有指定值,枚举的第一个值是什么?3.枚举值可以是负数吗?4.在定义枚举时,是否专门定义了枚举的最小值和最大值?

6.switch 1和switch(c)中c的数据类型是什么?2.您是否为所有交换机添加了默认语句?3.您是否为所有case添加了break语句(常规做法)?如果不添加break,

7.静态1和静态的三个主要功能是什么?2.静态的修改后的局部变量存储在哪里?全局变量有哪些3、全局变量和函数由static修改、

它在其他文件中可以访问吗?如何访问?4.你知道静态是C语言中实现封装和隐藏的武器吗?你经常使用它吗?5.在不同的源文件中定义静态全局变量。

编译器允许它们的变量名相同吗?它们在内存中有相同的地址吗?功能?

你知道是各自表示什么意思吗?int I _ value=10 const int * pvalue=I _ value int const * pvalue=I _ value int * const pvalue=I _ value const int * const pvalue=I _ value 4、你知道常数常量如何初始化吗?

9.sizeof1 .对于字符数组,strlen和sizeof的值是否相同?2.大小本质上是函数还是宏?3.S izeof的返回值是多少?

*p他们的价值观是什么意思?2.你定义的指针已经初始化了吗?3.你理解指针的概念吗?你会用吗?4、“int * pi _ valuepi _ value=0x100000”pi_value 1的值是多少?5.你能定义函数指针吗?6.你使用函数指针来调用函数吗?7.关于指针和数组,

11.动态分配内存1。动态分配的内存存储在哪里?2.在什么情况下使用动态内存分配?3.必须释放动态应用程序内存,否则内存将会泄漏。你用过内存检测工具吗?

12.功能1。如何检查函数在内存中的地址?2.如何给函数指针赋值?3.你能定义一个可变参数函数吗?4.你能区分函数的形参和实参吗?5.如何定义函数名,

准确表达功能的目的?6.是否使用const来修改函数的参数和返回值以表达特定的含义?7.如何使用递归?

13.变量1。全局变量、局部变量和常量存储在内存的什么地方?2.你知道不同类型变量的范围吗?3.全局变量和局部变量可以同名吗?你在做这个吗?4.函数退出后局部变量是否有效,

为什么?5.为什么不允许在头文件中定义全局变量?有什么坏处?

14.链接(Linux)1。链接位于编译过程的哪个阶段?2.动态链接库和静态链接库有什么区别?3.如何动态加载DLL(无需重启程序即可加载DLL)?4.动态链接的优势是什么?5.动态链接库中定义了非静态全局变量吗?你知道这是非常危险的行为吗?6.动态库中的全局变量(非静态)和函数(非静态)可以与上层全局变量和函数同名吗?同名后会怎样?

15.运行时数据结构(Linux)。你知道段位是什么概念吗?2.一个可执行程序可以分成多少段?每个部分包含什么?3.如何检查可执行程序每个段的大小?4.当函数被调用时发生了什么?5.你试过程序的最大堆栈空间吗?当程序超过这个大小时会发生什么?6.您使用的系统堆栈向下增长。

16.Include1 .如何避免多次包含同一个头文件?

17.报表1。什么是陈述,什么是定义?2.你会使用C语言中声明的优先级规则吗?

18.关于复杂性:1。软件的主要技术任务是管理复杂性。2.优秀程序员的特点之一就是把复杂的事情简单化,而不是把简单的问题复杂化。因此,他们通常会选择简单的解决方案。3、极其聪明,

复杂的解决方案除了让新手困惑之外毫无用处。4.阅读优秀程序员的代码是一种享受。你很少遇到思维的阻力,你可以享受简单的美。

分别是服务器开发工程师、人工智能、云计算工程师、信息安全(黑客对抗黑客)、大数据、数据平台、嵌入式工程师、流媒体服务器、数据控制和解决方案、图像处理、音频和视频开发工程师、游戏服务器、分布式系统、游戏辅助工具等。

编程学习视频分享:

整理分享(源码、项目实战视频、项目笔记、基础入门教程)欢迎转行和学习编程的小伙伴,

利用更多的信息比自己更快地学习和成长!对C/C感兴趣的可以关注边肖并在后台私信我:【编程交流】让我们一起学习吧!可以获取一些C/C项目学习视频资料!关键词自动回复已设置,自动获取即可!

以上是七品教育整理的你知道怎样学习C语言吗?全部内容。