c语言代码常遇到的问题初学代码问题

【视频教程】代码规范(给初学者们的一些建议)_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:588,155贴子:
【视频教程】代码规范(给初学者们的一些建议)收藏
视频来自:一直以来,我每当看到初学者们那些乱得可以的代码,就有点想骂街的冲动。今天终于还是心平气和地录了这段关于代码规范的视频,请初学者们好好看一下这段视频教程。另外,如果大家有什么补充和建议的话,也欢迎跟帖。我这次录这段视频比较仓促,也没有把所有该讲的内容全部讲完,希望能听听大家的意见,在下一段关于代码规范的视频里面做完善。
来好好学习代码的规范性。
谢谢各位朋友支持
好帖,留名
好棒,好棒支持楼主
这个就是LINUX吗
楼主你有讲终端和vim的配色内容的视频吗
我是王宁。我来帮顶,
有一点,就是那个if只有一行加不加大括号,那个是看喜好的,毕竟Linux内核是不加的
让谭浩强看到最后一段话
空几格的问题,好像在编译器上按回车,自动空4格的吧
赞\(≧▽≦)/
统一是基本要求,像我这样只能做维护的也不奢求什么了。。
简单看了一下说的还可以,小驼峰讲了,大驼峰和匈牙利也得谈谈吧然后是常量的命名没有提到更严重的问题是,你既然说了不要用abc做变量名为什么你还用对于这种地方的命名还是用foo,bar之类的比较好
楼主能帮下我这个刚学C语言 却不知道从哪学起的吗 求指引目标
请问,这个问题怎么解决?
楼主讲的真好~声音很好听
登录百度帐号学长你好!我叫随风,今年20岁,为什么学C语言呢!因为感兴趣,&&&&&&&&&&&&&&&&&&&&&&&&我学了几天,书也看了,视频也看了,第一感觉,就是太难了,我根本就很难理解他,也不知道该怎么去理解,记住它,我也不知道那些英文有什么做用,我也知道这是一们语言,不是像其他技术那样去理解,两个字思维,就像小时候读书一样,慢慢的开始学字,慢慢的写作文……,我的理解是这样的,我现在最想解决的问题就是,该怎么做,怎么学,怎么理解它,然后记住它,我的问题就是这些了,希望学长指导我一下,谢谢!C++技术网会员解答:&&& C语言确实是一门语言,但是,它是一门计算机语言,不是人类的语言。语言要想真正掌握,就要去使用。人类语言就是要去说要去写。而计算机语言也是如此,只是方式和人类语言有所差异。
&&& 计算机语言沟通的对象是计算机,沟通的方式也就是编程。编程也就是用计算机编程语言如C语言与计算机沟通的一个过程。沟通的过程就是程序执行的过程、执行的时候可以有人机交互,也可以没有人机交互。但是,你要能够沟通,就要写好代码,编译成可以执行的程序。这也就是我们所说的写代码的过程。
&&& 在学习阶段,我们是学习基本的语法。语法就好比英语中的主谓宾定状补。主谓宾定状补属于语言的基本元素,然后就是混合使用形成各种表达方式。
&&& 计算机编程语言也是如此。编程语言都是这样,这里就针对C语言举例说明。
&&& 计算机的语言的基本元素是数据类型、操作符、函数、流程控制等。然后就是这些东西的混合使用。使用的时候也就是写代码,通过这些基本语法元素的混合使用,也就写出了各种各样的代码,实现了各种各样的功能。其实,程序功能也就是各种逻辑,代码也就是实现各种逻辑的东西。计算机也就是执行各种程序逻辑的机器。
&&& 所以说,你需要学习的方法就是:
1.学习基本的语法
例如:数据类型int、double的含义、使用和背景;逻辑判断if的使用;流程控制的循环while\for的使用;函数的调用;
2.编写基本语法的代码
学完基本的语法,熟悉了之后,针对这些基本语法,写一些基本的代码来练习,巩固。在写代码的过程中熟悉基本语法。第1步只是学习理论,这一步就是巩固基本语法,是通过实践来巩固,实践就是写代码,能够运行通过,才表示正确。这一步是最基本的一步写代码。
3.混合使用语法实现复杂的功能
各个基本的语法点都掌握了,要开始找一些实用小程序来综合练习,就好像是物理考试的最后几个大题一样。综合练习就是加深各个基本语法的理解和混合使用。这也就是项目经验的基础。这里会遇到各种混合使用中因为自己不熟而碰见的各种错误,也就是积累经验的过程。
4.写多了,遇到的坑多了,然后就理解了语法,记住了用法。无法使用英语学习的强行记忆,是行不通的。
5.自己写一个完整的可以供他人实际使用的程序
比如可以写一个完整的计算器、一个完整的通讯录、一个成绩统计分析程序、图书管理系统。这里会涉及到各种语法知识,也是真正大量积累项目经验的时候了。这些完整的程序就是小项目了。这些都能够做好后,就可以开始写大项目了。这些完整程序都要以实际的需要来做,不能绕过,要直面需求。可以直接解决,可以换个思路解决,这是锻炼自己的过程。
做完了这5步,C语言也就学好了。学习C语言,绝对不是简单学习一下语法而已。5步做完,才真正的学完了C语言基础。C Primer Plus是非常适合完全自学C语言的书籍了。根据这个5步的前3步,这本书里有对应的联系,后面两步需要自己来找程序开发。
微信扫码关注公众号CPP技术网,微信号cpp_coder,关注我们的公众号,阅读更多精彩内容!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!! 文章来源:原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。
当前位置:-> ->上一篇:下一篇:
在线提问 问题标题: 问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)(林德布尔姆)
(override)
第三方登录:新手初学C语言编程,编译过程
新手初学C语言编程,编译过程
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
熟悉C编译实行过程,是C进修的开端。
我们来简单说C说话从编码编译到实行要履历一下过程:
编译----&形成方针代码,方针代码是在方针机械上运转的代码。
毗连----&将方针代码与C函数库相毗连,并将源轨范所用的库代码与方针代码合并,并形成终极可实行的二进制机械代码(轨范)。
实行-----&在特定的机械情形下运转C轨范。
若是用一张图来表示:
编译,编译轨范读取源轨范(字符流),对之停止词法和语法的分析,将高级说话指令转换为功能等效的汇编代码,再由汇编轨范转换为机械说话,并且按照把持体系对可实行文件名目的要求链接生成可实行轨范。
C源轨范头文件--&预编译措置(cpp)--&编译轨范本身--&优化轨范--&汇编轨范--&链接轨范--&可实行文件
C语言是面向过程的,而C++是面向对象的
1.编译预措置
读取c源轨范,对其中的伪指令(以#开首的指令)和不凡符号停止措置
[析] 伪指令首要网罗以下四个方面
(1)宏界说指令,如#define Name TokenString,#undef等。对付前一个伪指令,预编译所要做的是将轨范中的所有Name用TokenString替代,但作为字符串常量的Name则不被替代。对付后者,则将取消对某个宏的界说,使往后该串的出现不再被替代。
(2)前提编译指令,如#ifdef,#ifndef,#else,#elif,#endif,等等。这些伪指令的引入使得轨范员可以经由过程界说不合的宏来抉择编译轨范对哪些代码停止措置。预编译轨范将按照有关的文件,将那些不必要的代码过滤掉
(3)头文件包含指令,如#include "FileName"或者#include 等。在头文件中一样平常用伪指令#define界说了大量的宏(最常见的是字符常量),同时包含有各类外部符号的声明。接纳头文件的目的主若是为了使某些界说可以供多个不合的C源轨范使用。由于在必要用到这些界说的C源轨范中,只需加上一条#include语句即可,而不必再在此文件中将这些界说频频一遍。预编译轨范将把头文件中的界说实足都参加到它所产生的输出文件中,以供编译轨范对之停止措置。
包含到c源轨范中的头文件可所以体系供给的,这些头文件一样平常被放在/usr/include目录下。在轨范中#include它们要使用尖括号(&&)。别的开发人员也可以界说本身的头文件,这些文件一样平常与c源轨范放在统一目录下,此时在#include中要用双引号("")。
(4)不凡符号,预编译轨范可以识别一些不凡的符号。例如在源轨范中出现的LINE标识将被诠释为当前行号(十进制数),FILE则被诠释为当前被编译的C源轨范的名称。预编译轨范对付在源轨范中出现的这些串将用适宜的值停止替代。
预编译轨范所完成的根基上是对源轨范的“替代”工作。经由此种替代,生成一个没有宏界说、没有前提编译指令、没有不凡符号的输出文件。这个文件的寄义同没有经由预措置的源文件是不异的,但内容有所不合。下一步,此输出文件将作为编译轨范的输出而被翻译成为机械指令。
2.编译阶段
经由预编译获得的输出文件中,将只需常量。如数字、字符串、变量的界说,以及C说话的关头字,如main,if,else,for,while,{,},+,-,*,\,等等。预编译轨范所要作得工作就是经由过程词法分析和语法分析,在确认所有的指令都适宜语法轨则之后,将其翻译成等价的中心代码表示或汇编代码。
3.优化阶段
优化措置是编译体系中一项斗劲艰深的手艺。它涉及到的问题不仅同编译手艺本身有关,并且同机械的硬件情形也有很大的关系。优化一局部是对中心代码的优化。这种优化不依靠于详细的计较机。另一种优化则首要针对方针代码的生成而停止的。上图中,我们将优化阶段放在编译轨范的后面,这是一种斗劲笼统的表示。
对付前一种优化,首要的工作是删除公共表达式、轮回优化(代码外提、强度减弱、变换轮回节制前提、已知量的合并等)、复写传布,以及无用赋值的删除,等等。
后一品种型的优化同机械的硬件构造慎密亲密相干,最首要的是考虑是若何充实把持机械的各个硬件寄放器存放的有关变量的值,以减少对付内存的访谒次数。别的,若何按照机械硬件实行指令的特点(如流水线、RISC、CISC、VLIW等)而对指令停止一些调解使方针代码斗劲短,实行的服从斗劲高,也是一个重要的研究课题。
经由优化获得的汇编代码必需经由汇编轨范的汇编转换成相应的机械指令,方可能被机械实行。
4.汇编过程
汇编过程实际上指把汇编说话代码翻译成方针机械指令的过程。对付被翻译体系措置的每一个C说话源轨范,都将终极经由这一措置而获得相应的方针文件。方针文件中所存放的也就是与源轨范等效的方针的机械说话代码。
方针文件由段构成。通常一个方针文件中至少有两个段:
该段中所包含的主若是轨范的指令。该段一样平常是可读和可实行的,但一样平常却不成写。
首要存放轨范中要用到的各类全局变量或静态的数据。一样平常数据段都是可读,可写,可实行的。
UNIX情形下首要有三品种型的方针文件:
(1)可重定位文件
其中包含有合适于其它方针文件链接来建树一个可实行的或者共享的方针文件的代码和数据。
(2)共享的方针文件
这种文件存放了合适于在两种上下文里链接的代码和数据。第一种事链接轨范可把它与其它可重定位文件及共享的方针文件一起措置来建树另一个方针文件;第二种是动态链接轨范将它与另一个可实行文件及其它的共享方针文件连系到一起,建树一个历程映象。
(3)可实行文件
它包含了一个可以被把持体系建树一个历程来实行之的文件。
汇编轨范生成的实际上是第一品种型的方针文件。对付后两种还必要其他的一些措置方能获得,这个就是链接轨范的工作了。
5.链接轨范
由汇编轨范生成的方针文件并不能立即就被实行,其中可能还有良多没有处理的问题。例如,某个源文件中的函数可能引用了另一个源文件中界说的某个符号(如变量或者函数挪用等);在轨范中可能挪用了某个库文件中的函数,等等。所有的这些问题,都必要经链接轨范的措置方能得以处理。
链接轨范的首要工作就是将有关的方针文件互相相毗连,也即将在一个文件中引用的符号同该符号在别的一个文件中的界说毗连起来,使得所有的这些方针文件成为一个可以诶把持体系装入实行的统一团体。
按照开发人员指定的同库函数的链接编制的不合,链接措置可分为两种:
(1)静态链接
在这种链接编制下,函数的代码将从其地点地静态链接库中被拷贝到终极的可实行轨范中。如许该轨范在被实行时这些代码将被装入到该历程的假造地点空间中。静态链接库实际上是一个方针文件的集结,其中的每个文件含有库中的一个或者一组相干函数的代码。
(2)动态链接
在此种编制下,函数的代码被放到称作是动态链接库或共享工具的某个方针文件中。链接轨范此时所作的只是在终极的可实行轨范中记实下共享工具的名字以及其它少量的挂号信息。在此可实行文件被实行时,动态链接库的全数内容将被映射到运转时相应历程的虚地点空间。动态链接轨范将按照可实行轨范中记实的信息找到相应的函数代码。
对付可实行文件中的函数挪用,可分袂接纳动态链接或静态链接的编制。使用动态链接可以使终极的可实行文件斗劲短小,并且当共享工具被多个历程使用时能节约一些内存,由于在内存中只必要保留一份此共享工具的代码。但并不是使用动态链接就必定比使用静态链接要优胜。在某些情形下动态链接可能带来一些机能上损害。
经由上述五个过程,C源轨范就终极被转换成可实行文件了。缺省情形下这个可实行文件的名字被命名为a.out。
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。初学C语言,有个素数问题求教,代码如下,请尽量不要使用一些初学者不熟悉的函数什么的。。。谢谢
[问题点数:40分,结帖人u]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:2769
本版专家分:2769
本版专家分:165
本版专家分:11473
2014年6月 C/C++大版内专家分月排行榜第二
本版专家分:114
本版专家分:0
本版专家分:0
匿名用户不能发表回复!
其他相关推荐}

我要回帖

更多关于 八数码问题c语言代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信