热门标签 | 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;当你在各大招聘网站投递简历时,昆明北大青鸟学员中有人一毕业进入五百强名企。所以选择很重要,建议大家还是根据自己的学习兴趣和个人情况,选择自己将要学习的编程语言。


推荐阅读
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文探讨了 C++ 中普通数组和标准库类型 vector 的初始化方法。普通数组具有固定长度,而 vector 是一种可扩展的容器,允许动态调整大小。文章详细介绍了不同初始化方式及其应用场景,并提供了代码示例以加深理解。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!-----&# ... [详细]
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社区 版权所有