1、讲师:尹成QQ:77025077博客:http:/ 传智播客传智播客http:/高薪就业高薪就业传智播客传智播客 2.安装安装VisualStudio2010 3.VisualStudio开发环境概述开发环境概述 4.跟我一起实现跟我一起实现Hello World 5.C语言编译,链接,生成的过程语言编译,链接,生成的过程传智播客C语言入门教程(2)大纲 1.C语言开发环境概述语言开发环境概述6.初学者的疑难解答初学者的疑难解答传智播客传智播客VC+,一般是指微软公司的,一般是指微软公司的Visual Studio开发套开发套件中的件中的Visual C+开发环境。开发环境。所谓开发环境,是集
2、成了源代码编辑,编译,链所谓开发环境,是集成了源代码编辑,编译,链接,调试等功能的一个综合程序。接,调试等功能的一个综合程序。VisualC+C+,是另外一门有些类似,是另外一门有些类似C语言语法的面向语言语法的面向对象的高级语言。虽然对象的高级语言。虽然C语言不加修改就可以语言不加修改就可以被被C+编译器编译,但编译器编译,但C和和C+是完全不同思是完全不同思想的两门语言,不应将想的两门语言,不应将C+看作是看作是C的超集。的超集。.C+C就是指C语言了。CTC是Borland公司开发的C编程环境,是Trobe C 的简称。一般学习C语言,都使用该编程环境,只是这已经算是老古董了,对于现在的
3、操作系统,使用TC2来编写程序,已经很不合时宜了TurboC/C+传智播客传智播客安装简单,支持主流操作系统安装简单,支持主流操作系统XP,Win7,Win8中文版全中文界面,帮助也中文版全中文界面,帮助也是中文,学习简单是中文,学习简单代码智能提示,功能强大代码智能提示,功能强大Visual Studio 2010传智播客传智播客百度 网盘下载地址:http:/ Visual Studio 2010传智播客传智播客等待它漫长的加载传智播客传智播客点击下一步传智播客传智播客选择同意条款,点击“下一步”按钮传智播客传智播客硬盘够大的同学选择完全,不够的同学选择自定义,同时可以定制软件安装路径传智
4、播客传智播客在这里可以定制安装哪些,不安装哪些,必须勾选Visual C+传智播客传智播客开始安装,忍耐,等待传智播客传智播客如果提示重启,则重启传智播客传智播客继续安装传智播客传智播客大功告成,可以继续安装文档,可装可不装,点击安装文档选择相关文档安装即可传智播客传智播客传智播客传智播客传智播客传智播客传智播客传智播客百度 网盘下载地址:http:/ main(void)/*主函数,入口点*/*函数开始*/printf(Hello World!);/*打印字符串*/getchar();/等待输入,起到等待的作用C语言中的头文件是什么意思呢 头文件的后缀是.h,头文件中一般存放一些定义,很少作
5、实际的运算。头文件的好处是,可以通用。如一些都用得上的定义,可以让其他文件来调用它,这样就节省了代码量,并且带来了方便,h就是head(头)的简称传智播客传智播客很短,简单几行文字,就创建了一个可以运行的程序,非常神奇。代码虽小,但五脏俱全,综观整个代码,可以总结如下特点:(1)由单词,符号,空白组成。单词以英语单词为主,有的单词就是纯正的英语单词,如main、void、include;有的不是,如getchar、pringf。单词一般都小写。代码中的标点符号并不是随意输入的。每个符号在C中都有自己的含义。中出现的符号,有“#”、“”、“()”、“”、“/*”、“*/”、“”、“;”、“”。单
6、词与单词之间用空白分隔,空白可以是空格,也可以是Tab制表符。空白的个数没有限制。(2)如同阅读小说一样,C源代码也是从上往下阅读。也就是C源代码的先后顺序是有讲究的。行与行之间也可以有空白行。空白行数也是没有限制的。有的行顶格书写,有的行却又后退了几个空格,这种后退,称为“缩进”。如何缩进,这些也都是有讲究的。(3)并没有专门的标志表示文件从哪里起始,也没有标志表示文件到哪里结束。从第一个字符开始,文件就开始了,到最后一个字符结束,文件就结束了。传智播客传智播客传智播客传智播客传智播客传智播客传智播客传智播客传智播客传智播客Bug的英文意思是臭虫,被引入到计算机领域,需要追溯到第一代计算机时
7、代。当时的计算机是由许多真空管构成,需要利用大量的电力使真空管发光。某天,一只虫子爬进了其中的某只真空管中,计算机于是停止工作了。研究人员耗费很长时间,找来找去,一处地方一处地方排查,最后终于发现了这个虫子,取出虫子后,计算机就恢复了正常。于是bug这个词语就在计算机领域中代表了隐藏的错误、缺陷、漏洞或者问题。把排除错误的过程称为debug。断点是为了方便程序员在调试过程中观察程序内部各状态而专门设置的一种调试手段。也就是在调试模式下运行程序过程中,当程序语句运行到设置的断点后,暂停程序运行,但是程序当时的内存、寄存器、上下文环境等数据都被保持,并且在源代码编辑器中指示出当前停留在代码的哪一行
8、。然后程序员就可以不慌不忙利用调试器查看程序内部状态。传智播客传智播客做一个试验:将中的第一行代码删除掉。就是去掉了“#include”,再编译看出现什么现象。是不是编译器又提示缺少函数原型:#include的作用#include是C语言预处理器指示符。#和include之间可以有多个空格。#也不一定要顶格,但是一定是第一个非空白字符。#include的作用,是告诉编译器在编译前,要做些预先处理:将后面中的文件内容包含到当前文件内。所谓包含,是指将中列出的文件的内容复制到当前文件里。注意:#一定要是第一个非空白字符。否则编译器会提示错误,并且错误信息和出错原因完全不匹配。因为getchar和p
9、rintf两个函数的声明位于stdio.h文件中,所以简单的用#include把stdio.h文件包含进来,自然就把getchar和printf两个函数的声明包含进来了。说明:函数声明只是向编译器登记有这么一个函数,声明了函数不调用这个函数,是被容许的。这就是为什么包含了整个stdio.h文件,里面声明了很多其他函数,但实际没有使用这些函数而编译器又不提示的原因。传智播客传智播客 预处理指令 例如包含头文件 全局声明 在函数之外进行的数据声明 函数定义 函数用来实现功能 必须包含一个main函数(只能有一个)每个函数都用来实现若干特定功能 被调用的函数可以是库函数,也可以是自己编制设计的函数
10、程序总是从main函数开始执行 C程序书写格式是比较自由的,一行可以几个语句,便于阅读只写一行 数据声明和语句最后必须有分号 C语言本身不提供输入输出语句 程序应当包含注释,增加可读性一个程序由一个或多个源程序文件组成函数是函数是C程序的程序的主要组成部分主要组成部分 C程序对计算机的程序对计算机的操作由操作由C语句完成语句完成传智播客传智播客问题分析问题分析解决什解决什么问题么问题怎么解怎么解决决编写程编写程序序分析结分析结果果结果错了,程序肯定错结果错了,程序肯定错结果对了,程序未必对结果对了,程序未必对设计算法设计算法对源程序进行编辑、编对源程序进行编辑、编译和连接译和连接传智播客传智播
11、客对数据的描述对数据的描述 对操作的描述对操作的描述算法算法+数据结构数据结构=程序程序 在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式 这就是数据结构(data structure)即要求计算机进行操作的步骤 也就是算法(algorithm)语言只是程序工具语言只是程序工具程序程序传智播客传智播客程序设计方法程序设计方法语言工具语言工具数据结构数据结构算法算法1234 C语言 C+语言 面向过程 面向对象 二叉树队列栈红黑树 链表等等 快速排序算法冒泡排序算法选择排序算法等等算法、数据结构、程序设计方法和语言工具是一个程序设计人员应算法、数据结构、程序设计方法和语言工具是一个程
12、序设计人员应具备的知识具备的知识.2.5.2一个程序设计人员应具备的知识传智播客传智播客 笨办法笨办法 聪明的办法聪明的办法1+2+3+4一直加到一直加到100 一个一个的相加,1+2=3,3+3=6,6+4=10,最后等于5050 1+100=2+99=3+98=101 50*101=5050无论什么方法都是解决问题无论什么方法都是解决问题问题问题传智播客传智播客有穷性。一个算有穷性。一个算法应包含有限的法应包含有限的操作步骤,而不操作步骤,而不能是无限的能是无限的确定性。算法中的确定性。算法中的每一个步骤都应当每一个步骤都应当是确定的,而不应是确定的,而不应当是含糊的、模棱当是含糊的、模棱
13、两可的。两可的。有零个或多个有零个或多个输入。所谓输输入。所谓输入是指在执行入是指在执行算法时需要从算法时需要从外界取得必要外界取得必要的信息。的信息。有一个或多个输出。算法的目有一个或多个输出。算法的目的是为了求解,的是为了求解,“解解”就是输就是输出。没有输出的算法是没有意出。没有输出的算法是没有意义的。义的。有效性。算法有效性。算法中的每一个步中的每一个步骤都应当能有骤都应当能有效地执行,并效地执行,并得到确定的结得到确定的结果果算法特性算法特性一个有效算法应该具有以下特点.传智播客传智播客面向过程的编程语言,程序设计方法传智播客传智播客从从.obj链接成链接成.exe,如果调试出现,如
14、果调试出现问题,就返回源码编辑问题,就返回源码编辑编辑源代码编辑源代码编译源文件编译源文件链接生成应链接生成应用程序用程序代码在代码在.c与与.h头文件中写好了以头文件中写好了以后,从后,从.c,.h文件编译成文件编译成.obj代码被编译为二进制文件代码被编译为二进制文件.obj以后,以后,打包一些调用的库,链接成打包一些调用的库,链接成.exe可可执行文件执行文件C语言的编程步骤需要三个步骤传智播客传智播客.CPP.C文件文件C语言与语言与C+语言语言.CPP是是C+的源文件,的源文件,C+语言兼容语言兼容C语言,编写语言,编写C语言代码可以用语言代码可以用C+的源文件的源文件.CPP。C+
15、语言兼容语言兼容C语言,语言,C语言是面向过程,语言是面向过程,C+语言既能面向过程也可以语言既能面向过程也可以面向对象。面向对象。.C是纯粹的是纯粹的C语言文件,不可以有语言文件,不可以有C+语言的代码,默认自带一些库文语言的代码,默认自带一些库文件。件。传智播客传智播客集成开发环境,例如集成开发环境,例如VisualStudio2010就是一个就是一个IDE.IDE所有的代码字符必须在英文状态下输入,否则所有的代码字符必须在英文状态下输入,否则会会因为字符不同报错因为字符不同报错.代码代码-字字符符学习学习C+之前,必须先学之前,必须先学C语言,不懂语言,不懂C语言的精语言的精髓,髓,难以
16、学好难以学好C+.可以直可以直接学接学C+?学会编写代码,用代码解决问题,是最快的学习学会编写代码,用代码解决问题,是最快的学习途径途径.C/C+的的学习秘学习秘诀诀传智播客传智播客 1.2.3.新建一个工程,以新建一个工程,以.CPP文件作为源文件,打印出文件作为源文件,打印出Hello China新建一个工程,以新建一个工程,以.C文件作为源文件,打印出自己的姓名,年龄,性别文件作为源文件,打印出自己的姓名,年龄,性别,身高,体重,爱好,籍贯,身高,体重,爱好,籍贯新建一个工程,以新建一个工程,以.C文件作为源文件,打印出文件作为源文件,打印出 Hello,传智播客,传智播客C语言C+语言高薪就业高薪就业谢谢!传智播客传智播客http:/