首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

半年也没学会C语言,编程真的需要天赋

最近在知乎上看到了一个很有趣的问题,题目叫做:编程学习真的需要天赋吗? 提问题的题主说自己花了半年的时间硬啃C primer plus,结果看到链表的时候就再也看不下去了。...在我高中刚毕业的时候,我也曾经试着自学过C语言。和题主不同的是,由于高中的时候参加信息竞赛,所以我当时是有编程基础的,也一门语言。但即使如此,一整个暑假,我愣是没有把C语言啃下来。...结果上了大学之后,听了几节C语言课了解了一下语法,然后又去机房练习了一下,C语言就写得有模有样了。当时还帮一个其他学校的同学写了个图书管理系统。...这个时候再看书其实是一种查漏补缺的作用,完整看一遍下来之后,学到很多高级的技巧,以及夯实我们的理解。 看完书之后,我们可以再进一步找一些高难度的内容来实操。...精通远远比的多重要,但精通一门技术无论是谁都是需要长久的打磨和锻炼的,对于聪明人来说也一样不是一件容易的事。再说耐心和思维缜密,这两点其实都是可以训练的,都属于可以训练的技能。

73230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    你真的 C 语言

    身为一名程序员,或多或少都会了解一点 C 语言,我现在还清楚地记得,大一刚接触 C 语言时被它所支配的恐惧。...C 语言无比强大,被称为「高级汇编语言」足以见得它的威力,也可以看出它经常与计算机底层打交道;它的指针部分更为精彩(也是最难的部分),那么我们就跳过它最难的部分,检查一下你对 C 语言掌握的程度。...在 C 语言中,无符号整数是 4 个字节,1 个字节为 8 位,十进制数 0 用二进制表示为 0000 0000 0000 0000 0000 0000 0000 0000,计算机做减法是通过补码进行,...语言将计算结果按照无符号整数解释,得到的十进制数字为 4294967295(2^32 - 1)而不是我们想要的 -1,循环时 i 初值被赋为 0 ,一直小于这个数,所以循环不断地进行,代码将试图访问数组...C 语言确实很强大,但是如果我们的计算机基础知识不扎实,很可能出现各种奇奇怪怪的 bug。原来我一直觉得学那些枯燥无味的计算机基础知识没用,但是越往前走越发觉计算机基础知识很重要。

    1K20

    c语言编程用什么软件-学习c语言需要什么软件_c语言编程软件有哪些

    C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。   ...二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。...目前2011年12月8日,国际标准化组织(ISO)和国际电工委员(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程...学习c语言需要什么软件   (1) TC 2.0DOS平台软件。最经典的C语言编译器,系统体积小,简单易学,容易上手,而且很多前人或书籍的程序均基于该编译器,是学习C语言的首选。...目前有的教材已经选用该编译器,不过需要一个较长的调整期,因为很多源代码需要过渡过来才行,虽然性能上比TC2.0有所提高,但对于初学者没有质的变化,选择时需要注意。   (2)VC++ 6.平台。

    10.3K11

    Linux笔记】Linux下编译C语言程序

    在上一篇笔记中有分享Linux下的vi/vim编辑器的使用方法(【Linux笔记】Vi/Vim编辑器),现在我们就可以使用vi/vim编辑器编写C代码了。那么写完代码该怎么进行编译呢?...关于在Windows命令行下编译C程序的方法可查看往期笔记:【C语言笔记】windows命令行下编译C程序、【C语言笔记】使用notepad++、MinGW来开发C程序。...首先,使用命令gcc -v查看当前的Linux发行版是否有安装gcc编译器(PS:本文使用的Linux发行版是红帽6): ? 使用vi/vim编辑器写代码并保存为hello.c: ?...在Linux下进行C语言编程的学习可能增加学习的成本,但是从长远来看仍然是有必要的。...若不想安装Linux系统,也想适应一下Linux环境,则可参考往期笔记:【C语言笔记】Windows下体验Linux环境。

    12.5K10

    linux下的C语言开发

    大家好,又见面了,我是全栈君 在很多人的眼里,C语言linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。...当然,linux操作系统本身对C语言的支持也是相当到位的。...作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。...如果还没有过Linux编程经验的朋友可以首先在自己的pc上面安装一个虚拟机,然后就可以在shell下面编写自己的C语言代码了。...如果你看到了,那么恭喜你,你已经可以开始linuxc语言编程之旅了。 当然,我们不会满足于这么简单的打印功能。

    5.9K30

    初学C语言,你的“行囊”需要准备什么呢?

    C语言是各大操作系统的基础,Unix、Linux、Windows其内核都清一色是C语言开发的,(某些地方是和汇编语言混合开发的),君不见Windows API都是C语言函数的接口?...Unix/Linux绝大多数应用都是C语言开发的;Windows应用程序用纯API开发已然不多,大多都是依靠某种Application work,比如所谓的VC++,其实就是指VC IDE + C++语言...二、Unix/Linux还是Windows,这是个很大的问题 不同的编程环境造就出不同思维的程序员。...显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要按几个基本的Visutal C++工具栏按钮就可以开始写Hello, World!...前言是作者对整本书的大体介绍,作者一般告诉你需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。

    54930

    Linuxc语言多线程编程

    第一个参数是子线程标识符,第二个参数是用户定义的指针用来存储线程结束时的返回值*/ return 0; } //编译运行多线程的程序,要在gcc命令尾部加上-lpthread //gcc example1.c...); pthread_join(th2,NULL); printf("s = %d\n",s); return 0; } 我们发现每次执行后的s都不一样,按理说s应该是200000才对呀,为什么这样呢...因为在第一条线程读s并s++的时候,第二条线程也会来读,可能在第一条线程进行加之前读也可能在加之后读,所以我们丢失一些s++,所以每次运行出来的结果都不一样。...ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164863226016782089367009%2522%252C%2522scm%2522%...ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164868737616780261991331%2522%252C%2522scm%2522%

    8.8K21

    Linux C编程之一:Linuxc语言的开发环境

    ---恢复内容开始--- 今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...; 2、在安装Linux需要注意事项   在安装时选上“程序开发”中的“开发工具”,就可以自动安装gcc/gdb;   若想开发图形界面,还需要选上GNOME/KDE软件开发。...(GNU CCompiler)   是GNU推出的多平台编译器,以下是gcc支持编译的一些源文件的后缀及其解释     .c后缀 c语言源代码文件     .h后缀 是程序所包含的头文件     ...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境的。...7、LinuxC程序开发过程:   (1)使用vi工具编辑写源程序;   (2)保存为*.c;   (3)使用gcc编译成二进制可执行文件;   (4).

    10.7K01

    Linux【模拟实现C语言文件流】

    ---- 前言 在 C语言 的文件流中,存在一个 FILE 结构体类型,其中包含了文件的诸多读写信息以及重要的文件描述符 fd,在此类型之上,诞生了 C语言 文件相关操作,如 fopen、fclose、...fwrite 等,这些函数本质上都是对系统调用的封装,因此我们可以根据系统调用和缓冲区相关知识,模拟实现出一个简单的 C语言 文件流 本文重点 : 模拟实现 FILE 及 C语言 文件操作相关函数 注意...,比如如果内存中的数据还没有刷新就断电的话,导致数据丢失;除了通过特定方式进行缓冲区冲刷外,还可以手动刷新缓冲区,在 C语言 中,手动刷新缓冲区的函数为 fflush #include <stdio.h...,方便后续进行操作 读取与写入不同,读取结束后,需要考虑 \0 的问题(在最后一个位置加),如果不加的话,导致识别错误;系统(内核)不需要 \0,但C语言中的字符串结尾必须加 \0,现在是 系统->用户...---- 总结 以上就是本次关于 Linux【模拟实现C语言文件流】的全部内容了,通过 系统调用+缓冲区,我们模拟实现了一个简单版的 myStdio 库,在模拟实现过程中势必会遇到很多问题,而这些问题都能帮助你更好的理解缓冲区的本质

    25410

    Linux C编程之一:Linuxc语言的开发环境

    今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...1、开发环境的构成 编辑器:VI; 编译器:选择GNU C/C++编译器gcc; 调试器:应用广泛的gdb; 函数库:glibc ; 系统头文件:glibc_header; 2、在安装Linux需要注意事项...) 是GNU推出的多平台编译器,以下是gcc支持编译的一些源文件的后缀及其解释 .c后缀 c语言源代码文件 .h后缀 是程序所包含的头文件 .o后缀 是编译后的目标文件 例:gcc -o hello...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境的。...7、LinuxC程序开发过程: (1)使用vi工具编辑写源程序; (2)保存为*.c; (3)使用gcc编译成二进制可执行文件; (4).

    7.7K40
    领券