您好,欢迎访问全国教育考试教材网
商品分类

C语言怎么学,怎样学C语言

学习c语言,学习c语言时必须掌握什么知识? 在这里给大家写了一个小计划。 谢谢您不喜欢。

一.学习的书《C Primer Plus》、《C缺陷和陷阱》、《C和指针》、《C专家编程》、0755-79000。

二、知识点学习1 .字符串1、strlen (函数的返回值是什么类型? 2、字符串strlen ( )的值是否与他占用的内存空间相同? 3、你知道strcpy函数中存在的潜在风险吗? 怎么避免? 4、如果字符串中没有字符串结束符,调用以str开头的库克,会发生什么? 5、Strcpy ( )、strcat ( )、strcmp ( )、strncpy ( )、strncat ( )、strncmp ( ) )内部是如何工作的? 这些函数对源字符串和目标字符串做了什么? 你观察过运行时两个字符串存储器的变化吗? 6、使用上述函数时,各自有什么需要注意的地方? 7、可以进行几种字符串检索操作? 8、C语言中有字符串这个数据类型吗? 9、操作字符串时,是否在字符串末尾保留了存储位置? 否则就非常容易访问内存。

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.switch1、switch(c )中c的数据类型是什么? 2、你在所有的交换机上都放了default语句吗? 3、所有的case都有break语句吗? 如果你不放break,会发生什么?

7 .静态1、静态的主要作用是什么? 2、静态限定的局部变量保存在哪里? 全局变量哪些3、静态限定的全局变量和函数可以在其他文件中访问? 您要怎么进入? 4、你知道静态是C语言中实现封装和隐藏的利器吗? 你经常使用吗? 5、不同源文件中定义的静态全局变量是否允许编译器使用相同的变量名? 他们在存储器里的地址是一样的吗? 函数?

8.const1、您经常使用const来表示不能更改的变量吗? 2、你经常用const常数代替宏吗? 3、你知道以下四种情况分别代表什么意思吗? int i_value=10; constint * pvalue=I _ value int const * pvalue=I _ value int * const pvalue=I _ value constint * const pvalue=I _ value 4

9.sizeof1、对于字符数组,strlen和sizeof的值是否相同? 2、S izeof本质上是函数还是宏? 3、S izeof的返回值是什么类型?

10 .导言1,“int *p; ’p、p、*p他们的值分别表示什么意思? 2、你定义的指针初始化了吗? 3、你理解指针指针的概念吗? 你能用吗? 4、“int *pi_value; pi_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、如何动态加载动态链接库? 4、动态链接的优点是什么? 5、动态链接库中是否定义了非静态全局变量? 你知道这是非常危险的动作吗? 6、动态库中的全局变量(非静态)和函数)可以与高级别全局变量和函数重复吗? 换个名字会发生什么?

15 .运行时数据结构( Linux ) 1、你知道分段的概念吗? 2、可执行程序可以分为几个段? 每个段都保存了什么? 3、如何查看可执行程序各段的大小? 4、调用函数时发生了什么? 5、你试过程序堆栈空间的最大大小吗? 当程序超过这个大小时会发生什么? 6、你使用的系统堆栈是向下生长还是向上生长?

16.Include1、如何避免对同一头文件的多次include?

17 .声明1、什么是声明,什么是定义? 2、使用c语言声明的优先级规则吗?

18 .关于复杂度: 1、软件的首要技术使命是管理复杂度。

2、优秀程序员的特质之一,不是把简单的问题复杂化,而是把复杂的事情简单化。

所以,他们一般会选择简单的解决方案。

3、非常巧妙、复杂的解决方案,除了让初学者昏厥以外没有用。

4、阅读优秀程序员的代码是一种乐趣。 很少遇到思考的阻力,可以尽情享受简单的美。

它们是会C/C的服务器开发工程师、人工智能、云计算工程师、信息安全(黑客防范)、大数据、数据平台、嵌入式工程师、流媒体服务器

对于非常喜欢编程的人来说,有一起学习一起解答的伙伴是很重要的! 如果你想更好地提高编程的核心能力(内功),请从现在开始! 共享编程学习手册:

编程学习视频共享:

整理分享(学习多年的源代码、项目实战视频、项目笔记、基础入门教程) (欢迎跳槽和学习编程的伙伴。 你可以利用更多的资料比自己想的更快成长哦。 如果你对C/C感兴趣,请关注编辑并在后台私信。 【编程交流】一起学习哦。 可以收到一些C/C的项目学习视频资料哦! 因为设定了关键词自动回复,所以自动接收就好了!