热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言难在哪儿,c语言难学

本文目录一览:1、C语言难在哪?2、学C语言难

本文目录一览:


  • 1、C语言难在哪?


  • 2、学C语言难吗?难在哪里


  • 3、c语言最难在什么地方


  • 4、c语言的难点在哪里?


  • 5、你觉得c语言难吗?为什么


  • 6、C语言比java难学难在哪里?

C语言难在哪?

其实C语言并不是很简单的,入门对于很多人来说其实并不算困难。但是遇到了很多深层次的东西其实还是很难的,如果你看过《C缺陷与陷阱》你就会发现这么多奇葩的问题自己不了解,或者是发现自己以为是正确的东西其实是错误的(这些问题很多从业多年的程序员也在犯)。当你看过《高质量C\C++编程》(一个文档)后就会觉得自己的代码写的是无比的糟糕,自己编程的习惯是多么的不好。

就不要说是开发什么软件了,对于一道程序竞赛题目,调bug的时间都有可能很长的,而往往这些bug就是一些最简单的东西造成的。写一个长一点的程序是要写注释的大,不写注释回头就会忘记啊,注释写的不好自己都不知道是什么意思,尤其是代码写的再不文艺的时候。

建议有时间看看《C Primer plus》吧,你会收获很多的。如果你看的是一本水平很低的C语言书籍入门的话,那你一定会觉得很简单的。当年我看了一本不怎么地的C++书籍,结果几天就看到类了。而且当你看一些提高的书籍的时候就不会感觉C语言多么简单了。

学C语言难吗?难在哪里

C语言其实不难学,就是一门高级计算机语言,入门很简单,就是谭浩强那本书就好。但是C语言其实也不好学,如果要学好还是需要大量的代码基础的,多练总是好的。然后就是学的时候注意C语言中空间的概念。

1、程语语言其实是一个很初级的工具,但是又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好。可是如果不会写字,那就一定写不出文章来。

2、在学习C语言之前,应该学好计算机基础。里面的很多概念对于C程序员都是非常重要的。如果在着手学习C之前,或者已经开始学习C,但是碰到了很多问题,应该再把计算机基础的书拿来好好看看。如果有足够的耐心,十足的毅力,应该再学习C语言之前学学汇编,这会对许多比较细腻的概念有清醒的认识。那么可以在看完一遍C语言的教材后再看,但是一定要看一遍,一定会受益匪浅。不管看什么书,先认真地看懂,不要贪速度,应该力求深入的理解。如果能够比较熟练的解决一本教材上的所有习题,那么就应该转入对算法的学习,尽管此时的C语言还称不上精通,有许多细节问题还不了解,许多问题还没有碰到,但是这些问题会在后面的工作和学习中得到解决的。

3、不需要多少资料,掌握一本《The C Programming Language》就足够了。继续学习就更加容易。建议不要找捷径,通过考试除外,真正的水平提高是建立在编程实践积累基础上的,必须一个一个程序的完成才能提高。

c语言最难在什么地方

c语言最难在它缺乏逻辑性--形式逻辑不成立。

例如:

char

str[]="abcdef";

//声明

str

是字符串,初始化成

"abcdef"。

可是,一样是赋值,写在语句里:

str[]="abcdef";

str="abcef";

却都是错的。而要调用函数:

strcpy(str,"abcdef");

才行。

例如:

int

a=4;

int

*b=a;

//

声明

b

是指针,让它指向a。

printf("%d",

*b);

//

打印

b

的值。

如果语句里写:

*b=a;//

是错的,你瞧,外形同声明里一样,却

是错的。

语句里要写:

b=a;

//

你瞧,b

前面没*号

才正确。

你要是写:

b=a;

//

对不起,又错了。

例如,声明了:

int

a;

int

*b

语句里

可以

a,

可以

a,

可以

b,

却不可以

b

形式。

语句里

可以

b,

可以

*b,

可以

a,

却不可以

*a

形式。

所谓C语言指针难,难在

形式逻辑不成立。

而我们经验中的

数学,却是

逻辑性很强,形式逻辑成立。

初学者,最难理解就是

“形式逻辑不成立”这点。

c语言的难点在哪里?

难的是设计。能把别人的设计思路弄通了,就没什么难度了。指针不是难点,难的是看懂别人的设计思路,能读懂别人的变量定义以及变量的用处。指针稍微精通C语言的人都不会很纠结指针,看懂指针和精通运用指针是两个概念。

你觉得c语言难吗?为什么

——当时学的时候觉得挺难的,但是现在觉得也还是可以,不是很难。

一. 觉得难的原因

1. 我觉得c语言语法功能不够强大

我现在在学python语言,c语言是我大一的一门课,当时学的时候不觉得,现在学了python之后,我才真的发现c语言的语法功能实在是不强大。

 用python的时候根本就不用指定变量的类型,而且python处理数据特别方便,字符串是可以切片的,但是在c语言里就不行,非常麻烦。其他还有很多方面,我也基本把c语言忘完了,所以我也记不得了,但是当时这个语法功能给我整得头痛是真的。

2. c语言语法复杂

c语言的语法是真的不好掌握,我当时学的时候老师让我们编程,哎呀真的好麻烦,所有变量都要提前定义,还要指定类型,处理的时候循环结构一大堆括号,脑袋都要绕昏,还有什么指针、数组之类的东西,总之就是学起来头痛,因为那个语法实在是太复杂了,经常不知道为什么错了,找半天也不知道怎么回事。想算个东西呢,又要写一大堆,当时考试份也超级低,到现在学了python终于上手了,才觉得当时也不是我的问题,就是学不懂c语言。

二. 学习c语言的方法

不过,虽然当时学得我怀疑人生,但是我还是在这每天的头痛中找到了一些我学不好c语言的原因,总结了一些方法,大概归结为以下几项:

多看书,勤练习

学习编程,最基本的操作就是看书,因为书上有基本的一些理论知识和语法,看了书之后才能明白一门语言需要哪些基本要素。而掌握基础语法之后,就要多练习,锻炼编程思维,这样才能越来越上手。

根据自己学习c语言的目的适当跨越一些内容

我是金融专业的,学习python完全是为了处理数据,所以我就不会过于纠结基础编程中那些数学问题,因为其实编程难就难在数学问题嘛,在处理数据的时候反而用不到什么数学问题,只要语法对了,再用功能强大的库,就可以实现对金融数据的处理。c语言也是一样的,你要搞清楚自己为什么学习c语言,如果你的目标对数学问题要求不高,那其实没必要一直在基础上浪费时间,掌握了基本语法就可以直接向你的最终目标迈进了。

多跟大佬请教

编程最重要的还是要不断学习,现在网上也有很多编程大佬会发免费的教程和一些他们自己编的程序,在自己平时遇到问题的时候都可以有针对性地去看看,吸取一些经验,这样你对编程能力才能完成大进步。

以上就是我的全部想法啦,希望对题主有帮助!

C语言比java难学难在哪里?

C语言和Java语言是目前被广泛使用的编程语言,C语言在物联网领域有广泛的应用,而Java语言则在Web开发、移动互联网开发、大数据开发、人工智能开发等领域有大量的应用。对比之后,很多人都陷入其中,在这两个语言中摇摆不定,不知道应该选哪个。很多人第一想法就是哪个好学就选择哪一个,想必大家也在网上看到过很多关于这两个语言那一程度的文章,答案也是特定的,C语言要比java语言难一些,那么?C语言比Java难学难在哪里呢?学习C语言难,主要是因为C语言理解起来很抽象,使用时变化莫测。特别是在指针的学习上,是一个难以翻越的大山。除了指针,C语言里面还有一些回调、递归、函数指针、指针函数等等,这些都是学习的重难点。因此C语言的学习周期长,就更加考验学习者的意志力了。但是,如果学好了C语言,才能更好地了解内存的工作原理。而且有了C语言的基础,再学习其他语言将会事半功倍。C语言需要自己申请内存,自己归还内存,总之什么事儿都得自己操心。你得记得自己在哪里借了内存,还得搞清楚自己现在这个指针是指向Stack里的内存还是Heap里的,Stack里的还得记得啥时候作用域。C语言是不具有二进制级别的跨平台性的。你在Linux上使用C语言和在Windows上使用C语言,所用到的编译器不同,涉及到与系统相关的调用,涉及到的函数、数据结构都会不同。这让C语言在跨平台开发的时候工作量成倍增加。不仅仅是跨操作系统,即便是同一种操作系统,总线位数不同,也会影响C语言的表现。早期电脑都是16bit的操作系统(当然更早期还有8bit等更古董的),后来普及了32bit,现在基本都过渡到了64bit。每次升级,都可能让很多当年设计的不是很好的C语言代码完蛋。综上所述,C语言比java语言难就难在了以上几点。但是学习没有捷径,都是一分耕耘一分收获。至于许多人担心找工作的问题,其实无论学那个编程语言,就业前景都不会差。只不过对于初学者来讲,学习Java的学习难度和找工作难度,都要相对小些。如果正在看这篇文章的你,还在为了学习哪个语言在踌躇,别人已经在路上了。当你还在担心能否就业时,昆明北大青鸟学员提前被企业录取;当你转辗于各大招聘会时,昆明北大青鸟学员收到了高薪offer;当你在各大招聘网站投递简历时,昆明北大青鸟学员中有人一毕业进入五百强名企。所以选择很重要,建议大家还是根据自己的学习兴趣和个人情况,选择自己将要学习的编程语言。


推荐阅读
  • 本文详细探讨了 Django 的 ORM(对象关系映射)机制,重点介绍了其如何通过 Python 元类技术实现数据库表与 Python 类的映射。此外,文章还分析了 Django 中各种字段类型的继承结构及其与数据库数据类型的对应关系。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • Ihaveastringwithquotesaroundthepathasfollows:我在路径周围有一个带引号的字符串,如下所示:C:\ProgramFiles(x ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文介绍了一种解决二元可满足性(2-SAT)问题的方法。通过具体实例,详细解释了如何构建模型、应用算法,并提供了编程实现的细节和优化建议。 ... [详细]
  • 本文介绍了如何使用Java中的同步方法和同步代码块来实现两个线程的交替打印。一个线程负责打印1到52的数字,另一个线程负责打印A到Z的字母,确保输出顺序为12A34B...5152Z。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 堆是一种常见的数据结构,广泛应用于计算机科学领域。它通常表示为一棵完全二叉树,并可通过数组实现。堆的主要特性是每个节点的值与其父节点的值之间存在特定的关系,这使得堆在优先队列和排序算法中非常有用。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 开发笔记:9.八大排序
    开发笔记:9.八大排序 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 算法题解析:最短无序连续子数组
    本题探讨如何通过单调栈的方法,找到一个数组中最短的需要排序的连续子数组。通过正向和反向遍历,分别使用单调递增栈和单调递减栈来确定边界索引,从而定位出最小的无序子数组。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
author-avatar
时刻要有危机感01
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有