好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

传智播客C语言入门课件.ppt

40页
  • 卖家[上传人]:夏**
  • 文档编号:605840919
  • 上传时间:2025-05-23
  • 文档格式:PPT
  • 文档大小:3.58MB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,传智播客,传智播客,C,语言入门教程(,2,),讲师:尹成,,:77025077,,博客,: World,5.C,语言编译,链接,生成的过程,传智播客,C,语言入门教程(,2,)大纲,1.C,语言开发环境概述,C,语言课程概述,,,6.,初学者的疑难解答,,2.1.1VC++,,,C++,,,C,,,TC,:跳出这团浆糊,——,认识开发环境和语言的区别,,VC++,,一般是指微软公司的,Visual Studio,开发套件中的,Visual C++,开发环境所谓开发环境,是集成了源代码编辑,编译,链接,调试等功能的一个综合程序Visual,,C++,C++,,是另外一门有些类似,C,语言语法的面向,,对象的高级语言虽然,C,语言不加修改就可以,,被,C++,编译器编译,但,C,和,C++,是完全不同思,,想的两门语言,不应将,C++,看作是,C,的超集C++,,C,就是指,C,语言了C,,TC,是,Borland,公司开发的,C,编程环境,是,Trobe C,的简称一般学习,C,语言,都使用该编程环境,只是这已经算是老古董了,对于现在的操作系统,使用,TC2,来编写程序,已经很不合时宜了,,,,TurboC/C++,,2.1.2IDE-VisualStudio2010,简介,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,安装简单,支持主流操作系统,XP,,,Win7,,,Win8,中文版全中文界面,帮助也是中文,学习简单,代码智能提示,功能强大,Visual Studio 2010,,2.2.1VS2010,下载,百度 网盘下载地址:, VS 2010,打开,选中,setup.exe,选择解压缩打开,,,2.2.3,初始化开始安装,点击安装,Microsoft Visual Studio 2010,,2.2.4VS2010,等待加载,等待它漫长的加载,,2.2.5,加载完成下一步,点击下一步,,2.2.6,同意相关条款,选择同意条款,点击“下一步”按钮,,2.2.7,定制安装选项,硬盘够大的同学选择完全,不够的同学选择自定义,同时可以定制软件安装路径,,2.2.8,定制安装的功能,在这里可以定制安装哪些,不安装哪些,必须勾选,Visual C++,,2.2.9,开始安装,开始安装,忍耐,等待,,2.2.10,处理重启,如果提示重启,则重启,,2.2.11,继续安装,继续安装,,2.2.12,安装完成,大功告成,可以继续安装文档,可装可不装,点击安装文档选择相关文档安装即可,,2.2.13VS2010,启动画面,,2.3VisualStudo2010,开发环境,,2.3.1VS2010,新建项目,,2.3.2VS2010,项目窗口,,2.4HelloWorld,案例的代码,,项目名称不能包含任何非字母数字字符(包括“,.”,和“,..”,),并且它们的长度不能超过,256,个字符,#include /*,包含该头文件的目的是使用了函数,printf*/,,,/*,空行,主要是为了分隔,编译器忽略。

      /,,void main(void),,/*,主函数,入口点*,/,,{,,/*,函数开始*,/,,,printf("\nHello World!");,,/*,打印字符串*,/,,},,,2.4.1HelloWorld,代码概貌,很短,简单几行文字,就创建了一个可以运行的程序,非常神奇代码虽小,但五脏俱全,综观整个代码,可以总结如下特点:,,(,1,)由单词,符号,空白组成单词以英语单词为主,有的单词就是纯正的英语单词,如,main,、,void,、,include,;有的不是,如,getchar,、,pringf,单词一般都小写代码中的标点符号并不是随意输入的每个符号在,C,中都有自己的含义中出现的符号,有“,#”,、“,”,、“()”、“,\”,、“,/*”,、“*,/”,、“,{}”,、“,;”,、“””单词与单词之间用空白分隔,空白可以是空格,也可以是,Tab,制表符空白的个数没有限制2,)如同阅读小说一样,,C,源代码也是从上往下阅读也就是,C,源代码的先后顺序是有讲究的行与行之间也可以有空白行空白行数也是没有限制的有的行顶格书写,有的行却又后退了几个空格,这种后退,称为“缩进”。

      如何缩进,这些也都是有讲究的3,)并没有专门的标志表示文件从哪里起始,也没有标志表示文件到哪里结束从第一个字符开始,文件就开始了,到最后一个字符结束,文件就结束了2.4.2HelloWorld,代码解析,先看下面的代码段,这段代码是从中截取过来的,为了学习方便,去掉了注释部分:,,void main(void),,{,,printf("\nHello World!");,,getchar();,,},,void main(void) { … },这一段是在定义,C,程序的主函数函数是可以完成一定功能的子程序Main,函数是,C,语言程序的起始执行点每一个,C,程序必须有且仅有一个,main,函数,它是由程序员提供的2.4.3,注释,-,程序员的解释,出现最多的是“,/*”,和“*,/”,包裹起来的中文语句,这些是注释注释是帮助程序员阅读源代码和理解源代码的编译器在编译源代码的时候,在目标代码生成以前,会把注释剔除掉然后再进行编译,当然编译器是不会修改源文件的,这一切是在内存中完成由于对于注释部分忽略不处理,就如同没有这些字符一样,所以注释不会增加编译后的程序的可执行代码长度,对程序运行不起任何作用,。

      注释分为两种,//,/**/,,2.4.4,屏幕上显示文字,-,函数调用,Main,函数体中:,,printf("\nHello World!");,,这行是调用了,C,语言提供的打印数输出函数,该函数的名字是“,printf”,,小括号内双引号括起来的文字是,printf,函数的参数该函数的功能是把小括号里的文字原样打印在屏幕上也就是说双引号里的内容变化,则打印在屏幕上的文字也会变化请读者自己试验修改双引号里的文字说明:“,\n”,在这里有特殊的含义,读者可以发现“,\n”,并没有在屏幕中打印出来\n”,中的“,\”,是转义字符,表示其后面紧跟的字符有专门的意思\n”,表示将光标移到第二行第一格也就是回车换行的意思2.4.5#include,有什么用,源代码最终是需要被编译器处理的编译器编译的过程比较复杂,但一般需要经历好几步第一步是预处理所谓预处理,就是编译前,先进行些预先处理,如代替源代码中需要代替的部分include,就是这么一个预处理指示指令为了弄清楚,#include,的作用,现在请读者思考一个问题:编译器如何知道有,printf,这个函数?,,2.4.6,怎么找到函数,试验,修改,printf,为其他单词,如,printfitcast,,则在编译的时候,编译器会返回错误:,,,,,出现一个错误,调用了一个没有定义的函数,printfitcast,。

      Bug,的英文意思是臭虫,被引入到计算机领域,需要追溯到第一代计算机时代当时的计算机是由许多真空管构成,需要利用大量的电力使真空管发光某天,一只虫子爬进了其中的某只真空管中,计算机于是停止工作了研究人员耗费很长时间,找来找去,一处地方一处地方排查,最后终于发现了这个虫子,取出虫子后,计算机就恢复了正常于是,bug,这个词语就在计算机领域中代表了隐藏的错误、缺陷、漏洞或者问题把排除错误的过程称为,debug,断点是为了方便程序员在调试过程中观察程序内部各状态而专门设置的一种调试手段也就是在调试模式下运行程序过程中,当程序语句运行到设置的断点后,暂停程序运行,但是程序当时的内存、寄存器、上下文环境等数据都被保持,并且在源代码编辑器中指示出当前停留在代码的哪一行然后程序员就可以不慌不忙利用调试器查看程序内部状态2.4.7#include,是用于做啥,做一个试验:将中的第一行代码删除掉就是去掉了“,#include ”,,再编译看出现什么现象是不是编译器又提示缺少函数原型:,,,,,#include,的作用,,#include,是,C,语言预处理器指示符和,include,之间可以有多个空格也不一定要顶格,但是一定是第一个非空白字符。

      include,的作用,是告诉编译器在编译前,要做些预先处理:将后面,,中的文件内容包含到当前文件内所谓包含,是指将,,中列出的文件的内容复制到当前文件里注意:,#,一定要是第一个非空白字符否则编译器会提示错误,并且错误信息和出错原因完全不匹配因为,getchar,和,printf,两个函数的声明位于,stdio.h,文件中,所以简单的用,#include,把,stdio.h,文件包含进来,自然就把,getchar,和,printf,两个函数的声明包含进来了说明:函数声明只是向编译器登记有这么一个函数,声明了函数不调用这个函数,是被容许的这就是为什么包含了整个,stdio.h,文件,里面声明了很多其他函数,但实际没有使用这些函数而编译器又不提示的原因预处理指令 例如包含头文件,,全局声明 在函数之外进行的数据声明,,函数定义 函数用来实现功能,必须包含一个,main,函数(只能有一个),,每个函数都用来实现若干特定功能,,被调用的函数可以是库函数,也可以是自己编制设计的函数,,程序总是从,main,函数开始执行,C,程序书写格式是比较自由的,一行可以几个语句,便于阅读只写一行,,数据声明和语句最后必须有分号,,,C,语言本身不提供输入输出语句,,程序应当包含注释,增加可读性,一个程序由一个或多个源程序文件组成,函数是,C,程序的主要组成部分,,C,程序对计算机的操作由,C,语句完成,01,02,03,2.4.8 C,程序结构,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,问题分析,解决什么问题,怎么解决,编写程序,分析结果,结果错了,程序肯定错,,结果对了,程序未必对,设计算法,对源程序进行编辑、编译和连接,,,,,2.5C,语言的编程流程,,2.5.1,数据结构与算法,,,,,,,,,,对数据的描述,,,对操作的描述,算法,+,数据结构,=,程序,在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,,这就是数据结构,(data structure),即要求计算机进行操作的步骤,,也就是算法,(algorithm),语言只是程序工具,程序,,,,,程序设计方法,语言工具,,数据结构,,算法,,,,,1,2,3,4,C,语言,,C++,语言,,面向过程,,,面向对象,,二叉树,,队列,,栈,,红黑树,,,链表,,等等,,快速排序算法,,冒泡排序算法,,选择排序算法,,等等,,,算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识,.,2.5.2,一个程序设计人员应具备的知识,,2.5.3,算法示例,,,,,,,,,,,笨办法,,,聪明的办法,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,无论什么方法都是解决问题,问题,,,,有穷性。

      一个算法应包含有限的操作步骤,而不能是无限的,确定性算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的有零个或多个输入所谓输入是指在执行算法时需要从外界取得必要的信息有一个或多个输出算法的目的是为了求解,“解” 就是输出没有输出的算法是没有意义的算法中的每一个步骤都应当能有效地执行,并得到确定的结果,Description of the contents,一个有效算法应该具有以下特点,.,2.5.4,算法的特点,,,,面向过程的编程语言,程序设计方法,,结构化编码,,,,模块化设计,,,自顶向下,,,逐步细化,,2.5.5C,语言是面向过程的编程语言,,2.5.6C,语言编程步骤,,,,从,.obj,链接成,.exe,,如果调试出现问题,就返回源码编辑,,编辑源代码,,编译源文件,,链接生成应,,用程序,代码在,.c,与,.h,头文件中写好了以后,从,.c,.h,文件编译成,.obj,代码被编译为二进制文件,.obj,以后,打包一些调用的库,链接成,.exe,可执行文件,C,语言的编程步骤需要三个步骤,,,,,,,,,,,,,,,,,.CPP,.C,文件,C,语言与,C++,语言,.CPP,是,C++,的源文件,,C++,语言兼容,C,语言,编写,C,语言代码可以用,C++,的源文件,.CPP,。

      C++,语言兼容,C,语言,,C,语言是面向过程,,C++,语言既能面向过程也可以面向对象C,是纯粹的,C,语言文件,不可以有,C++,语言的代码,默认自带一些库文件2.5.7 .C,与,.CPP,文件的差别,,2.6,初学者疑惑,,集成开发环境,例如,VisualStudio2010,就是一个,IDE.,,,,IDE,,所有的代码字符必须在英文状态下输入,否则会因为全角半角问题报错,例如输出中文“传智播客”,,,,代码,-,字符,,学习,C++,之前,必须先学,C,语言,不懂,C,语言的精髓,难以用好,C++.,,,,可以直接学,C++,?,,学会编写代码,用代码解决问题,是最快的学习途径,.,,,,C/C++,的学习秘诀,,,,,,,,,,,,,,,,,,1.,2.,3.,新建一个工程,以,.CPP,文件作为源文件,打印出,Hello China,新建一个工程,以,.C,文件作为源文件,打印出自己的姓名,年龄,性别,身高,体重,爱好,籍贯,新建一个工程,以,.C,文件作为源文件,打印出,Hello,,传智播客,2.6.1,练习作业,传智播客创始人张孝祥老师的理念就是帮助每一位学员都成功。

      帮助每一位学员都少走弯路C,语言,C++,语言,高薪就业,谢谢!,传智播客,,,。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.