您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 传智播客C语言入门2-环境搭建及helloworld
传智播客C语言入门教程(2)讲师:尹成QQ:77025077博客:微博::yinc13@mails.tsinghua.edu.cn网址:语言传智播客语言编译,链接,生成的过程传智播客C语言入门教程(2)大纲1.C语言开发环境概述C语言课程概述6.初学者的疑难解答传智播客,C++,C,TC:跳出这团浆糊——认识开发环境和语言的区别VC++,一般是指微软公司的VisualStudio开发套件中的VisualC++开发环境。所谓开发环境,是集成了源代码编辑,编译,链接,调试等功能的一个综合程序。VisualC++C++,是另外一门有些类似C语言语法的面向对象的高级语言。虽然C语言不加修改就可以被C++编译器编译,但C和C++是完全不同思想的两门语言,不应将C++看作是C的超集。.C++C就是指C语言了。CTC是Borland公司开发的C编程环境,是TrobeC的简称。一般学习C语言,都使用该编程环境,只是这已经算是老古董了,对于现在的操作系统,使用TC2来编写程序,已经很不合时宜了TurboC/C++传智播客简介安装简单,支持主流操作系统XP,Win7,Win8中文版全中文界面,帮助也是中文,学习简单代码智能提示,功能强大VisualStudio2010传智播客下载百度网盘下载地址:=16864835&uk=4245461507下载该文件:把文件下载好以后打开,选择用360压缩打开,安装之前请关闭杀毒软件,360安全卫士,避免安装失败,如果安装失败,建议重装系统以后再装。传智播客同意相关条款选择同意条款,点击“下一步”按钮传智播客定制安装选项硬盘够大的同学选择完全,不够的同学选择自定义,同时可以定制软件安装路径传智播客定制安装的功能在这里可以定制安装哪些,不安装哪些,必须勾选VisualC++传智播客开始安装开始安装,忍耐,等待传智播客处理重启如果提示重启,则重启传智播客安装完成大功告成,可以继续安装文档,可装可不装,点击安装文档选择相关文档安装即可传智播客安装编程助手-代码自动提示百度网盘下载地址:=16864835&uk=4245461507下载该文件:把文件下载好以后打开,选择用360压缩打开,安装之前请关闭杀毒软件,360安全卫士,避免安装失败点击Install即可安装传智播客案例的代码#includestdio.h/*包含该头文件的目的是使用了函数printf*//*空行,主要是为了分隔,编译器忽略。*/voidmain(void)/*主函数,入口点*/{/*函数开始*/printf(HelloWorld!);/*打印字符串*/getchar();//等待输入,起到等待的作用}C语言中的头文件是什么意思呢头文件的后缀是.h,头文件中一般存放一些定义,很少作实际的运算。头文件的好处是,可以通用。如一些都用得上的定义,可以让其他文件来调用它,这样就节省了代码量,并且带来了方便,h就是head(头)的简称传智播客代码概貌很短,简单几行文字,就创建了一个可以运行的程序,非常神奇。代码虽小,但五脏俱全,综观整个代码,可以总结如下特点:(1)由单词,符号,空白组成。单词以英语单词为主,有的单词就是纯正的英语单词,如main、void、include;有的不是,如getchar、pringf。单词一般都小写。代码中的标点符号并不是随意输入的。每个符号在C中都有自己的含义。中出现的符号,有“#”、“”、“()”、“\”、“/*”、“*/”、“{}”、“;”、“””。单词与单词之间用空白分隔,空白可以是空格,也可以是Tab制表符。空白的个数没有限制。(2)如同阅读小说一样,C源代码也是从上往下阅读。也就是C源代码的先后顺序是有讲究的。行与行之间也可以有空白行。空白行数也是没有限制的。有的行顶格书写,有的行却又后退了几个空格,这种后退,称为“缩进”。如何缩进,这些也都是有讲究的。(3)并没有专门的标志表示文件从哪里起始,也没有标志表示文件到哪里结束。从第一个字符开始,文件就开始了,到最后一个字符结束,文件就结束了。传智播客注释-程序员的解释出现最多的是“/*”和“*/”包裹起来的中文语句,这些是注释。注释是帮助程序员阅读源代码和理解源代码的。编译器在编译源代码的时候,在目标代码生成以前,会把注释剔除掉然后再进行编译,当然编译器是不会修改源文件的,这一切是在内存中完成。由于对于注释部分忽略不处理,就如同没有这些字符一样,所以注释不会增加编译后的程序的可执行代码长度,对程序运行不起任何作用。注释分为两种//,/**/传智播客代码解析先看下面的代码段,这段代码是从中截取过来的,为了学习方便,去掉了注释部分:voidmain(void){printf(HelloWorld!);getchar();}voidmain(void){…}这一段是在定义C程序的主函数。函数是可以完成一定功能的子程序。Main函数是C语言程序的起始执行点。每一个C程序必须有且仅有一个main函数,它是由程序员提供的。传智播客屏幕上显示文字-函数调用Main函数体中:printf(HelloWorld!);这行是调用了C语言提供的打印数输出函数,该函数的名字是“printf”,小括号内双引号括起来的文字是printf函数的参数。该函数的功能是把小括号里的文字原样打印在屏幕上。也就是说双引号里的内容变化,则打印在屏幕上的文字也会变化。传智播客有什么用源代码最终是需要被编译器处理的。编译器编译的过程比较复杂,但一般需要经历好几步。第一步是预处理。所谓预处理,就是编译前,先进行些预先处理,如代替源代码中需要代替的部分。#include就是这么一个预处理指示指令。为了弄清楚#include的作用,现在请大家思考一个问题:编译器如何知道有printf这个函数?传智播客怎么找到函数试验,修改printf为其他单词,如printfitcast,则在编译的时候,编译器会返回错误:出现一个错误,调用了一个没有定义的函数printfitcast。Bug的英文意思是臭虫,被引入到计算机领域,需要追溯到第一代计算机时代。当时的计算机是由许多真空管构成,需要利用大量的电力使真空管发光。某天,一只虫子爬进了其中的某只真空管中,计算机于是停止工作了。研究人员耗费很长时间,找来找去,一处地方一处地方排查,最后终于发现了这个虫子,取出虫子后,计算机就恢复了正常。于是bug这个词语就在计算机领域中代表了隐藏的错误、缺陷、漏洞或者问题。把排除错误的过程称为debug。断点是为了方便程序员在调试过程中观察程序内部各状态而专门设置的一种调试手段。也就是在调试模式下运行程序过程中,当程序语句运行到设置的断点后,暂停程序运行,但是程序当时的内存、寄存器、上下文环境等数据都被保持,并且在源代码编辑器中指示出当前停留在代码的哪一行。然后程序员就可以不慌不忙利用调试器查看程序内部状态。传智播客是用于做啥做一个试验:将中的第一行代码删除掉。就是去掉了“#includestdio.h”,再编译看出现什么现象。是不是编译器又提示缺少函数原型:#include的作用#include是C语言预处理器指示符。#和include之间可以有多个空格。#也不一定要顶格,但是一定是第一个非空白字符。#include的作用,是告诉编译器在编译前,要做些预先处理:将后面中的文件内容包含到当前文件内。所谓包含,是指将中列出的文件的内容复制到当前文件里。注意:#一定要是第一个非空白字符。否则编译器会提示错误,并且错误信息和出错原因完全不匹配。因为getchar和printf两个函数的声明位于stdio.h文件中,所以简单的用#include把stdio.h文件包含进来,自然就把getchar和printf两个函数的声明包含进来了。说明:函数声明只是向编译器登记有这么一个函数,声明了函数不调用这个函数,是被容许的。这就是为什么包含了整个stdio.h文件,里面声明了很多其他函数,但实际没有使用这些函数而编译器又不提示的原因。传智播客•预处理指令例如包含头文件•全局声明在函数之外进行的数据声明•函数定义函数用来实现功能•必须包含一个main函数(只能有一个)•每个函数都用来实现若干特定功能•被调用的函数可以是库函数,也可以是自己编制设计的函数•程序总是从main函数开始执行•C程序书写格式是比较自由的,一行可以几个语句,便于阅读只写一行•数据声明和语句最后必须有分号•C语言本身不提供输入输出语句•程序应当包含注释,增加可读性一个程序由一个或多个源程序文件组成函数是C程序的主要组成部分C程序对计算机的操作由C语句完成2.4.10C程序结构传智播客问题分析解决什么问题怎么解决编写程序分析结果结果错了,程序肯定错结果对了,程序未必对设计算法对源程序进行编辑、编译和连接2.5C语言的编程流程传智播客数据结构与算法对数据的描述对操作的描述算法+数据结构=程序•在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式•这就是数据结构(datastructure)•即要求计算机进行操作的步骤•也就是算法(algorithm)语言只是程序工具程序传智播客•C语言•C++语言•面向过程•面向对象•二叉树•队列•栈•红黑树•链表•等等•快速排序算法•冒泡排序算法•
本文标题:传智播客C语言入门2-环境搭建及helloworld
链接地址:https://www.777doc.com/doc-3731296 .html