哪位计算机c语音大神告诉我,这个哪里错了 运行不出来?

注:正文目录是从c语言中文网上贴的,很多文章是收费的,可以打开以下链接。 哪个免费的哪个费用,可以看得更清楚。 我觉得这个教程很好! 但是是个好东西。 人是收费的啊。

c语言是面向过程的编译型语言,运行速度非常快,仅次于汇编语言。 C语言是计算机工业的核心语言,操作系统、硬件驱动程序、关键组件、数据库等必须学习离不开C语言的C语言,才能了解计算机的基础。

这本《C语言入门教程》由站长亲自执笔,是一位倾注了多年编程经验的典型实践派。 本教程已发布5年,经过5次大改版,既适合初学者入门(语法学习),也适合程序员进阶(基础学习)。

学习c语言不仅需要学习语法,还需要学习内存、字符编码、调试技巧和编程思维。 这些知识点在本教程中进行了详细说明。

红色链接是高级教程,可以让读者认识c语言的本质,掌握一些“黑科技”。

第1章编程基础1 .简单易懂地理解什么是编程语言

2.C语言是什么样的语言?

3.C语言是私人和大神的分水岭

4 .学习编程很难吗? 能入门多久?

5 .我不擅长英语和数学。 你能学习编程吗?

6 .初中毕业后能编程吗?

7.C语言和c到底有什么关系?

8 .学c语言能做什么,能做什么工作?

9.2进制、8进制、16进制

10 .不同进制之间的转换

11 .将数据存储在存储器中

12 .加载存储器并执行程序

13.ASCII编码,将英语保存在计算机上

14.GB2312编码和GBK编码,将中文保存到计算机

15.Unicode字符集。 将世界各地的文字保存在计算机上

16 .程序员工资和发展方向大全

17 .请不要这样学习c语言。 这是一个洞。

18 .只有理解了这个才能学好编程。 否则,参加任何培训班都没用

第二章c语言入门1 .第一个c语言程序

2 .选择正确的输入法,严格区分中文和英文

4 .什么是编译和链接?

5 .主要的c语言编译器是什么?

6.ide (什么是集成开发环境?

7 .什么是工程/项目?

8 .面向初学者的c语言编译器(IDE )是哪个?

9 .如何在手机上写c语言代码?

11.C语言为什么有很多编译器?

12 .什么是程序安装?

13 .创建安装包,让用户安装程序

14.C语言程序错误和警告

15 .分析第一个c语言程序

16.C语言代码中的空白字符

17 .彩色版的c语言,使文字更加优美

18 .带接口的c语言程序

第三章变量和数据类型1 .大c语言变量和数据类型

2 .在画面上输出各种数据

4.2进制、8进制、16进制

5.C语言的正负数及其输出

6 .整数是如何存储在内存中的,为什么是天才设计

7 .整数可能的范围和数值溢出

8.C语言的小数(浮点,双精度)。

10.c语言中使用英文字母

11.c语言中使用中文字符

12.C语言到底用的是什么编码? 谁说用c语言用ASCII码,真荒谬!

14.C语言中的几个重要概念

15.C语言加减乘除运算

17 .变量的定义位置及初始值

18 .运算符的优先级和结合性

19.C语言数据类型转换

第4章c语言输入输出1 .数据输出的聚合和轻量化

2 .在屏幕任意位置输出文字,开发迷你游戏的第一步

使用scanf读取从键盘输入的数据

4 .通过键盘输入字符和字符串

5 .进入缓存世界,了解所有与输入输出相关的疑难杂症

6 .结合缓冲器谈论scanf函数,那些奇怪的行为实际上有章可循

7 .从根本上消除清空(刷新)缓冲区的奇怪行为

8.scanf的高级用法,本来scanf还有这么多新技能

10 .无阻塞键盘拦截,无需用户输入数据即可继续执行

第五章循环结构和选择结构1.C语言if else语句

10.对选择结构和循环结构的总结

11.谈编程思维的培养,初学者如何实现自我突破(非常重要)

12.写一个内存泄露的例子,让计算机内存爆满

3.判断数组中是否包含某个元素

4.C语言字符数组和字符串

5.字符串的输入和输出

6.C语言字符串处理函数

7.C语言数组是静态的,不能插入或删除元素

8.C语言数组的越界和溢出

9.C语言变长数组:使用变量指明数组的长度

10.对数组元素进行排序

11.对C语言数组的总结

3.C语言函数的形参和实参

4.C语言函数的返回值

5.C语言函数的调用(从中发现程序运行的秘密)

6.函数声明以及函数原型

7.全局变量和局部变量

8.C语言变量的作用域

10.C语言递归函数(带实例演示)

11.中间递归函数(比较复杂的一种递归)

12.多层递归函数(最烧脑的一种递归)

13.递归函数的致命缺陷:巨大的时间开销和内存开销(附带优化方案)

14.忽略语法细节,从整体上理解函数

1.什么是预处理命令?

4.C语言带参数的宏定义

5.带参宏定义和函数的区别

6.宏参数的字符串化和宏参数的连接

7.C语言中几个预定义宏

9.#error命令,阻止程序编译

10.C语言预处理命令总结

1.1分钟彻底理解指针的概念

2.指针变量的定义和使用

3.C语言指针变量的运算

4.数组指针(指向数组的指针)

5.字符串指针(指向字符串的指针)

6.C语言数组灵活多变的访问形式

7.指针变量作为函数参数

8.C语言指针作为函数返回值

9.二级指针(指向指针的指针)

11.数组和指针绝不等价,数组是另外一种类型

12.数组到底在什么时候会转换为指针

13.指针数组(数组每个元素都是指针)

14.一道题目玩转指针数组和二级指针

15.二维数组指针(指向二维数组的指针)

16.函数指针(指向函数的指针)

17.只需一招,彻底攻克C语言指针,再复杂的指针都不怕

18.main()函数的高级用法:接收用户输入的数据

19.对C语言指针的总结

6.大端小端以及判别方式

9.使用位运算对数据或文件内容进行加密

第11章 重要知识点补充

1.C语言中的文件是什么?

3.文本文件和二进制文件到底有什么区别?

4.以字符形式读写文件

5.以字符串的形式读写文件

6.以数据块的形式读写文件

9.C语言实现文件复制功能

10.FILE结构体以及缓冲区深入探讨

11.获取文件大小(长度)

12.插入、删除、更改文件内容

1.调试的概念以及调试器的选择

2.设置断点,开始调试

3.查看和修改变量的值

4.单步调试(逐语句调试和逐过程调试)

6.查看、修改运行时的内存

10.VS调试的总结以及技巧

第14章 C语言内存精讲

1.一个程序在计算机中到底是如何运行的?

2.虚拟内存到底是什么?为什么我们在C语言中看到的地址是假的?

3.虚拟地址空间以及编译模式

4.C语言内存对齐,提高寻址效率

5.内存分页机制,完成虚拟地址的映射

6.分页机制究竟是如何实现的?

7.MMU部件以及对内存权限的控制

8.Linux下C语言程序的内存布局

10.用户模式和内核模式

11.栈(Stack)是什么?栈溢出又是怎么回事?

12.一个函数在栈上到底是怎样的?

14.用一个实例来深入剖析函数进栈出栈的过程

15.栈溢出攻击的原理是什么?

16.C语言动态内存分配

17.malloc函数背后的实现原理——内存池

18.C语言野指针以及非法内存操作

19.C语言内存泄露(内存丢失)

20.C语言变量的存储类别和生存期

第15章 头文件的编写

1.从extern关键字开始谈多文件编程

2.那些被编译器隐藏了的过程

3.目标文件和可执行文件里面都有什么?

4.到底什么是链接,它起到了什么作用?

5.符号——链接的粘合剂

8.C语言模块化编程中的头文件

9.C语言标准库以及标准头文件

10.细说C语言头文件的路径

11.防止C语言头文件被重复包含

13.一个比较规范的C语言多文件编程的例子


计算机在包括科研和金融在内的各个领域都有着无可替代的作用,编程能力也是很多实验室挑选学生时的一项重要指标。即使你以后再也用不上C语言,但作为编程入门课,这门4学分的课程还是非常重要。

今天的学习指导,学长就来聊聊怎么学习C语言。


这是第一阶段,是学好c的基础。其重点在于初步理解用c语言编程,即输入给计算机命令使其完成相应的操作;说得通俗一些,就是用特定语言和计算机交流。所以,我们应该理解,或说记住每条语句可以实现的功能和实现某功能可选择的语句(就如同英译汉和汉译英)。

要想真正使用好c语言,熟记“为实现某功能我们可以选择的语句”尤为重要。如果在此阶段可以掌握好同种功能语句之间的差别,必然是更好,但是在现阶段,个人认为很多功能语句、算法思路差别不大,建议挑选一种常用的、容易理解的熟练掌握,比如循环结构我常使用while语句。

听老师讲解实例,无疑是了解c语句对应功能的好方法,如果上课足够认真,略读课本这一过程完全可以省略,当然,此时你也可以精读,找到一些细小的知识点,但是由于知识储备不足(比如未学指针、函数),所以个人认为此时精读意义并不大,而学习完成后的精读十分必要

实践是检验真理的唯一标准,光读范例程序自然是纸上谈兵,练习必不可少。作业和上机在c语言学习中是与上课听讲相辅相成的,尤其是上机,作用甚重,一是强化记忆,加深理解,应用自己学到的知识编写一个实用的小程序自然有利于加深记忆,同时也可以给你些许成就感,给予你继续学习的动力;二是检验所学,纵然课本和ppt上白纸黑字,写的看似清清楚楚,但是理解难免出现偏颇,此时一个build就可以告诉你你所编写的程序是否正确

完成了c语言的初步学习后(基本可以不需要任何参考编写课程要求内的所有程序),你需要进一步完善你的所学,因为课本中会隐藏许许多多的小知识点,它们可能在你初次学习时由于不经常使用而被忽视。此外,学习了指针、函数知识后,再次阅读课本时,不但可以理解之前超纲的内容(课本中在未讲函数时会涉及有关函数的例子;数组的理解需要指针的知识),而且可以通过用后面的知识解决前面的问题来加深理解。当然,值得注意的是,遇到问题,第一时间应该上机检验,因为很有可能这是你第一次学习中未发现的错误的理解。

此外,上课配套的教材可能版本比较旧,并没有加入C语言的新标准,编程时可能会造成不便。如果希望最大程度上提高自己的编程能力,而不是取得一个不错的分数即可,可以去图书馆借一到两本相关方面的书用于课下自学。



K&R的《C程序设计语言》

(这本不太适合0基础初学者)


完成了上述基本学习,你可以通过阅读程序来提高自己,也就是做练习。既可以用通常意义下的刷题的方式来查缺补漏,加深理解,也可以通过编写、调试程序来提高。

上机不做过多赘述,我在此简单介绍一下做什么题。我在开始做题的时候是期末考前一个月,对于零碎知识点的掌握,应该做填空,选择题;出现错误应该翻阅课本,上网查询或询问大神、老师;对于程序理解能力的锻炼,应该做阅读程序写出运行结果类题,出现错误应再次仔细阅读,如果依然不理解,应上机检查答案正确性并询问身边大神或老师。


如果想在期末中取得高分,个人给出如下建议:

1. 熟记链表、冒泡法排序等有固定套路的程序(排序类程序建议选择自己最理解的使用,最好不要这次用冒泡法,下次用选择法)

2. 将课本、历年试题(开心英语书店可购买)、上机指导书上的大型程序编写并上机调试,力求一次正确(并非所有大型程序,只需练习算法比较奇特或者不常见的,如链表这样的程序,耗时耗力作用不大,建议记忆后不再练习)

3. 熟练背诵一些知识点,如优先级

关于刷题,在这里安利一下谭浩强的书,一本绿色习题集(他的习题集还是不少的,别的怎么样我也不清楚,个人认为这本还是不错的,但是做题时感觉其中有点错误,不知道是否是自己理解的偏颇),东图四楼西边是可以借的。

如果你在编程方面零基础,希望有一种在这门课上少花时间也可以拿到令人满意的分数的方法,不好意思,我暂时也没想到。如果你有编程基础,可以直接告诉老师,一般来说,就可以免掉一学期的上机课时和作业,只需要做一个大作业交给老师,并参加期末考试即可,因为老师知道你有基础,所以给分也一定不会低的。


总的来说,想要从零开始学习c语言,就是要多看范例,多上机试炼,多想(主要对于指针一章,要仔细思考它们之间的结构关系),惟其如此,才能渐渐理解c语言,掌握c语言。

欲了解谭浩强习题集在图书馆中的位置,请点击“阅读原文”查看

关于《经验,知识,百科,个人图书馆,在线图书馆》用户点评二、

这时会出现新建对话框,选择“控制台应用程序”项,按确定(go)

接下来选择是用C还是C++

点下一步,然后就确定工程的位置及文件名等,继续下一步

最后选择编译器和编译生成位置,如果你安装的是自带MinGW的CodeBlocks,就选默认(GNU GCC编译器)就行,如果你装了TurboC或者VisualC++等第三方编译器,就可以选择其它的对应的编译器选项,(注意你如果只装了不带MinGW的CodeBlocks而没有编译器,你写的程序将无法编译运行。)

注意,现在很多高版本的CodeBlocks已经不需要再手动创建文件,在你建完控制台项目后,就可以在左侧项目管理窗口中点开Sources文件夹,里面有main.c或main.cpp文件。你可以直接编辑这个文件。如果没有这个文件的话,你就按以下步骤新建文件吧。
在文件菜单中选择 新建 文件 即可,然后选择:C/C++源(source)文件,单击Go继续

第一个界面直接无视,点下一步,第二个是选择是用C还是C++,点下一步之后,就是确定路径和文件名,并添加到工程

写完编码后,在 生成(Build) 菜单中选择 生成 即可开始编译,或者点击工具栏上面那个略带黄色的齿轮,编译通过后要运行,请选择 生成 菜单 下的 运行(Run) 菜单项,或者点击工具栏上那个绿色的三角

这个图是编译和运行这两功能在工具栏上对应的按钮位置。这两个图标后面还有一个把齿轮和三角结合在一起的图标,这表示一次性完成编译和运行(如果是用菜单栏的话就是生成菜单中的“生成并运行(Build and run)”项

运行成功会出现命令行窗口,显示运行结果,以及main函数的返回值等信息

如果需要调试程序,请先在程序源码中打好断点,然后使用“调试”菜单中的“启动/继续”项(或者按F8)

  步骤1:Code::Blocks主菜单“文件”→“新建”→“项目…” 弹出如下对话框中,开始“Console Application”。   (图 1 开始“Console Application”向导)   步骤2:如果出现向导的“欢迎界面”,直接点击下一步。   步骤3:出现用于选择语言的对话框,选择“C++”,下一步。   步骤4:出现选择文件夹的对话框,在“项目标题”中输入“HelloWorld”。两单词连写,不包括双引号。本步操作结果将会在“我的文档”中“CodeBlocks Projects”目录下,新建一个名称为“HelloWorld”的目录。   步骤5:出现编译器选项对话框。在“编译器”中选择“GNU GCC Compiler”。其下则默认“Debug”与“Release”两个编译目标都是默认选中的,不必改变,通常我们都需要调试和发行两个版本,就算是一个Hello Word的简单程序。按下“完成”。   步骤6:必要时按下“Shift + F2”,出现“Management”侧边栏,如下图:     步骤7:双击上图所示的main.cpp,将打开该文件。暂时我们还并不需要修改它。   步骤8:主菜单“构建”→“构建”。或者,用热键Ctrl+F9,完成编译。   步骤9:再按Ctrl + F10,运行。(9、10步也可以通过工具栏实现,请读者自行熟悉)。下面是运行结果图:   步骤10:其中“Hello world!”是我们程序的输出。下面的内容是Code::Blocks为了方便我们调试而增加的内容(本来该程序运行后,就直接退出),包括显示了程序运行用时,以及提示“按任意键退出”。

code blocks怎么样导入一个已经原来已经存好的项目?每次打开都只能打开那个main.c,

假设你的工程名为project,目录为F:\test。但是你想在project中使用文件夹F:\library下面的一些头文件和源程序。由于这些头文件和源程序与工程project不在同一目录下面,所以需要做一些设置。下面介绍两种方法: 1、第一步:在CodeBlocks界面中右击工程名project,点击Add directories->Compiler,点击下方的Add按钮,将路径F:\library添加进去,最后点击OK。设置完成后便可以不用写绝对路径,编译器在当前目录要是找不到头文件的话便会去F:\library目录下寻找。 #注意,可以把头文件的路径加入compiler中这样就不会报错了 引用自:网页链接

基础创建文件方法/步骤 1、打开CodeBlocks软件 2、选择“create a new project” 3、选择第四个,点击“go” 4、选择“C”,点击“next” 5、填写工程的信息,点击“next” 6、点击“finish” 7、选择“file”,“new”,“file”。 8、选择第二个,点击“go” 9、点击“next” 10、选择“C”点击“next” 11、输入路径,点击“finish” 12、至此,C语言工程已经创建完毕,尽情享用吧。

怎么用codeblocks编写c语言的图形程序

在codeblocks中,可以通过集成EGE库,来实现C语言图形程序的编写,具体方式如下: 一、安装: 1、下载ege安装包; 2、将安装包解压; 3、把压缩包里include目录下所有文件,复制到编译器安装目录下的include目录内,例如D:\MinGW\include\;4、把lib目录下对应编译器名目录下的文件,复制到编译器安装目录下的lib目录内,例如D:\MinGW\lib\。 二、建立工程: 只要第1步做好以后,其实已经安装好ege了,剩下的只是配置build

我要回帖

更多关于 c语言没错但是运行不了 的文章

 

随机推荐